段鑫
(長沙碩博電機有限公司,湖南長沙,410221)
隨著車輛的智能化和集成化的發展,對控制和通信總線的要求越來越高,目前廣泛使用的CAN總線已很難滿足技術發展的需求。如總線最高速率只有1Mbps;數據傳輸是基于響應優先級和報文仲裁,數據延時具有不確定性;最高的有效傳輸效率只有50%等[2]。FlexRay總線在這種情況下應運而生,它采用時分基址的機制進行通信,具有實時性、可靠性、靈活性、高帶寬、高容錯性等優勢,最高具有20Mbps的速率。具備冗余設計,多種拓撲連接方式,在節點布置上更加靈活[3]。
目前乘用車如奔馳、寶馬、領克等多種國內外品牌的部分車型核心控制通信都升級為FlexRay總線[4],但是由于零部件供應商的技術革新速度及成本問題,車輛上還存在CAN總線等要求不高設備,在進行車輛檢修和診斷時,總線數據要分開處理解析,不能集成化解決。
本分析儀具備一個USB模塊,用于和電腦端上位機進行通信;一個CAN接口(終端電阻可以配置),用于和被測設備CAN總線進連接,一個FlexRay接口(終端電阻可以配置),用于和被測設備FlexRay總線連接;一個Flash模塊,用于存儲CAN和FlexRay配置信息。系統框圖如圖1所示。

圖1 系統框圖
電腦端上位機軟件通過配置軟件配置好CAN和FlexRay總線網絡信息。分別啟動總線后,分析儀的CAN和FlexRay接口將被測總線上的數據接收到主控芯片,主控芯片將數據在通過FIFO的形式,通過USB接口上傳到電腦端上位機軟件,電腦端上位機軟件接收到上傳的數據后,分別進行分析處理。
FlexRay的最高速率達到20Mpbs,數據量一幀最大有254字節,而且還需要對CAN數據進行分析和USB數據的上傳,本分析儀需要一顆處理能力強的主控芯片,本分析儀采用兆易創新公司的GD32F407VGT6芯片,此芯片主頻為168MHz,一路USB主/從外設,2路CAN總線,3路SPI總線,內核為ARM Cortex-M4,具有很強的數據處理能力。
本分析儀采用電腦USB口進行供電,供電電源為DC5V,最大電流500mA。為防止燒毀電腦USB口,在電源電路上需設計一個自恢復保險。選用A250-200,額定電流200mA,動作電流400mA,可有效保護電腦USB端口。
為保證系統的穩定性,外部總線接口電源和內部電源隔離。系統內部需要用到的電源有DC3.3V,DC5V,隔離總線需要用到的電源有DC5V,DC12V。電源原理圖如圖2所示。

圖2 電源原理圖
GD32F407芯片自帶CAN控制器,外部只需擴展CAN物理層處理電路。CAN接口是對外的,為提高抗干擾能力,此接口需做隔離處理,隔離芯片采用納芯微電子的容耦技術隔離芯片NSi8021,該芯片的數據速率:10Mbps,隔離電壓:3kVrms;共模抑制比:100kV/us。
CAN物理層芯片選用芯力特的SIT82C251,此芯片最高支持1Mbps波特率,完全兼容“ISO 11898-24 V”標準,至少允許 110 個節點連接到總線,具有高抗電磁干擾能力。可應用于卡車、公 交、小汽車、工業控制等領域。
CAN隔離及物理層原理圖如圖3所示。

圖3 CAN隔離及物理層原理圖
FlexRay控制器采用恩智浦MFR4310芯片,此芯片支持可變比特率:2.5、5、8和10 Mbps、128個可配置消息緩沖區、兩個獨立的接收FIFO,可分別對應2個獨立的收發通道。GD32F407VGT6芯片通過EXMC并行接口和MFR4310進行數據交互,當有事件產生時,通過中斷的方式通知主控芯片進行處理。當A、B兩通道復用時,FlexRay總線的速率最大20Mpbs。FlexRay控制器電路如圖4所示。

