高 陽,李永紅*,岳鳳英,金志坤,麻少軒
(1.中北大學儀器與電子學院,太原030051;2.中北大學計算機與控制學院,太原030051;3.北京雷博曼科技有限公司,北京100070;4.內蒙古蒙東能源鄂溫克電廠,內蒙古呼倫貝爾021000)
?
基于DSP和FPGA的CAN總線監視系統設計*
高陽1,李永紅1*,岳鳳英2,金志坤3,麻少軒4
(1.中北大學儀器與電子學院,太原030051;2.中北大學計算機與控制學院,太原030051;
3.北京雷博曼科技有限公司,北京100070;4.內蒙古蒙東能源鄂溫克電廠,內蒙古呼倫貝爾021000)
摘要:為了對某武器系統各個節點傳輸的CAN總線數據進行實時監測與精確采集,設計了基于DSP和FPGA的CAN總線監視系統。該系統采用CAN2.0B協議,用以對兩路CAN總線數據進行實時監測與采集。試驗結果表明,該系統可在1 000 kbit/s下正常運行,具有很好的實時性,并且抗干擾能力強,能夠精確測量與采集該武器系統的各項參數,在實際中取得了很好的應用。
關鍵詞:實時監測;數據采集;CAN總線;DSP;FPGA
項目來源:山西省青年基金項目(2012021013-6)
CAN(Controller Area Network)即控制器局部網,是由德國BOSCH公司為實現汽車測量和汽車部件之間的通訊而設計的、支持分布式控制及實時控制的串行通信網絡[1]。目前,在航空航天領域CAN總線技術作為一種新型的現場控制和測量技術,克服了現行遙測系統只有一個主節點、無法構成多主或冗余系統、可靠性差、靈活性差、不能滿足較高的實時性、糾錯能力差等缺陷[2]。因此,CAN總線在航空航天領域得到了廣泛的應用,取得了很好的實際效果。
本系統傳輸和采集兩路CAN總線數據,其中一路為飛控總線,傳輸的是主機向各個節點發送的控制數據,另一路為遙測總線,傳輸的是各個節點的數據和狀態信息。CAN監視系統框圖如圖1所示。遙測總線和飛控總線的數據進入DSP后,DSP將飛控總線的數據直接發給FP?GA,FPGA通過視頻組合輸入的碼脈沖信號和字門信號將飛控數據進行編碼;DSP將遙測數據進行組包并存入RAM中,若DSP收到同步輸入中斷后,DSP將RAM中數據寫入FPGA,FPGA通過視頻組合輸入的碼脈沖信號和字門信號將遙測數據進行編碼。最后將兩路數據傳給地面站進行處理。

圖1 系統總體框圖
1.1FPGA和DSP簡介
在本系統中,DSP芯片采用TI公司的TMS320F28335,主頻最高可達150 MHz。該芯片是32位浮點型控制器,其運算時間是TMS320F2812的1/6。Flash可達256 kbit×16 bit,比TMS320F2812增加了一倍。F28335上有兩個增強型CAN總線控制器,符合CAN2.0B協議,內部帶有32個具有定時發送和接收功能的可配置郵箱[3-5]。FPGA芯片采用的Xilinx公司生產的Spartan6系列XC6SLX45芯片,并且使用Xilinx的開發包進行系統開發。該芯片最大I/O數量可達218個,具有豐富的外設資源,可以方便的與DSP互連通信。
1.2CAN收發器模塊
在本系統中,CAN收發器選用TI公司的SN65HVD233,作為DSP的CAN控制器與物理總線的接口。在本系統中,將引腳8(RS)接地選擇高速工作方式,在6、7引腳(CANL、CANH)間并聯一個120 Ω的匹配電阻,以克服長線效應,減少通信介質中由信號反射造成的干擾。CAN驅動電路如圖2所示。

圖2 CAN驅動電路
1.3同步信號隔離處理模塊
同步脈沖信號隔離模塊選用ADI公司的AD?UM1201。ADUM1201采用的是iCoupler數字隔離器采用平面磁場隔離技術,具有速度快、功耗低、應用靈活、體積小等優點。同步脈沖信號隔離電路如圖3所示。

圖3 同步脈沖信號隔離電路
2.1CAN總線通信機制
在本系統中,CAN總線通信采用CAN2.0B協議進行傳輸,數據采用擴展幀格式,其報文格式如下表1。
每個數據幀包括幀頭、傳輸數據、緊急狀態、通信錯誤信息、幀尾等。CAN總線傳送的順序按位先高后低,優先級從高位開始仲裁,“0”為優先。
在本系統中CAN總線傳輸的兩路數據中,遙測數據總線采用分時發送機制,飛控數據總線采用響應式發送機制。遙測總線上的各個節點在自己規定的時段發送數據,其它時段禁止發送數據。如果超過規定的時間沒有接收到數據或者某個節點占用時間過長,發送故障信息。

表1 CAN2.0B數據幀報文格式
2.2DSP數據采集與存儲
系統上電后首先進行初始化,包括初始化GPIO 和eCAN等單元,對存儲芯片Flash讀取芯片ID,以確認芯片能夠正常工作。然后對CAN寄存器和郵箱進行初始化,配置中斷向量入口地址。DSP中的寄存器PieVectTable存儲的是各個中斷服務程序的入口地址,通過修改入口地址可以將其重新定位用戶自己編寫的響應程序。系統的程序流程圖4所示。

圖4 系統程序流程圖
DSP芯片的eCAN模塊包含32個郵箱,可采用不同的郵箱發送和接收系統各個節點的數據,發送郵箱和接收郵箱的ID必須相同,采用查詢的方式將信息幀發送到CAN的發送緩沖區,通過查詢CANRMP寄存器的狀態來確定是否收到數據,采用中斷的方式接收數據[8- 9]。郵箱功能由寄存器CANMD決定,其相應位置0表示此郵箱為發送郵箱,置1表示為接收郵箱。CAN中斷程序框圖如圖5所示。

