• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于FPGA的CAN總線通信系統(tǒng)的設計

      2015-12-02 20:46:40時旭付成偉
      現(xiàn)代電子技術 2015年22期
      關鍵詞:數(shù)據(jù)通信

      時旭++付成偉

      摘 要: 為了避免單片機的缺陷,同時滿足工業(yè)上穩(wěn)定,精確的數(shù)據(jù)通信需求,在此提出了基于FPGA的通信系統(tǒng),通過控制CAN控制器SJA1000,從而實現(xiàn)CAN總線的數(shù)據(jù)通信的設計。介紹了該系統(tǒng)的硬件結構和設計原理,針對FPGA的控制流程和原理進行了分析和設計;實驗結果顯示,該CAN通信系統(tǒng)滿足通信需求,較以往的單片機CAN通信系統(tǒng)具有更高性能和優(yōu)越性。

      關鍵詞: FPGA; CAN總線通信; CAN控制器; 數(shù)據(jù)通信

      中圖分類號: TN958?34; TP391.4 文獻標識碼: A 文章編號: 1004?373X(2015)22?0059?03

      0 引 言

      CAN總線全稱為控制器局域網(wǎng)是一個可以多個主機同時使用的異步串行總線,是在國際上被應用最廣泛的現(xiàn)場總線之一;而且其同時也是惟一被ISO國際標準化組織批準的現(xiàn)場總線。由于其優(yōu)良的性能及獨特的設計,CAN總線已經(jīng)被廣泛地應用在控制系統(tǒng)中。通常CAN總線的數(shù)據(jù)通信系統(tǒng)采用的是MCU(STM32等單片機)+CAN控制器(SJA1000)+CAN收發(fā)器(CTM8251T)的方案,但是單片機有諸多缺點的;所以本平臺提出的設計方案采用FPGA(主控芯片)+CAN控制器(SJA1000)+CAN收發(fā)器(CTM8251T)的通信方案。與原始的通信方案相比,由于FPGA運行速度快、運算能力強、管腳相比單片機要更加豐富、在設計和實現(xiàn)大規(guī)模系統(tǒng)上更加出眾,同時FPGA內部在執(zhí)行程序時是并行運行的、在處理復雜邏輯上更突出,并且運行時系統(tǒng)的穩(wěn)定性高,后期的擴展更加方便,所以本設計選用FPGA作為總體的模塊控制器。

      1 系統(tǒng)硬件設計

      整個系統(tǒng)的總體硬件結構設計圖如圖1所示。

      其中在硬件的選取上,F(xiàn)PGA模塊使用的是以EP3C25為主芯片的EP3C25Q240芯片,采用EPCS16作為內部的配置芯片。芯片的等效邏輯門數(shù)量龐大,大約為65萬門級,I/O口更是達到了173個,同時擁有4個PLL。其不僅功能強大,而且對后期的功能擴展和開發(fā)提供了便利的條件。因為電源模塊沒有特別的要求,采用LM1117(3.3 V)和LM1117(5 V),前者是將5 V轉換成3.3 V,后者是將12 V轉換成5 V。這兩款芯片負責給除FPGA以外所有硬件供電,而FPGA應用自己本身的5 V電源進行供電。因為FPGA的I/O需要連接3.3 V,而CAN控制器輸出電壓為5 V,如果直接相連會導致I/O口燒毀,對FPGA造成損壞。所以通過一個電平轉換器將電壓轉換成3.3 V,電平轉換器選用SN74ALVC164245,這款電平轉換器具有三態(tài)輸出16位2.5~3.3 V或3.3~5 V電平轉換收發(fā)器,非常適用于本設計。

      CAN控制器選用Philips公司的SJA1000,CAN收發(fā)器選用的是CTM8251。CTM8251這款芯片本身帶有隔離,抗干擾能力強,所以不需要設計隔離電路。為了避免干擾,提高CAN收發(fā)器接受的數(shù)據(jù)更加準確、穩(wěn)定,在CTM8251的CAN_H,CAN_L之間連接一個120 Ω的阻抗匹配電阻。在使用SJA1000時,將RX1管腳接地,啟用它的旁路功能,這樣可以減少數(shù)據(jù)傳送延時,提高通信的長度。最后進行試驗,實驗表明硬件設計可以實現(xiàn)CAN總線的數(shù)據(jù)通信。

      2 FPGA控制程序和邏輯原理

      本設計的核心是保證FPGA與SJA1000之間的準確通信,為了保證FPGA與SJA1000之間能夠準確無誤的通信,在他們之間進行數(shù)據(jù)通信時,必須要按照SJA1000的時序邏輯進行通信。SJA1000的地址總線和地數(shù)據(jù)總線使用的是同一個總線而且是并行總線。在進行硬件連接、讀/寫操作時,采用的SJA1000工作模式為INTERL模式。該模式下的信號有[RD],[WR],ALE,[CS],ADD和DATA。[RD]為讀信號,低電平有效;[WR]為寫信號,低電平有效;ALE為地址鎖存,下降沿有效;[CS]為片選,低電平有效;ADD是地址總線;DATA為數(shù)據(jù)總線。在編寫FPGA的控制邏輯時,需要嚴格根按照SJA1000的讀/寫時序圖。如圖2為SJA1000讀周期時的時序圖,圖3是其寫周期時的時序圖。

      對SJA1000進行寫操作時的狀態(tài)圖如圖4所示。根據(jù)ALE,[RD],[WR]和[CS]的狀態(tài),進行狀態(tài)機的轉移。

      在系統(tǒng)啟動時,程序首先對SJA1000進行初始化,初始化完成后,進行查詢,檢測ALE管腳的狀態(tài),當ALE出現(xiàn)低電平時,地址總線被鎖定,并將此時的地址總線上的數(shù)據(jù)傳輸?shù)絊JA1000,否則程序會保持在查詢狀態(tài);地址數(shù)據(jù)傳輸后,進入等待的狀態(tài)機中,在等待狀態(tài),地址已經(jīng)被鎖定,設置好片選信號,同時檢測寫操作[WR]的信號時鐘狀態(tài),當寫操作的信號為有效時,進入寫操作狀態(tài),在寫操作狀態(tài),檢測WR信號,當WR信號出現(xiàn)低電平時,將數(shù)據(jù)鎖定,并將數(shù)據(jù)傳輸?shù)絊JA1000,數(shù)據(jù)處理則是當查詢到發(fā)送緩沖區(qū)有數(shù)據(jù)后,寫入幀數(shù)據(jù),同時對數(shù)據(jù)幀進行處理,而緩沖區(qū)則是在數(shù)據(jù)處理完成后將緩沖區(qū)進行釋放。這樣FPGA內部程序就通過狀態(tài)機的轉移完成SJA1000數(shù)據(jù)的寫操作。根據(jù)同樣的原理可以利用FPGA對SJA1000進行數(shù)據(jù)的讀操作。讀過程中根據(jù)的是3 程序仿真

      本設計在Quartus 8.0和Modelsim軟件上進行程序的編寫和程序的綜合及仿真,并在實際應用上得到了驗證。驗證過正中,應用周立功的USB?CAN Ⅱ和上位機的ZLGCAN軟件進行CAN總線的數(shù)據(jù)通信,同時應用ChipScope軟件進行數(shù)據(jù)監(jiān)控和測試,采用的測試數(shù)據(jù)為00,01,02,03,04,05,06,07,這樣的數(shù)據(jù)既容易觀察又可以驗證通信的準確性。數(shù)據(jù)波形如圖6所示。

      4 結 語

      該設計采用以FPGA(EP3C25)作為系統(tǒng)的主控制器,滿足了系統(tǒng)的需求。與以MCU為控制器的原始系統(tǒng)相比,主控制器的功能和運算能力更加強大;同時本設計在硬件結構上進行了改進,使通信速度和通信的最大長度得到提升,而且本設計運行的穩(wěn)定性高,擴展性強,應用市場更加廣泛,為CAN總線的通信方式提供了更好的應用基礎。

      參考文獻

      [1] 劉濤.CAN總線接口電路設計中的關鍵問題[J].工礦自動化,2007(2):100?101.

      [2] 張培坤,高偉,宋宗喜,等.基于FPGA的CAN總線通信節(jié)點設計[J].儀表技術與傳感器,2010(12):68?70.

      [3] 楊恒.FPGA/CPLD 最新實用技術指南[M].北京:清華大學出版社,2005.

      [4] 張紹忠,王輝.基于SJA1000的CAN總線智能節(jié)點實現(xiàn)[J].電子技術應用,2006(8):22?24.

      [5] 鄔寬明.CAN 總線原理和應用系統(tǒng)設計[M].北京:北京航空航天大學出版社,1996.

      [6] 劉向明,方建安.CAN總線網(wǎng)絡的實時性研究和改進[J].現(xiàn)代電子技術,2011,34(22):46?49.

      [7] 邱浩淼.基于CAN總線的在線更新機制的設計與實現(xiàn)[J].現(xiàn)代電子技術,2013,36(12):78?80.

      猜你喜歡
      數(shù)據(jù)通信
      基于快牙平臺實現(xiàn)全站儀與計算機的數(shù)據(jù)通信
      工程與建設(2019年3期)2019-10-10 01:40:18
      監(jiān)測系統(tǒng)接口數(shù)據(jù)通信方式
      一種高效可靠的串行數(shù)據(jù)通信協(xié)議及處理算法
      TCN實時協(xié)議棧過程數(shù)據(jù)通信研究
      廣州蓄能水電廠B廠電能表數(shù)據(jù)通信研究與應用
      ZigBee手持終端數(shù)據(jù)通信模塊設計
      江西省| 辰溪县| 嘉定区| 色达县| 万荣县| 新河县| 滁州市| 巴东县| 台湾省| 井研县| 隆尧县| 博客| 耿马| 新竹市| 博白县| 龙胜| 景洪市| 米易县| 井研县| 洪洞县| 遵化市| 嘉峪关市| 石渠县| 松阳县| 赞皇县| 修武县| 巩义市| 获嘉县| 德化县| 东乡| 岳阳市| 武夷山市| 苍溪县| 绥芬河市| 措美县| 安义县| 裕民县| 莲花县| 光泽县| 平昌县| 平陆县|