圖4 FlexRay控制器電路
為增加硬件的可靠性,FlexRay總線采用信號隔離設計,為減少波形畸變和信號延時,采用數據速率為150Mpbs的納芯微電子數字隔離芯片NSI8142做隔離。該芯片具有4通道:兩路輸入,兩路輸出。兩路輸入用于接收和接收使能信號,兩路輸出用于發送和發送使能信號,單片芯片剛好滿足一路FlexRay電路隔離需求。隔離電路如圖5所示。

圖5 FlexRay隔離電路圖
FlexRay物理層芯片采用恩智浦的TJA1080A芯片,總線對外接口的終端電阻通過開關選擇使用,物理層驅動電路如圖6所示。

圖6 FlexRay物理層電路圖
GD32F407VGT6芯片具有USB主/從設備控制器,為防止浪涌電壓沖擊,USB接口需要增加保護芯片,保護芯片采用臺舟電子的PRTR5V0U2X,USB電路如圖7所示。

圖7 測試用戶界面

圖7 USB接口電路圖
Flash電路用于存儲總線通信配置參數,采用兆易創新的串行Flash芯片GD25Q32CSIGR,此芯片具有32Mbit存儲資源,每頁具有256字節。該芯片通過SPI接口和主控芯片連接,電路圖如圖8所示。

圖8 串行Flash電路圖
軟件分為兩部分:下位機軟件,運行在分析儀硬件上;上位機軟件,運行在電腦端。
下位機軟件由CAN總線驅動、CAN數 據FIFO結 構、FlexRay總線驅動、FlexRay數據FIFO結構、USB從設備驅動和數據結構、Flash驅動等。軟件框圖如圖9所示。

圖9 軟件框圖
電腦端上位機軟件通過USB接口將總線的配置數據發送下來,并存儲到Flash中。在上電時,分析儀將從Flash中直接讀取設置的參數進行網絡的初始化,避免重復的網絡參數設置(FlexRay網絡參數多,重復設置麻煩)。
CAN總線根據設置的波特率、ID濾波方式,工作模式(只接收,只發送,正常接收),進行CAN控制器的初始化,采用64級FIFO模式,將數據進行先入先出的管理,能有效防止數據被覆蓋。
FlexRay總線需要設置正確的網絡參數才能進行通信。網絡參數包含全局網絡參數和局部網絡參數,例如:周期、靜態時隙個數、靜態時槽長度、靜態時隙數據個數、動態時隙個數、動態時槽長度、動態時隙數據個數、網絡向量長度等等。
FlexRay通過兩個獨立的MFR4310內部接收FIFO分別接收通道A和通道B中的數據,通過中斷的方式通知主控制芯片提取數據,主控芯片接收到FIFO中斷時,將數據從并口取出,并存入到主控芯片內部建立的256級FIFO中,FIFO數據以模擬中斷的形式傳輸到電腦端上位機軟件。
當需要模擬節點發送時,FlexRay發送時隙配置到128個消息郵箱中,通過映射對應關系,將需要發送的時隙數據發送到FlexRay總線中。
分析儀電腦端上位機軟件主界面如圖10所示。

圖10 電腦端上位機軟件主界面
參數設置項的功能:配置CAN和FlexRay總線網絡參數;數據顯示項的功能:接收兩個總線的數據并顯示,并按需要記錄接收到的數據;數據發送項的功能:配置總線發送數據,并可設置發送方式、次數等;CAN數據波形顯示項的功能:從CAN總線接收到數據選擇出關鍵數據以波形的形式顯示;FlexRay數據波形顯示項的功能:從FlexRay總線接收到數據選擇出關鍵數據以波形的形式顯示;歷史數據分析項的功能為:將保存的數據打開進行數據回放分析;固件升級項的功能:對分析儀進行軟件更新;幫助項的功能:軟件各個界面下每個組件的功能介紹,幫助用戶快速使用軟件。
本設計完成了一種FlexRay和CAN綜合分析儀,大部分元器件采用國產化設計,相對國外的CANoe設備而言,具有非常大的經濟實用價值,國內暫時還沒有FlexRay專用分析儀產品面世。而且這款分析儀可同時對FlexRay和CAN總線進行數據分析,在具有FlexRay總線的車輛設計、調試、檢修等過程中使用更加便捷。
本設計中上位機軟件功能還不夠完善,只能完成初步數據分析功能,后續還需增加專用協議解析、節點模擬等功能,界面還需進行美化。