圖5 CAN中斷程序框圖
2.3FPGA軟件設計
DSP收到兩路CAN總線數據后,將其轉發至FPGA,由FPGA對其進行編碼加密成串行碼流信號YDATA。FPGA接收主控設備傳輸過來的字門信號YZM和同步脈沖信號YCK,信號時序如圖6所示。YZM信號在YCK的上升沿觸發,在YCK的第8個下降沿結束。FPGA在YZM信號的上升沿開始將YDATA轉發出去,在YZM信號的下降沿停止發數。FPGA在沒有數據到來時則發送上一幀數據的最后一位,初始狀態則發送0。FPGA發送數據完畢后向DSP發送中斷信號,停止接收數據。

圖6 信號時序圖
(1)主微處理器采用TI生產的TMS320F28335,該芯片內置兩個CAN總線通信模塊。模塊中的CAN總線通信接口與現行的CAN2.0B接口完全兼容。因此在硬件設計中,不需要再加入獨立的CAN控制器,節約了開發成本,增加了系統的穩定性。
(2)采用了冗余設計。該系統具有兩路CAN總線可以形成冗余備份機制,當收到各個節點緊急狀態指令或者錯誤信息指令時,將暫停發送遙測數據,將飛控總線通訊切換到遙測總線,此時遙測總線采用響應式發送機制。
(3)采用了集容錯性設計。采用CRC校驗和CANID屏蔽過濾技術進行數據的處理和采集。
本系統采用XC6SLX45和TMS320F28335為主控芯片,對某武器系統的各個節點的數據進行了精確的采集與傳輸。在設計中采用了冗余設計和容錯性設計保證了系統的可靠性。在某武器系統的多次試驗中,有效地對各個節點的CAN總線數據進行監視和采集,為該系統的下一步的研制和進一步的定型,提供了準確的數據信息。
參考文獻:
[1]史久根,張培仁,陳真勇. CAN現場總線系統設計技術[M].國防工業出版社,2004:5-19.
[2]鄒青.導彈遙測系統應用CAN總線技術的探討[J].情報指揮控制系統與仿真技術,2004,38(2):39-41.
[3]連猛,丑修建,李慶等.基于FPGA和DSP的數據采集與壓縮系統[J].電子器件,2015,38(2):130-134.
[4]劉陵順,高艷麗,張樹團,等. TMS320F28335DSP原理及開發編程[M].北京:北京航空航天大學出版社,2011.
[5]王譽樹,蔡強,郭冬蓮,等.基于CAN總線的水產養殖水質在線監控系統設計與實現[J].電子器件,2014,37(4):708-713.
[6]逄錦昊,蘇濤,楊濤,等.基于FPGA的多路高速數據傳輸同步時延測量系統[J].電子器件,2015,38(2):447-451.
[7]王恒升,何清華,薛云.基于CAN總線的鑿巖機器人分布式控制系統設計[J].傳感技術學報,2007,20(3):711-714.
[8]馬秀娟,考麗,趙國良.基于FPGA和DSP的高速數據采集實時處理系統的設計[J].電子器件,2007,30(3):1009-1013.
[9]胡軍明. DSP eCAN總線中斷方式與上位機的雙向通信[J].總線與網絡,2010,25(7):13-16.
[10]段帥君.基于VerilogHDL語言的CAN總線控制器設計及測試[D].長春:吉林大學,2009.
[11]張凌烽,王化祥.基于FPGA和DSP的電阻層析成像數據采集系統[J].傳感技術學報,2011,24(7):1011-1016.
[12]陳二瑞,喬永明,梁雁冰,等.基于FPGA+DSP的實時圖像消旋系統[J].傳感技術學報,2010,23(4):538-542.
高陽(1988-),男,滿族,河北承德人,中北大學在讀碩士研究生,主要研究方向為動態測試與智能儀器,345483488@qq.com;

李永紅(1967-),男,漢族,教授,博士,山西臨汾人,中北大學碩士生導師,國務院特殊津貼專家,國家人事部、科技部、教育部、財政部、發改委、自然基金委、中國科協等七部委聯合確定的“新世紀百千萬人才工程國家級人選”,中共中央直接聯系的高級專家。主要研究方向為衛星/微慣性組合導航技術、MEMS傳感器設計與生產工藝、微系統集成封裝、飛行器彈載數據記錄儀、常規彈藥制導與控制、柔性、超薄蒙皮式網絡化、數字化傳感器陣列,466678237@qq.com。

Multi-Channel Data Acquisition System Based on FPGA and Ethernet*
JIAO Jiawei1,2,SHI Yunbo1*,ZOU Kun1,2
(1.National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China;2.Suzhou Fashion Nano Technology Company,Suzhou Jiangsu 215123,China)
Abstract:In order to realize the acceleration sensor calibration test and to make 16 acceleration sensors realize test in parallel,a multi-channel data acquisition system has been designed based on FPGA and Ethernet. This system takes the FPGA as the core control chip,which implements the real-time,frame and data storage for the 16 road ana?log signals,and through the Ethernet interface the chip W5300 completes communication with PC. The whole sys?tem uses modular design,to get low power consumption,high acquisition precision and reliability,and good realtime performance. What is more,it has successfully applied in the equipment of accelerometer mass calibration test. Key words:FPGA;ethernet;data;acquisition;W5300
doi:EEACC:7210G10.3969/j.issn.1005-9490.2016.01.035
收稿日期:2015-04-25修改日期:2015-05-22
中圖分類號:TP336
文獻標識碼:A
文章編號:1005-9490(2016)01-0164-04