新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 一種基于FPGA的CAN總線通信接口的設(shè)計

一種基于FPGA的CAN總線通信接口的設(shè)計

作者: 時間:2010-12-21 來源:網(wǎng)絡 收藏

  是現(xiàn)場總線的一種,因為其成本低、容錯能力強、支持分布式控制、通信速率高等優(yōu)點在汽車、工業(yè)控制、航天等領(lǐng)域得到廣泛應用。但是計算機沒有接口,為了進行的調(diào)試,必須具有專用的適配卡才能實現(xiàn)與計算機的通信。目前常用的CAN轉(zhuǎn)換器是基于單片機設(shè)計的,一般只適用于單路CAN總線的數(shù)據(jù)轉(zhuǎn)換,可擴展性差。

  在小衛(wèi)星相機下位機系統(tǒng)中使用了多種總線,如CAN總線與衛(wèi)星管理計算機的通信;RS422(或RS485)總線與成像單元等下行單元的通信。在進行相機下位機系統(tǒng)地面調(diào)試時,可能需要多種總線轉(zhuǎn)換器。采用將不同總線協(xié)議轉(zhuǎn)換成USB2.0、RS232等可與計算機直接交換數(shù)據(jù)的協(xié)議,可增強設(shè)計的靈活性,降低設(shè)計的成本和復雜性,且可實現(xiàn)多路總線的數(shù)據(jù)。

  這里以CAN總線為例,詳細論述了基于的CAN總線轉(zhuǎn)換USB接口的設(shè)計方案。

  1 系統(tǒng)硬件組成

  實現(xiàn)CAN總線與計算機雙向的核心是。它首先接收來自CAN總線的數(shù)據(jù),保存在FPGA內(nèi)部設(shè)計的FIF0緩存中,經(jīng)過內(nèi)部數(shù)據(jù)格式的轉(zhuǎn)換后,由USB控制器讀取并上傳給計算機。而總線數(shù)據(jù)注入過程的數(shù)據(jù)流向與之相反。FPCA選用Xilinx公司的Spartan3的XC3S200,系統(tǒng)硬件結(jié)構(gòu)如圖l所示。

系統(tǒng)硬件結(jié)構(gòu)

  1.1 USB接口電路

  USB是一種支持即插即用及熱插拔的串行總線,它具有傳輸速率高、連接靈活、使用方便等優(yōu)點。CYPRESS公司的EZ-USB芯片CY7C68013A支持USB2.0協(xié)議,通信可靠,傳輸速率可達480 Mb/s。CY7C68013A工作在SLAVE FIF0異步通信方式下,接口電路如圖2所示。

接口電路

  SLAVE FIFO異步寫周期中,高電平需維持70ns,低電平需維持50ns,理論最高傳輸速率為8Mb/s,而CAN總線的最高傳輸速率為1Mb/s,符合通信要求。端口PA0~PA1用作USB控制器端向FPGA發(fā)送讀寫命令的控制線,由USB固件程序配合上位機端自定義請求代碼產(chǎn)生PA端口的控制信號。另外使用了EEPROM芯片24LC128存放USB固件程序。


上一頁 1 2 3 4 5 下一頁

關(guān)鍵詞: FPGA CAN總線 通信接口

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