在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于QuartusⅡ和控制器實現總線通訊板的設計

電子設計 ? 來源:現代電子技術 ? 作者:徐軍濤,許化龍 ? 2021-06-08 15:43 ? 次閱讀

PC/104嵌入式控制PC出現于20世紀80年代末,并于1992年形成IEEEP966.1標準。它一方面繼承了PC的所有資源,另一方面又對PC的各個方面做了優化設計,使其與IBM PC完全兼容,并具有體積小,功耗低,工作溫度寬,可靠性高等特點。采用了獨特的“自棧式”總線連接、模塊化結構,使用起來靈活方便;采用面向對象的硬件設計方法,使得在PC/104標準上開發的擴展模塊具有更強的通用性和更長的生命期;它以其優良的品質、高可靠性及模塊化,廣泛應用于工業控制、航空航天、軍事、醫療、消防設備、智能儀器儀表、導航、通訊、數控、自動化生產設備、便攜式計算機等領域。

CAN(Controller Area Network)總線是一種有效支持分布控制或實時控制的串行通信網絡,采用多主協議,廢除了傳統的站地址編碼,而采用對通信數據塊進行編碼的方法,使網絡內節點個數在理論上不受限制。它具有總線仲裁、錯誤檢測、自動重發等功能。由于采用了許多新技術及獨特的設計,CAN總線具有高實時性、卓越性能、高可靠性、能獨特靈活設汁和低廉價格,已廣泛應用于工業現場、控制、智能大廈、小區安防、交通工具、醫療儀器、環境監控等眾多領域。目前,它已被公認為是幾種最有前途的現場總線之一。隨著科技的發展,同一系統應用多種總線技術已經成為一種趨勢。本設計利用FPGA完成PC/104總線和CAN總線之間的相互通訊,將兩總線相結合,優勢互補,使兩總線有更大應用價值和更廣闊的使用前景。

1 硬件設計

1.1 系統硬件結構

本設計采用PC/104模板形式,具有很強的方便性和可擴展性,其系統的硬件結構如圖1所示。

由于PC/104總線采用的是地址數據總線分離的總線結構,而CAN總線協議控制器SJA1000T采用的是地址數據總線分時復用的總線結構,因此系統使用FPGA器件EP20K100實現總線轉換和時序邏輯控制轉換。該通訊板采用I/O映射方式,其內部寄存器地址為280H~2BFH。為了增強系統的抗干擾能力,在控制器SJA1000T與收發器82C250之間接入光電耦合器6N137。光耦6N137的上升時間典型值為30 ns,隔離電壓為3 000 V,其支持最大頻率值超過30 MHz。

1.2 FPGA設計

QuartusⅡ是Altera公司在21世紀初推出的FP-GA/CPLD開發環境,是Altera前一代FPGA/CPLD集成開發環境MAx+PlusⅡ的更新換代產品,其功能強大,界面友好,使用便捷。QuartusⅡ軟件集成了Al-tera的FPGA/CPLD開發流程中所涉及的所有工具和第三方軟件接口。QuartusⅡ軟件的開發流程如圖2所示。

采用原理圖輸入和硬件描述語言相結合的方式,進行編譯后寫人器件中;同時可在線更改寫入內容,修改和調試簡單易行。FPGA的設計主要由兩部分組成:第一部分實現時序邏輯控制信號的轉換,第二部分實現地址譯碼和地址數據線的復用。QuartusⅡ圖表文件及器件管腳如圖3所示。

由于PC/104的地址總線和數據總線是各自獨立的,SJA1000T的地址總線和數據總線是分時復用的,所以它們之間不能直接相連,必須通過時序邏輯控制,再配合軟件來實現讀/寫操作。對SJA1000T的操作方法是:首先,對地址為CAN首地址+0(A2A1A0=000)的端口進行寫操作(WR為低,有效),CANALE為高,有效,此時復用的地址、數據總線上的數據被視為地址信號,進入SJA1000T內部鎖存器;然后,對地址為cAN首地址+1(A2A1A0=001)的端口進行讀或寫操作(RD/WR為低,有效),CANALE為低,上述中的地址信號已被鎖存,此時復用的地址、數據總線上的數據被視為數據信號,這樣即可完成對SJA1000T的各個寄存器和緩沖區的讀或寫操作。

1.3 硬件電路測試

主要檢測硬件結構及電路板設計是否正確。建立一個簡單的通訊連接,將兩個通訊板連接進行測試,用通訊板A作為輸出,通訊板B作為輸入。編程通過通訊板A發送數據,內容為8個隨機數,檢測通訊板B接收數據,如果不同則作加1計數。反之將通訊板B作為輸出,通訊板A作為輸入,進行相同測試。測試200萬次循環未見異常。

2 軟件設計

2.1 軟件流程圖

