潘忠英
(山西工程職業學院,計算機工程系,山西 太原 030009)
工業智能化推進過程中,在采集不同設備的數據進行傳輸時,為了提高傳輸速率、降低功耗,需選定合適的總線進行信息交互。不同的總線進行信息交互時,由于數據傳輸格式存在較大的差異,無法直接通訊,因此需要對傳輸數據進行格式轉化。綜控機與其他設備互聯時,一般采用計算機上特定有限的接口作為通訊方式,CAN 口通訊簡單、糾錯力度大、抗干擾能力強。當設備連接復雜度程度較高時,綜控機需要擴展性更高的接口來實現通訊。以太網傳輸速率快,能夠解決通訊節點增加導致的速率及功耗問題。目前對于CAN總線與以太網之間的通訊設計,一般采用ARM 芯片作為CPU 進行軟件設計。但考慮到FPGA 芯片具有開發周期短,編程靈活且成本低的特點,系統選用FPGA芯片作為時序控制核心,實現各個總線的底層協議以及不同協議之間的數據轉換交互。
以太網與CAN 總線信息交互的總體設計框圖如圖1所示。

圖1 系統總體設計框圖
系統采用復旦微電子生產的國產FPGA 芯片作為邏輯控制核心,型號為FMK50。軟件設計由以太網收發模塊、CAN 收發模塊、數據轉換模塊等構成。系統上電后,由綜控機通過網口發送數據包給FPGA,FPGA 通過以太網控制模塊不斷查詢線上是否有新的數據,為匹配數據傳輸速率,采用緩存模塊對接收到的以太網數據報文進行暫存。FPGA 采用數據轉換模塊對UDP 報文進行數據提取,并按照CAN 總線通訊協議對數據重新進行打包封裝,發送給CAN控制器模塊實現數據的發送。……