張?zhí)靾@ 高明福
富奧汽車零部件股份有限公司研發(fā)中心 吉林省長春市 130013
隨著汽車電子系統(tǒng)日益復(fù)雜,汽車電子技術(shù)蓬勃發(fā)展的同時(shí)也帶來了很多有關(guān)車輛網(wǎng)絡(luò)的問題:隨著車內(nèi)電控單元數(shù)目的增長而導(dǎo)致的汽車布置空間的縮小;數(shù)目龐大的線束無形中增加了制造成本;各個(gè)電控單元之間的連接器也降低了車輛的可靠性。因此,汽車總線需要從點(diǎn)到點(diǎn)的通信轉(zhuǎn)變?yōu)榫W(wǎng)絡(luò)通信,這樣既能實(shí)現(xiàn)復(fù)雜的功能,也能降低成本,同時(shí)提高可靠性。
國際汽車工程師學(xué)會SAE(Society of Automotive Engineers)根據(jù)位速率的不同,將車用網(wǎng)絡(luò)分為A、B、C、D、E五大類。每一種網(wǎng)絡(luò)都包含多種網(wǎng)絡(luò)協(xié)議,目前主流的協(xié)議有:LIN、CAN、FlexRay和MOST。其中,CAN總線是普遍使用的網(wǎng)絡(luò)協(xié)議,高速的FlexRay和MOST由于價(jià)格昂貴主要用于高端車型,而LIN網(wǎng)絡(luò)標(biāo)準(zhǔn)則由于其低廉的通信成本和便捷的開發(fā)方式在車身控制方面,如座椅控制、車窗升降控制、后視鏡控制、滑動天窗等,得到了廣泛的應(yīng)用。
LIN(Local Interconnect Network)總線是一種低速、低成本的A類總線標(biāo)準(zhǔn),是CAN總線的一種補(bǔ)充。隨著1997年開放的LIN總線標(biāo)準(zhǔn)產(chǎn)生以來,LIN總線已經(jīng)廣泛地被世界上的大多數(shù)汽車公司以及零配件廠商所接受。
LIN2.1規(guī)范于2006年發(fā)表,包括物理層規(guī)范、協(xié)議規(guī)范、傳輸層規(guī)范、節(jié)點(diǎn)配置和標(biāo)識規(guī)范、診斷規(guī)范、應(yīng)用程序接口規(guī)范、節(jié)點(diǎn)能力語言規(guī)范和配置語言規(guī)范八個(gè)部分。LIN2.2規(guī)范于2010年發(fā)表,更正了一些細(xì)微的錯誤,同時(shí)減弱了比特取樣的規(guī)則。
LIN網(wǎng)絡(luò)是一種主從網(wǎng)絡(luò),網(wǎng)絡(luò)中包含一個(gè)主節(jié)點(diǎn)和至多15個(gè)從節(jié)點(diǎn),因此無需仲裁。網(wǎng)絡(luò)中由主節(jié)點(diǎn)控制各個(gè)消息的時(shí)序調(diào)度,各個(gè)從節(jié)點(diǎn)則負(fù)責(zé)發(fā)送和接收消息。每個(gè)節(jié)點(diǎn)中的微控制器通過SCI接口與LIN收發(fā)器相銜接,而幾乎所有的微控制器均具備SCI接口,使得LIN通信具有廣泛的硬件基礎(chǔ)。同時(shí),串行通信還具有線間干擾小,節(jié)省線束,傳輸距離長等優(yōu)點(diǎn)。在LIN網(wǎng)絡(luò)中,信號采用單線傳輸,傳輸速率最高可達(dá)20kbps。LIN網(wǎng)絡(luò)的從節(jié)點(diǎn)無須晶振或陶瓷震蕩器就可以實(shí)現(xiàn)同步,因而大幅度降低成本。當(dāng)增加或減少從節(jié)點(diǎn)時(shí),無需改變其他節(jié)點(diǎn)的硬件電路,因此使用靈活。LIN網(wǎng)絡(luò)支持基于ISO15765-2的傳輸層規(guī)范和基于ISO14229-1的診斷服務(wù)。
本文所設(shè)計(jì)的換擋指示器,是安裝在自動擋車型上的,與換擋手柄配合工作并構(gòu)成總成,用來顯示換擋手柄當(dāng)前切換到的檔位。換擋手柄作為網(wǎng)關(guān),主要功能是對各種信息進(jìn)行分析處理,并發(fā)出指令,協(xié)調(diào)換擋指示器的工作。它接收來自TCM的CAN消息,經(jīng)過解析,轉(zhuǎn)換成相應(yīng)的LIN消息,通過LIN總線向換擋指示器發(fā)出指令。換擋手柄作為LIN總線的主節(jié)點(diǎn),換擋指示器作為LIN總線的從節(jié)點(diǎn),從節(jié)點(diǎn)接收到主節(jié)點(diǎn)發(fā)送的檔位顯示信號后,點(diǎn)亮相應(yīng)檔位的發(fā)光二極管。LIN總線是直接面向執(zhí)行機(jī)構(gòu)的。
換擋指示器工作流程如下:
(1)TCM向換擋手柄發(fā)送CAN消息,請求當(dāng)前的檔位信息。
(2)換擋手柄將當(dāng)前的檔位信息通過CAN消息發(fā)送給TCM。
(3)TCM收到檔位信息后,向換擋手柄發(fā)送CAN消息,要求換擋手柄點(diǎn)亮換擋指示器相應(yīng)檔位的發(fā)光二極管。
(4)換擋手柄收到要求點(diǎn)亮換擋指示器相應(yīng)檔位的發(fā)光二極管的CAN消息后,將CAN消息轉(zhuǎn)換成LIN消息,將檔位顯示信息包含在LIN消息中,向換擋指示器發(fā)送檔位信息。
(5)換擋指示器收到檔位顯示的LIN消息后,點(diǎn)亮相應(yīng)檔位的發(fā)光二極管。
換擋指示器主要有以下兩個(gè)功能:
換擋指示器作為LIN總線從節(jié)點(diǎn),接收LIN總線上各種控制命令,如點(diǎn)亮相應(yīng)檔位的發(fā)光二極管的信息,睡眠指令等。
換擋指示器接收到LIN總線上控制命令后,通過脈寬調(diào)制來控制點(diǎn)亮哪一個(gè)檔位的發(fā)光二極管,以及該發(fā)光二極管是何亮度。
為滿足需求,主控MCU采用NXP公司的16位單片機(jī)9S12ZVLS32。S12ZVL系列是S12 MagniV混合信號微控制器組合的一部分,提供智能、優(yōu)化集成的高電壓組件。S12ZVL產(chǎn)品系統(tǒng)集成了一個(gè)LIN物理層、受ESD保護(hù)的12V輸入引腳(能夠進(jìn)行ADC測量)以及在3.5V至40V之間操作的汽車穩(wěn)壓器(為霍爾傳感器或RGB LED等片上和片外功能提供穩(wěn)定的電源)。
S12ZVL系列結(jié)構(gòu)框圖如下圖所示:
S12ZVL系列主要特性有:
(1)S12Z內(nèi)核,25MHz總線:與S12內(nèi)核比較,提高了代碼效率和內(nèi)核性能。
(2)8KB至32KB的閃存:提供片上閃存來存儲代碼,無需外部閃存/ROM。
(3)高達(dá)128 B EEPROM:提供易于使用的界面,通過數(shù)據(jù)閃存支持4字節(jié)可擦除頁面。
(4)所有內(nèi)存(閃存、R A M和EEPROM)帶ECC:糾錯碼(ECC)功能提供高可靠性。
(5)內(nèi)置汽車穩(wěn)壓器,可在3.5V至40V之間運(yùn)行:直接由汽車電池驅(qū)動,無需額外穩(wěn)壓器,可節(jié)省PCB板卡空間。解決汽車設(shè)計(jì)問題,如雙電池、起動電壓突變和負(fù)載突降情況。
(6)內(nèi)置LIN物理層:無需外部LIN物理層器件,可節(jié)省空間和設(shè)計(jì)時(shí)間。滿足汽車OEM規(guī)格,符合LIN一致性和EMC要求。
(7)EVDD和NGPIO:EVDD能夠提供5 V/20mA片外供電,N-GPIO能夠提供高達(dá)3x25mA片外驅(qū)動電流(對RGB-LED驅(qū)動有用)。
(8)受保護(hù)的12 V輸入(HVI):支持汽車電池的電壓電平輸入(具有ADC功能)。
(9)片上RC振蕩器,可調(diào)整至1.3%公差:無需外部晶體振蕩器或共振器,生成精確的片上時(shí)鐘生成,可進(jìn)行LIN通信,也不需要進(jìn)行軟件密集的同步。
換擋指示器軟件設(shè)計(jì)包括以下幾個(gè)模塊:
系統(tǒng)時(shí)鐘模塊決定了MCU使用內(nèi)部振蕩器還是外部振蕩器、鎖相環(huán)倍頻倍數(shù)以及總線頻率是多少。定時(shí)器模塊的設(shè)定,則用來控制程序調(diào)度。本換擋指示器使用的是MCU內(nèi)部皮爾斯振蕩器,震蕩頻率為1MHz,鎖相環(huán)經(jīng)過64倍頻而后再8分頻得到8MHz的總線頻率。定時(shí)器模塊設(shè)置為1ms定時(shí)器,來控制程序的執(zhí)行。
本換擋指示器使用了8路PWM,每路PWM均使用8比特計(jì)數(shù)器,初始電平為低電平,頻率為244Hz,通過解析收到的LIN消息中的亮度值來控制PWM的占空比,進(jìn)而控制發(fā)光二極管的亮度。
本換擋指示器作為LIN總線上的從節(jié)點(diǎn),主要作用是接收并解析主節(jié)點(diǎn)發(fā)送的控制信息。通過使用MCU的SCI接口配合MCU集成的LIN物理層,來實(shí)現(xiàn)LIN通信。當(dāng)換擋指示器的LIN總線上收到消息時(shí),觸發(fā)SCI接收中斷,在中斷處理函數(shù)中,需要判斷接收到消息的同步間隔場、同步場和標(biāo)識符場是否符合LIN2.1規(guī)范,同時(shí),還需判斷接收到的標(biāo)識符,是否是換擋指示器和換擋手柄之間用來交互信息的標(biāo)識符。如果是合法的標(biāo)識符,則繼續(xù)判斷接收到的數(shù)據(jù)長度是否合法。如果數(shù)據(jù)長度合法,則取出LIN消息中的數(shù)據(jù)段進(jìn)行解析。需要從數(shù)據(jù)段解析出點(diǎn)亮哪個(gè)檔位的發(fā)光二極管以及這個(gè)發(fā)光二極管的亮度值。
換擋手柄需要了解換擋指示器的電源電壓是否工作在正常工作范圍,如果超出正常范圍,需要進(jìn)行預(yù)警處理。本換擋指示器所使用的MCU包含電源電壓傳感器模塊,這個(gè)傳感器通過內(nèi)部通道,與1路A/D轉(zhuǎn)換器相連,將電源電壓值傳遞給A/D轉(zhuǎn)換器。在使用時(shí),讀取這路A/D轉(zhuǎn)換器的值,來判斷電源電壓是否工作在正常工作范圍。當(dāng)換擋手柄,也就是LIN主節(jié)點(diǎn),通過LIN消息向換擋指示器請求電源電壓狀態(tài)時(shí),換擋指示器將電源電壓是正常、過壓還是欠壓通過LIN消息,發(fā)送給LIN主節(jié)點(diǎn),也就是換擋手柄。
為了降低換擋指示器的功耗,根據(jù)LIN 2.1規(guī)范,當(dāng)LIN總線上持續(xù)4s及以上沒有交互LIN消息時(shí),則LIN總線進(jìn)入睡眠狀態(tài),進(jìn)一步,換擋指示器進(jìn)入低功耗模式,來減少對汽車電瓶電量的損耗。另外,需要將SCI設(shè)置為喚醒源,當(dāng)LIN總線上出現(xiàn)LIN消息時(shí),需要將換擋指示器從低功耗模式中喚醒,并恢復(fù)正常工作狀態(tài)。
LIN總線在成本方面,比CAN總線具有明顯的優(yōu)勢。同時(shí),LIN總線具有高靈活性和高可靠性等優(yōu)點(diǎn),當(dāng)系統(tǒng)功能相對簡單、網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)目不是很多的情況下,LIN總線是優(yōu)于CAN總線的選擇。本文開發(fā)的換擋指示器已應(yīng)用在一汽紅旗H7轎車上,并投入市場,本設(shè)計(jì)運(yùn)行穩(wěn)定,達(dá)到了預(yù)期的功能。