在該通訊板的設計中,控制部分的核心采用了PC/104嵌入式計算機系統。由于PC/104嵌入式計算機系統幾乎具有和一般的PC機一樣的強大功能,所以該通訊板的開發是在和系統模塊棧接在一起后,直接在嵌入式計算機上進行的。這些工作都是采用C語言進行編程設計的。采用C語言的優點在于其快速性、高效性。在利用嵌入式計算機強大資源的條件下,C語言能滿足模塊的實時性要求。在系統軟件的設計中,采用了結構化、模塊化的設計方法,滿足了儀器功能的要求。本接口系統的軟件任務基本為在CAN協議芯片SJA1000T有中斷發生時,根據SJA1000T的中斷寄存器的內容完成相應的操作(如發送、接收數據幀等)。其流程圖如圖4所示。

系統設計中要進行接口驅動程序的設計,為保證操作系統的穩定和安全,驅動程序必須按一定的規范來編寫。本系統的驅動程序主要考慮以下內容:設置端口和中斷號,設置通訊板通訊默認參數,通訊板內存分配,映射I/O地址,創建通訊板事件和數據接收事件,初始化中斷等。

SJA1000T初始化只有在復位模式下才能進行,初始化主要包括:工作方式的設置、接收濾波方式的設置、接收屏蔽寄存器和接收代碼寄存器的設置、波特率設置和中斷允許寄存器的設置等。SJA1000T在完成初始化后就可以回到工作狀態進行正常的通訊任務了。

2.2 CAN多幀數據通信打包和解包技術

CAN通信數據傳輸采用短幀結構,每幀最多發送8個字節的有效數據,總線的有效傳輸速率很低,當在傳輸的數據量超過8個字節有效數據時,給用戶編程帶來了一定的困難。利用如圖5所示的CAN的數據包格式,只需將待傳輸的數據進行相應的打包和解包操作即可實現數據的單幀和多幀傳輸,有效地簡化了數據通信。

采用如圖5所示的CAN數據包格式,無論是單幀還是多幀傳輸,只要把數據填入相應的發送緩沖區即可,在接收方,則將數據解包并放入接收緩沖區即可。與上述數據包格式相對應,當CAN總線進行多幀傳輸時,其CAN的多幀數據傳輸幀結構如圖6所示。

在圖6中,當發送的有效數據個數不超過4個時,一幀數據即可傳輸;當有效數據超過4個時,則需要多幀傳輸。此處的地址變址是指從發送緩沖區所取的存放于該幀的第一個有效數據的存儲地址相對于緩沖區首地址的偏移量,如第一幀中地址變址為4,第二幀中的地址變址是10。地址變址的設置,使得對數據包的解包和打包實現起來較容易。

3 結 語

該通訊板設計簡單,只需一塊FPGA,一個CAN控制器SJA1000T和收發器PCA82C250,為增強系統的穩定性,在通信通道上均采用光電隔離技術,保護PC機避免因地環流而損壞,增強系統在惡劣環境中使用的可靠性。該通訊板采用的CAN數據包格式提高了總線的有效傳輸速率,經測試達到500 Kb/s,提高了通訊板通訊的實時性。本設計方案已成功應用于工業控制器中,效果理想。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • FPGA
    +關注

    關注

    1630

    文章

    21796

    瀏覽量

    606011
  • 控制器
    +關注

    關注

    112

    文章

    16445

    瀏覽量

    179451
  • 總線
    +關注

    關注

    10

    文章

    2903

    瀏覽量

    88394
