林元新,謝有浩
(安徽獵豹汽車有限公司,安徽 滁州 239064)
CAN/LIN網(wǎng)絡(luò)通信技術(shù)在獵豹CS10應(yīng)用
林元新,謝有浩
(安徽獵豹汽車有限公司,安徽 滁州 239064)
簡(jiǎn)述汽車網(wǎng)絡(luò)CAN/LIN總線技術(shù)要點(diǎn),介紹應(yīng)用層協(xié)議、規(guī)范、開發(fā)工具;分析具體車型CAN/LIN網(wǎng)絡(luò)通信技術(shù)的應(yīng)用,CAN/LIN具體報(bào)文解析。
CAN總線;LIN總線;應(yīng)用層協(xié)議;總線開發(fā)工具;CAN、LIN報(bào)文;報(bào)文解析
目前,網(wǎng)絡(luò)通信在車輛上應(yīng)用逐漸普及,早期只有中高端轎車上才使用的CAN總線、LIN總線技術(shù),已經(jīng)成為乘用車的標(biāo)準(zhǔn)配置。自主車型的電氣系統(tǒng)設(shè)計(jì)和系統(tǒng)測(cè)試與合資公司的差距也越來越小,其設(shè)計(jì)開發(fā)過程也逐漸與國(guó)際接軌。CAN、LIN、OSEK、UDS等網(wǎng)絡(luò)通信技術(shù)的應(yīng)用提升了汽車產(chǎn)品的配置靈活性和品牌競(jìng)爭(zhēng)力。同時(shí),相對(duì)早期“硬線”電氣系統(tǒng),其開發(fā)和維護(hù)的復(fù)雜程度有較大提升,對(duì)電氣系統(tǒng)的設(shè)計(jì)、測(cè)試、驗(yàn)證提出了更高要求。
本文以獵豹CS10為參考車型,簡(jiǎn)要介紹網(wǎng)絡(luò)通信技術(shù)的CAN/LIN總線技術(shù)要點(diǎn)、應(yīng)用層協(xié)議、規(guī)范和汽車網(wǎng)絡(luò)應(yīng)用中涉及的設(shè)計(jì)、開發(fā)、測(cè)試,并進(jìn)行報(bào)文實(shí)例分析。
1)CAN總線 CAN全稱為控制器局域網(wǎng)絡(luò)(Controller Area Network),是一種能有效支持分布式控制和實(shí)時(shí)控制的串行通信網(wǎng)絡(luò)。其協(xié)議也發(fā)展為重要的國(guó)際標(biāo)準(zhǔn)(ISO11898、ISO11519 )。
2)LIN總線 LIN全稱為本地互聯(lián)網(wǎng)絡(luò)(Local Interconnect Network),是一種低成本的串行通信網(wǎng)絡(luò),用于汽車電子系統(tǒng)的分布式控制。目標(biāo)是為現(xiàn)有汽車網(wǎng)絡(luò)(如CAN總線)提供輔助功能。LIN聯(lián)盟逐步將LIN總線推廣到ISO國(guó)際標(biāo)準(zhǔn)(ISO 17987)。
3)OSEK規(guī)范 OSEK全稱為汽車電子開放式系統(tǒng)及其接口(Open Systems and their Interfaces for the Electronics in Motor Vehicles)。OSEK規(guī)范主要由4部分組成:通信規(guī)范(OSEK Communication,OSEK COM) ;網(wǎng)絡(luò)管理規(guī)范( OSEK Net Management,OSEK NM);操作系統(tǒng)規(guī)范(OSEK Operating System,OSEK OS)和OSEK實(shí)現(xiàn)語言(OSEK Implementation Language,OIL)。隨著該規(guī)范應(yīng)用的不斷深入,其結(jié)構(gòu)和功能不斷完善和優(yōu)化,版本也不斷升級(jí)和擴(kuò)展,并提交ISO審議。
4)UDS UDS全稱為統(tǒng)一診斷服務(wù)(Unified diagnostic services),UDS與OBD最大的區(qū)別就在于“Unified”上,UDS是面向整車所有車載ECU,而OBD是面向排放相關(guān)ECU。UDS是一個(gè)應(yīng)用層協(xié)議(ISO 14229系列),它可以在CAN線上實(shí)現(xiàn),也可以在Ethernet上實(shí)現(xiàn)。基于UDS協(xié)議的診斷又被稱為增強(qiáng)型診斷 (Enhanced diagnostic),UDS沒有統(tǒng)一實(shí)現(xiàn)標(biāo)準(zhǔn),不是法規(guī)要求的,其優(yōu)勢(shì)在于方便生產(chǎn)線檢測(cè)設(shè)備的開發(fā),同時(shí)更大地方便了車聯(lián)網(wǎng)功能實(shí)現(xiàn)和售后維修保養(yǎng)。
5)CANoe相關(guān) 汽車總線開發(fā)工具和嵌入式源代碼提供商Vector,為汽車總線網(wǎng)絡(luò)的設(shè)計(jì)、建模、仿真、分析、測(cè)試和ECU開發(fā)、測(cè)試、標(biāo)定和診斷等領(lǐng)域提供一系列強(qiáng)有力的軟硬件工具和源代碼。具體包括用于CAN/LIN網(wǎng)絡(luò)系統(tǒng)和控制單元仿真和測(cè)試的工具CANoe;記錄、評(píng)價(jià)CAN總線信號(hào)電平的工具CANscope;CAN總線干擾生成工具CANstress;CAN總線數(shù)據(jù)記錄器CANlog;測(cè)試和標(biāo)定軟件工具CANape;總線分析工具CANalyzer。這些工具被OEM和供應(yīng)商的網(wǎng)絡(luò)設(shè)計(jì)工程師、開發(fā)工程師和測(cè)試工程師所廣泛使用。
采用德國(guó)Vector公司的CANoe(CAN Open Environment)、CANscope等專業(yè)工具進(jìn)行設(shè)計(jì)和開發(fā),開發(fā)劃為3個(gè)階段:①功能建模和仿真;②系統(tǒng)部分的實(shí)現(xiàn);③整個(gè)系統(tǒng)的集成。用CANoe建立仿真模型,在仿真模型基礎(chǔ)上進(jìn)行ECU的功能評(píng)估。綜合使用這些專業(yè)工具對(duì)CAN網(wǎng)絡(luò)通信的正確性、可靠性、合理性進(jìn)行多角度全方位的評(píng)估;定位故障、解決CAN和LIN總線應(yīng)用的各種問題,確保各項(xiàng)性能指標(biāo)符合設(shè)計(jì)要求。
CAN、LIN總線主要性能指標(biāo)包括:網(wǎng)絡(luò)負(fù)載率、吞吐量、平均信息時(shí)延、通信沖突率、網(wǎng)絡(luò)利用率、網(wǎng)絡(luò)效率、負(fù)載完成率、總線電阻、總線波形。CS10網(wǎng)絡(luò)拓?fù)淙鐖D1所示。
圖1 CAN、LIN網(wǎng)絡(luò)拓?fù)?/p>
2.1 網(wǎng)絡(luò)技術(shù)應(yīng)用
2.1.1 CAN總線
CAN總線采用11位標(biāo)準(zhǔn)ID,通信速率為500 kb/s,動(dòng)力系統(tǒng)和車身控制系統(tǒng)共用總線,沒有采用網(wǎng)關(guān)。支持應(yīng)用層協(xié)議和規(guī)范有:①OSEK網(wǎng)絡(luò)管理規(guī)范的直接網(wǎng)絡(luò)管理;②UDS用于車輛投放市場(chǎng)后的診斷,可通過UDS讀取診斷信息、進(jìn)行系統(tǒng)升級(jí);③CCP用于開發(fā)階段的控制參數(shù)標(biāo)定。
圖2為CAN總線標(biāo)準(zhǔn)幀報(bào)文,實(shí)際上還有以下5種報(bào)文,用于滿足特定的信息傳輸需求,如:①數(shù)據(jù)幀:發(fā)送節(jié)點(diǎn)向接收節(jié)點(diǎn)傳送數(shù)據(jù)的幀;②遠(yuǎn)程幀:請(qǐng)求發(fā)送具有同一識(shí)別符的數(shù)據(jù)幀;③錯(cuò)誤幀:節(jié)點(diǎn)檢測(cè)到總線錯(cuò)誤就發(fā)出錯(cuò)誤幀;④過載幀:在先行和后續(xù)的數(shù)據(jù)幀(或遠(yuǎn)程幀)之間提供一附加的延時(shí);⑤幀間隔:將數(shù)據(jù)幀及遠(yuǎn)程幀與前面的幀分離開來的幀。
圖2 CAN標(biāo)準(zhǔn)幀報(bào)文圖解
2.1.2 LIN總線
LIN總線通信采用LIN 2.1協(xié)議,通信速率為:19 200 b/s,一共3條總線:BCM、RLS、SunRoof一路;PEPS、ESCL一路;PEPS與IMMO基站一路。
CAN、LIN網(wǎng)絡(luò)拓?fù)淙鐖D1所示。其中BCM、RLS、SunRoof三節(jié)點(diǎn)組成LIN網(wǎng)絡(luò):所有報(bào)文的頭部由BCM發(fā)出,BCM任務(wù)是主任務(wù),也就是總線行為由BCM調(diào)度,不同ID的響應(yīng)部分由對(duì)應(yīng)節(jié)點(diǎn)的從任務(wù)發(fā)出。LIN總線通信過程如圖3所示。
圖3 LIN總線報(bào)頭和響應(yīng)圖解
BCM、RLS、SunRoof的LIN總線標(biāo)準(zhǔn)幀報(bào)文格式如圖4所示??偩€包含以下6種報(bào)文滿足特定的信息傳輸需要:①無條件幀(Unconditional frame):主任務(wù)發(fā)出報(bào)頭,一個(gè)任務(wù)響應(yīng),一個(gè)或多個(gè)任務(wù)接收;②事件觸發(fā)幀(Event triggered frame):增強(qiáng)LIN總線的響應(yīng)能力,避免為了很少發(fā)生的事件而對(duì)節(jié)點(diǎn)進(jìn)行輪詢,從而浪費(fèi)了大量的帶寬;③零星幀(Sporadic frame):共用一個(gè)時(shí)間隙,在需要時(shí)由主任務(wù)發(fā)送報(bào)頭和響應(yīng);④診斷幀(Diagnostic frame):用來傳輸診斷或配置信息;⑤用戶自定義幀(User-defined frame):可以傳輸任何信息,由用戶自己定義;⑥保留幀(Reserved frame):標(biāo)識(shí)符為63(0x3f)的特定幀。
圖4 LIN總線報(bào)文圖解
BCM、RLS、SunRoof節(jié)點(diǎn)構(gòu)成的LIN總線報(bào)文見表1。
表1 LIN總線報(bào)文
其中保護(hù)的標(biāo)識(shí)符(Protect ID)由標(biāo)識(shí)符(ID)和奇偶校驗(yàn)符(Parity)組成,保護(hù)的標(biāo)識(shí)符與標(biāo)識(shí)符對(duì)應(yīng)關(guān)系見表2。
表2 保護(hù)的標(biāo)識(shí)符與標(biāo)識(shí)符對(duì)應(yīng)關(guān)系
2.1.3 自定義串行通信
自定義串行通信是基于標(biāo)準(zhǔn)12 V電平的單線異步通信,通信波特率為2 400 b/s。用于玻璃升降器主副窗開關(guān)之間交互信息使用。自定義串行通信拓?fù)湟妶D5。左前門開關(guān)為主機(jī),右前門開關(guān)、左后門開關(guān)、右后門開關(guān)均為從機(jī)。數(shù)據(jù)由主機(jī)發(fā)出,所有從機(jī)監(jiān)聽總線狀態(tài)、接收數(shù)據(jù)。實(shí)現(xiàn)休眠和喚醒。
圖5 自定義串行通信拓?fù)鋱D
2.2 整車喚醒、休眠機(jī)制
當(dāng)點(diǎn)火開關(guān)IG OFF時(shí),一項(xiàng)功能要求總線上的節(jié)點(diǎn)與另一個(gè)節(jié)點(diǎn)通信,此時(shí)該網(wǎng)段上的所有節(jié)點(diǎn)將被喚醒。如果跨網(wǎng)段,還需要喚醒所有網(wǎng)段上的相關(guān)節(jié)點(diǎn),但是不相關(guān)節(jié)點(diǎn)因此也進(jìn)入非低功耗狀態(tài),這會(huì)造成不必要的功耗。例如:為了保證車輛安全,點(diǎn)火鑰匙斷開時(shí),還需要一段時(shí)間的總線通信,通常為幾分鐘到幾十分鐘。在這段時(shí)間內(nèi),因?yàn)槟承┕?jié)點(diǎn)的通信需求,網(wǎng)絡(luò)上不相關(guān)節(jié)點(diǎn)也進(jìn)入喚醒狀態(tài),增加電池電量消耗,從而影響汽車的下一次起動(dòng)對(duì)電量的需求。
獵豹CS10采用OSEK 網(wǎng)絡(luò)管理系統(tǒng)(OSEKNM)、硬線休眠喚醒和延時(shí)休眠喚醒結(jié)合方式,很好地解決了這個(gè)問題。
2.2.1 硬線休眠
通過喚醒信號(hào)線,BCM實(shí)現(xiàn)對(duì)ABS、IPC、SCLM、LFDM休眠喚醒控制,當(dāng)此信號(hào)線為高平時(shí)喚醒相應(yīng)的節(jié)點(diǎn)控制器。硬線休眠拓?fù)鋱D如圖6所示。
圖6 硬線休眠喚醒拓?fù)鋱D
2.2.2 延時(shí)休眠
EPB在點(diǎn)火鑰匙斷開10 min后進(jìn)入休眠。休眠后不發(fā)報(bào)文,總線報(bào)文也不喚醒此節(jié)點(diǎn)。
2.2.3 OSEK網(wǎng)絡(luò)管理
CAN、LIN總線拓?fù)鋱D見圖1。參與OSEK網(wǎng)絡(luò)管理的節(jié)點(diǎn)有:BCM、 PEPS,通過CAN總線發(fā)送特定報(bào)文,交互信息,協(xié)調(diào)各節(jié)點(diǎn)實(shí)現(xiàn)狀態(tài)切換。
1)特定報(bào)文 ①Ring報(bào)文:邏輯環(huán)報(bào)文。在穩(wěn)定的邏輯環(huán)中,節(jié)點(diǎn)用于傳遞狀態(tài)信息的網(wǎng)絡(luò)管理報(bào)文。②Alive報(bào)文:網(wǎng)段中的節(jié)點(diǎn)完成初始化或被跳過后,發(fā)送此報(bào)文,用于表明新的節(jié)點(diǎn)加入到邏輯環(huán)中。③LimpHome報(bào)文:接收錯(cuò)誤計(jì)數(shù)器或發(fā)送錯(cuò)誤計(jì)數(shù)器超過閾值的節(jié)點(diǎn)周期性發(fā)送此報(bào)文。
2)CAN休眠報(bào)文解析 OSEK網(wǎng)絡(luò)管理報(bào)文ID的高字節(jié)為固定值0x04,低字節(jié)為發(fā)送方地址編碼(0x0a為BCM,0x12為PEPS),報(bào)文數(shù)據(jù)的高字節(jié)為目標(biāo)地址,低字節(jié)為表明報(bào)文類型、節(jié)點(diǎn)狀態(tài)等信息。CAN總線休眠報(bào)文見表3。
表3 CAN總線休眠報(bào)文
2.2.4 LIN睡眠和喚醒
主節(jié)點(diǎn)發(fā)送ID為0x3C,第1字節(jié)為0x00的零星幀,使處于工作狀態(tài)的從節(jié)點(diǎn)進(jìn)入睡眠。
當(dāng)總線空閑4~10 s,所有從節(jié)點(diǎn)必須進(jìn)入睡眠。
LIN喚醒(Wake Up):處于睡眠狀態(tài)的LIN網(wǎng)絡(luò)中,任何一個(gè)節(jié)點(diǎn)都可以發(fā)送喚醒信號(hào),LIN2.1規(guī)定的喚醒信號(hào)為0xF0。LIN網(wǎng)絡(luò)管理狀態(tài)切換如圖7所示。
圖7 LIN網(wǎng)絡(luò)管理狀態(tài)切換圖解
圖8 UDS診斷服務(wù)請(qǐng)求和響應(yīng)圖解
2.3 UDS統(tǒng)一診斷服務(wù)
通過OBD口連接專用通信設(shè)備可以實(shí)現(xiàn):故障診斷、讀寫VIN、防盜匹配、齒訊學(xué)習(xí)、標(biāo)定學(xué)習(xí)、程序更新、真空加注等功能。如圖8所示,一個(gè)診斷儀和一個(gè)ECU通信的方式是直接通信。由診斷儀發(fā)出診斷請(qǐng)求,該請(qǐng)求包含一個(gè)服務(wù)的I D,診斷服務(wù)標(biāo)識(shí)符縮寫為SID。一旦ECU接收到之后,對(duì)該請(qǐng)求進(jìn)行處理,處理之后回SID+40作為一個(gè)肯定響應(yīng);如果沒有處理,則回一個(gè)7F。7F為否定響應(yīng)的標(biāo)識(shí)符,7F、請(qǐng)求服務(wù)標(biāo)識(shí)符SID和錯(cuò)誤代碼NRC構(gòu)成一個(gè)完整的否定響應(yīng)回復(fù)。
1)EMS故障碼報(bào)文解析(表4)
表4 EMS故障碼報(bào)文解析
2) 坡道起步輔助(HAS)傳感器標(biāo)定報(bào)文解析(表5)
表5 坡道起步輔助(HAS)傳感器標(biāo)定報(bào)文解析
通過CAN、LIN總線技術(shù)的應(yīng)用,獵豹CS10經(jīng)過驗(yàn)證,不斷完善并逐步成熟。軟硬件平臺(tái)化、完整的架構(gòu)、合理的開發(fā)流程、科學(xué)的測(cè)試驗(yàn)證手段,通過技術(shù)沉淀,可以快速移植到相關(guān)車型的開發(fā)。目前,以此平臺(tái)化設(shè)計(jì)的車型還包括獵豹Q6AT車型、獵豹CS9系列車型,這種平臺(tái)化模式不但縮短開發(fā)周期,各項(xiàng)性能也得到了有效保障。
[1] CANoe7.2用戶手冊(cè)CANone_Manual_En[Z].
[2] LIN Specification Package Revision 2.1[Z].
[3] OSEK/VDX Opearating System Specification 2.2.3[Z].
[4] OSEK/VDX NM Concept & API 2.5.2[Z].
[5] ISO 11898-1:2003(E)[S].
[6] ISO 11898-2:2003(E)[S].
(編輯 楊 景)
Application of CAN/LIN Network Communication Technology in LIEBAO CS10
LIN Yuan-xin, XIE You-hao
(Anhui Leopaard Motor Co., Ltd., Chuzhou 239064, China)
This article briefly introduces technical points of CAN/LIN bus of the automotive network, application layer protocol, its specification and development tools. Specific models of CAN/LIN network communication technology application are analyzed, as well as CAN/LIN message parsing.
CAN bus;LIN bus;application layer protocol;bus development tools;CAN, LIN message;message parsing
U463.6
B
1003-8639(2017)07-0022-04
2017-02-01
林元新(1974-),男,汽車設(shè)計(jì)工程師,主要從事汽車電器設(shè)計(jì)和測(cè)試工作。