【基于CANOpen協(xié)議的汽車電子通信系統(tǒng)】通信系統(tǒng)相關(guān)的業(yè)務和協(xié)議
發(fā)布時間:2020-02-16 來源: 感悟愛情 點擊:
摘要:CANopen是基于CAN(Controller Area Network)總線的應用層協(xié)議,本文通過對CANopen協(xié)議設計的實質(zhì)和核心內(nèi)容的分析,給出了基于該協(xié)議的汽車電子通信系統(tǒng)的設計和實現(xiàn)方案。 通過CAN硬件接口的設計和DLL模塊實現(xiàn)了利用CANopen通信模型構(gòu)造汽車電子通信系統(tǒng)的基本框架模型,總結(jié)了CANopen協(xié)議的在本方案中的優(yōu)缺點和適用性。
關(guān)鍵詞:CAN;CANopen;LIN;OD
中圖分類號:TP393.04 文獻標識碼:A
1 概述
CANopen[1]協(xié)議集定義基于CAN的分布式工業(yè)自動化系統(tǒng)的應用標準以及CAN應用層通信標準。CANopen是CAN-in-Automation(CiA)定義的標準之一,并且在發(fā)布后不久就獲得了廣泛的承認。尤其是在歐洲,CANopen被認為是在基于CAN的工業(yè)系統(tǒng)中占領(lǐng)導地位的標準。CANopen協(xié)議集基于所謂的“通信子集”,該子集規(guī)定了基本的通信機制及其特性,如圖1。
應用層(Application layer):為網(wǎng)絡中每一個有效設備都能夠提供一組有用的服務與協(xié)議。
通訊描述(Communication profile):提供配置設備、通訊數(shù)據(jù)的含義,定義數(shù)據(jù)通訊方式。
設備描述(Device proflile):為設備(類)增加符合規(guī)范的行為。
CANopen主要應用在汽車、工業(yè)控制、自動化儀表等領(lǐng)域,目前由CIA負責管理和維護。
2CANopen協(xié)議設計的實質(zhì)
CAN處于OSI網(wǎng)絡模型中物理層和數(shù)據(jù)鏈路層,而CANopen是基于CAN的應用層,因為現(xiàn)場總線通常只包括一個網(wǎng)段,因此不需要第3層(傳輸層)和第4層(網(wǎng)絡層),也不需要第5層(會話層)、第6層(描述層)的作用。正是因為有了CANopen這樣應用層協(xié)議的存在,從而使CAN總線成為了一個更加完善的網(wǎng)絡系統(tǒng)。
CANopen協(xié)議在設計的時候,對總線上傳輸?shù)臄?shù)據(jù)進行了分類,即每一個傳輸數(shù)據(jù)都是某一特定類的對象,從而實現(xiàn)了面向?qū)ο蟮某绦蛟O計。在CANopen中每一類傳輸對象都有其規(guī)范化的格式,從而實現(xiàn)了應用層結(jié)構(gòu)上的統(tǒng)一。這樣無論從規(guī)范化角度,還是從模塊化程序設計角度講,CANopen協(xié)議都是一個設計比較完善的協(xié)議,圖2是CANopen 內(nèi)核[2]。圖2CANopen master kernel在CANopen協(xié)議的數(shù)據(jù)傳輸中共定義了4類對象(通訊模式)[3],分別為管理對象(NMT)、服務數(shù)據(jù)對象(SDO)、過程數(shù)據(jù)對象(PDO)和特殊功能對象。其中NMT用來傳遞主節(jié)點對整個網(wǎng)絡系統(tǒng)的管理信息,SDO用來傳遞網(wǎng)絡系統(tǒng)中的配置信息,PDO用來傳遞過程數(shù)據(jù)信息(例如電壓的變化值),特殊功能對象包括同步對象(SYNC)、緊急對象(Emergency)、時間基準(Time-Stamp)等。各類對象傳輸時的幀格式在參考文獻中有詳細的規(guī)定,在這里就不詳細介紹。在實際的工程中用戶只要根據(jù)需要,按照類的規(guī)定把要傳輸?shù)臄?shù)據(jù)映射到相應的對象中就可以了。
3CANopen協(xié)議中的核心內(nèi)容
為了對各類對象進行規(guī)范化和方便的管理,在CANopen協(xié)議中定義了對象字典的概念。它是一個有序的對象組,其中定義了一個設備的所有信息,在CANopen網(wǎng)絡系統(tǒng)中每一個設備都要有一個唯一的對象字典,每個設備的對象字典具有結(jié)構(gòu)相同、內(nèi)容不同的特點。通過對對象字典中的對象定義一個唯一的16位主索引和8位子索引,就可以方便地訪問對象字典中的對象。CANopen協(xié)議中定義了通用的對象字典結(jié)構(gòu),其中規(guī)定了各種數(shù)據(jù)在對象字典中的位置區(qū)域。在我們建立設備對象字典的時候,主要工作應集中在定義通訊子協(xié)議區(qū)域(1000~1FFF)和制造商特定子協(xié)議區(qū)域(2000~5FFF)部分[4]。
在整個CANopen協(xié)議中,對象字典起到了連接DLL模塊(通訊接口)和應用程序的作用。我們要想把一個應用程序中的數(shù)據(jù)(如I/O的輸入值)送到CAN總線上,我們首先要確定這個數(shù)據(jù)屬于對象字典中的哪一類對象(例如I/O口的輸入值應為過程數(shù)據(jù)對象),然后用DLL模塊訪問對象字典中相應的對象,并把其按照相應的幀格式發(fā)送到CAN總線上去,從而完成了數(shù)據(jù)的傳輸。
4汽車電子通信系統(tǒng)設計與實現(xiàn)
4.1汽車網(wǎng)絡方案
對于CAN在汽車上的應用,具有很多行業(yè)標準或者是國際標準,比如國際標準化組織(International Organization for Standardization)的ISO11992、ISO11783以及汽車工程協(xié)會(Society of Automotive Engineers )的SAE J1939。CAN總線已經(jīng)作為汽車的一種標準設備列入汽車的整體設計中[5]。
通過圖3[6]可以看到,藍色較粗線代表CAN總線,它連接了傳動裝置控制單元、燈控單元、門控單元、座椅控制單元以及儀表盤控制單元等等。紅色較細線代表LIN總線,由LIN總線構(gòu)成的LIN網(wǎng)絡作為CAN網(wǎng)絡的輔助網(wǎng)絡,連接了車窗控制單元、雨刷控制單元、天窗控制單元等低速設備。
LIN網(wǎng)絡[7](Local Interconnect Network),由汽車廠商為汽車開發(fā),作為CAN網(wǎng)絡的輔助網(wǎng)絡,目標應用在低端系統(tǒng),不需要CAN的性能、帶寬以及復雜性。LIN的工作方式是一主多從,單線雙向低速傳送數(shù)據(jù)(最高20K位/),與CAN相比具有更低的成本,且基于UART接口,無需硬件協(xié)議控制器,使系統(tǒng)成本更低。
4.2系統(tǒng)中CAN硬件接口設計
在汽車中ECU的設計,應該首先從安全的角度來考慮,對于關(guān)鍵控制部分如:汽車引擎、剎車裝置、安全氣囊等單元應該采用分散式控制;而對于那些與安全無關(guān)的單元如:燈控單元、門控單元、座椅控制單元等出于成本的考慮可以采用CAN與LIN混合的集中控制方式。圖4給出ECU結(jié)構(gòu)圖。
4.3DLL模塊的實現(xiàn)
MB90F543具有兩個CAN控制器分別為CAN0和CAN1,我們只用CAN0,這樣CAN1可以在系統(tǒng)擴展時使用。CAN控制器具有如下的特點[8]:
。1)符合規(guī)范CAN2.0A和CAN2.0B;
。2)支持通過接收遠程幀發(fā)送數(shù)據(jù);
。3)16個收、發(fā)緩沖區(qū),每個緩沖區(qū)都具有29比特ID和8字節(jié)數(shù)據(jù),多級緩沖配置;
。4)每個緩沖區(qū)支持標準幀和擴展幀的多種過濾方式;
(5)波特率可從10Kbit/s到1Mbit/s。
在我們系統(tǒng)中使用規(guī)范CAN2.0A,波特率為125k/s,并且為每類消息分配了一個獨立的緩沖區(qū),這樣做可以減少中斷程序的處理時間,從而提高系統(tǒng)的實時性。
5結(jié)束語
汽車電子設備的網(wǎng)絡化、標準化是組成車載監(jiān)控系統(tǒng)的一個重要條件,同時也是車載設備發(fā)展的一個重要方向。CANopen協(xié)議作為CAN總線的應用層協(xié)議,在車輛領(lǐng)域有著廣闊的應用前景。本文通過把車載平臺做成符合CANopen協(xié)議的標準化裝置,從而增強了設備的可擴展性,同時也提高了數(shù)據(jù)傳輸?shù)目煽啃裕梢詽M足現(xiàn)代化應用環(huán)境中的實際需求。
參考文獻
。1]www.can-cia.de.
。2] www.省略.
。3]CiA DS-301,Version 4.0,June 16 1999.
。4]CiA Draft Standard Proposal DSP 402, Version 1.0 Device Profiles Drives and Motion Control.
[5] CANopen application profile for lift control systems CiA DSP 417.
。6] M. Cheng, et al. Design and implementation of a braincomputer interface with high transfer rates IEEE Trans. Biomed. Eng., 2002,49:pp.1181-1186.
。7]CiA DSP-401,Version 1.4,Dec 1996.
。8]CANopen high-level protocol for CAN-bus H.Boterenbrood NIKHEF,March 20,2000.
。ū疚膶徃尻惿倜簦
相關(guān)熱詞搜索:通信系統(tǒng) 汽車電子 協(xié)議 基于CANOpen協(xié)議的汽車電子通信系統(tǒng) 單片機通信協(xié)議 單片機通訊協(xié)議
熱點文章閱讀