收藏 人收藏

    評論

    相關推薦

    車載智能控制器 工程機械控制器 CAN總線控制器 碩博電子 #控制器 #can總線 #國產化替代

    控制器總線
    長沙碩博電子科技股份有限公司
    發布于 :2024年08月29日 10:43:57

    PowerPC 60x總線的存儲控制器的設計與實現

    章介紹了PowerPC 60x 處理總線接口和操作,詳細闡述了60x 總線存儲 控制器在CPLD 上的設計與
    發表于 08-26 10:38 ?58次下載

    PCI總線目標控制器的設計

    本文在PCI2.2 總線規范的基礎上,給出了一種PCI 總線目標控制器的設計方案。重點從控制邏輯和數據通路的建立上闡述了目標控制器的設計:用
    發表于 12-12 16:58 ?33次下載

    PCI總線從設備控制器的設計與實現

    本文重點分析了PCI 總線設備控制器的設計方案。以PCI 總線協議的分析和理解為基礎,對PCI 總線設備控制器進行了功能分析和結構劃分,對P
    發表于 01-13 16:57 ?49次下載

    利用單總線控制器通訊

    利用單總線控制器通訊 本示例的程序采用C 語言編寫,主程序為:“Get Temperature”(獲取溫度),它完成1-Wire 控制器的初始化,搜索1-Wire
    發表于 03-18 10:05 ?27次下載

    基于CAN總線的家庭控制器的設計與實現

    基于CAN總線的家庭控制器的設計與實現  引言   CAN(Controller Area Network)總線是德國Bosch公司為解決現代汽車中眾多的
    發表于 11-07 09:30 ?741次閱讀
    基于CAN<b class='flag-5'>總線</b>的家庭<b class='flag-5'>控制器</b>的設計與<b class='flag-5'>實現</b>

    基于Lonworks總線的模糊控制器實現

    介紹了一種基于Lonworks現場總線的模糊控制器實現方法 該方法采用多級遞階控制結構,利用LON技術提供的DDE 建立現場設備與PC 主機的動態通道,
    發表于 06-18 17:14 ?17次下載
    基于Lonworks<b class='flag-5'>總線</b>的模糊<b class='flag-5'>控制器</b><b class='flag-5'>實現</b>

    FPGA實現CAN總線控制器源碼

    Xilinx FPGA工程例子源碼:FPGA實現CAN總線控制器源碼
    發表于 06-07 14:13 ?92次下載

    基于MCS-51單片機和CAN總線控制器實現總線節點的設計

    CAN(Controller Area Network)即控制器局域網絡。由于其具有較強的抗干擾能力、通訊中沒有地址的概念及節點數不受限制等優點,已經被廣泛應用于汽車、數控機床、儀器儀表、現場總線
    的頭像 發表于 04-12 07:48 ?7485次閱讀
    基于MCS-51單片機和CAN<b class='flag-5'>總線</b><b class='flag-5'>控制器</b><b class='flag-5'>實現</b><b class='flag-5'>總線</b>節點的設計

    采用CAN總線控制器SJA1000實現控制電路接口的設計

    硬件電路的設計主要是CAN通信控制器與微處理之間和CAN總線收發與物理總線之間的接口電路的設計。CAN通信
    發表于 03-13 10:45 ?7958次閱讀
    采用CAN<b class='flag-5'>總線</b><b class='flag-5'>控制器</b>SJA1000<b class='flag-5'>實現</b><b class='flag-5'>控制</b>電路接口的設計

    淺談PCA9564 I2C 總線控制器評估

    PCA9564 評估展示了飛利浦 PCA9564 I2 C 總線控制器在主設備(連接到其并行總線及其控制信號)與任何連接到其 I2 C
    的頭像 發表于 06-17 17:26 ?3446次閱讀
    淺談PCA9564 I2C <b class='flag-5'>總線</b><b class='flag-5'>控制器</b>評估<b class='flag-5'>板</b>

    如何使用FPGA和CAN控制器MCP2515實現慣導系統的CAN總線接口的設計

    接口控制新型的CAN 控制器MCP2515,使慣導系統不僅具備了接入CAN 總線的能力,而且在系統實現之后,節點可以根據現場應用提出的新要求進行升級,增加了使用的靈活性。目前實驗樣機
    發表于 01-27 15:52 ?17次下載
    如何使用FPGA和CAN<b class='flag-5'>控制器</b>MCP2515<b class='flag-5'>實現</b>慣導系統的CAN<b class='flag-5'>總線</b>接口的設計

    如何用FPGA實現CAN總線通信控制器

    CAN 總線插卡可以任意插在 PC AT XT 兼容機上,方便地構成分布式監控系統。因此,用 FPGA 實現 CAN 總線通信控制器具有非常重要的應用價值。本篇將通過一個實例講解利用
    發表于 07-29 09:43 ?2828次閱讀

    plc控制器為什么要帶通訊口?

    plc控制器的工作,其實就是在不斷的重復三個動作,即: (1)輸入采樣 (2)用戶程序執行 (3)輸出刷新 其中,輸入采樣靠的是采集型IO實現的,輸出刷新靠的是輸出IO實現的,用戶程序執行離不開
    的頭像 發表于 02-22 08:15 ?643次閱讀

    CAN總線控制器是什么意思

    CAN總線控制器(Controller Area Network Bus Controller)是CAN總線通信系統中的核心部件,它扮演著接收、處理并轉發CAN總線數據的關鍵角色。下面
    的頭像 發表于 09-03 14:16 ?1267次閱讀
    主站蜘蛛池模板: 啪啪免费网站视频观看 | sihu国产午夜精品一区二区三区 | 色多多网 | 亚洲精品久久久久午夜福 | 2021国内精品久久久久影院 | 丁香六月五月婷婷 | 色免费网站 | 国产成人经典三级在线观看 | 日韩欧美高清色码 | 激情综合激情 | 免费在线观看大片影视大全 | 永久免费视频 | 久久久久久久久久免观看 | 一级毛片一级毛片一级毛片 | 亚洲爽视频 | 男女爱爱是免费看 | 热门国产xvideos中文 | 天天操夜夜操免费视频 | 色综合久久中文综合网 | 就去色播 | 午夜理伦 | 男女视频在线 | 色视频免费国产观看 | 交在线观看网站视频 | 亚洲 欧美 日韩 综合 | 毛色毛片免费观看 | 婷婷色激情 | 国产色婷婷精品综合在线 | 香蕉视频色版在线观看 | 簧片免费视频 | 天天舔天天干 | 国产色秀视频 | 亚洲乱亚洲乱妇41p国产成人 | 国产小视频在线免费观看 | 色天天综合久久久久综合片 | 女人大毛片一级毛片一 | 奇米网在线观看 | 国产日韩欧美一区二区 | 四虎国产精品免费入口 | 久久成人国产精品青青 | 在线欧美激情 |