新聞中心

EEPW首頁 > 汽車電子 > 設(shè)計應(yīng)用 > 基于CAN/LIN網(wǎng)絡(luò)的汽車門鎖控制系統(tǒng)

基于CAN/LIN網(wǎng)絡(luò)的汽車門鎖控制系統(tǒng)

作者: 時間:2017-06-07 來源:網(wǎng)絡(luò) 收藏

 汽車電子化是現(xiàn)代汽車發(fā)展的重要標(biāo)志。汽車電子的廣泛使用,使現(xiàn)代汽車比以往汽車變得更節(jié)能、更安全、更舒適。但當(dāng)汽車內(nèi)部電子設(shè)備采用傳統(tǒng)的點對點方式連接時,電子設(shè)備的不斷增加會導(dǎo)致連線大幅度增加,致使車輛重量隨之增加,并削弱了車輛性能。為適應(yīng)汽車電子設(shè)備迅速增加的需求,汽車電子網(wǎng)絡(luò)應(yīng)運而生。汽車內(nèi)部已經(jīng)基本形成了從低速到高速、從電纜到光纖、從有線到無線、從離散ECU的數(shù)據(jù)通信到中央智能控制的復(fù)雜網(wǎng)絡(luò)系統(tǒng)。其中,在車身低速電子設(shè)備連接方面,低速CAN總線和LIN總線構(gòu)成的混合網(wǎng)絡(luò)正受到越來越廣泛的關(guān)注和使用。汽車門鎖作為汽車車身的重要部件之一,實現(xiàn)基于的汽車門鎖單元,有助于提高汽車車身的總體電子化水平。

汽車門鎖是汽車車身的重要部件之一,從汽車發(fā)明至今,經(jīng)歷了機械式、電氣化至電子化的發(fā)展過程。汽車電子門鎖是采用電子電路控制的以電磁鐵、微型電動機和鎖體作為執(zhí)行機構(gòu)的機電一體化的安全裝置。采用汽車電子門鎖,駕駛員可以不用金屬鑰匙就能方便地開關(guān)汽車車門,而且能有效增強汽車門鎖的安全性能。相對于執(zhí)行機構(gòu),汽車電子門鎖的電子線路部分具有極大的靈活性,由此可以將汽車電子門鎖分為按鍵式、撥盤式、電子鑰匙式、觸摸式、生物特征式等多種類型。其中,采用電子鑰匙的無線遙控鎖具有安全、可靠、方案成熟等優(yōu)點,因此經(jīng)常被用作汽車電子門鎖。傳統(tǒng)的汽車電子門鎖采用點對點的方式與汽車車身的其它電子設(shè)備互聯(lián),伴隨著汽車電子網(wǎng)絡(luò)化的趨勢,汽車電子門鎖開始逐漸采用網(wǎng)絡(luò)化的結(jié)構(gòu)。

1 汽車門鎖模塊的系統(tǒng)結(jié)構(gòu)

在本系統(tǒng)中,汽車車身控制網(wǎng)絡(luò)采用CAN/LIN混合結(jié)構(gòu),按功能劃分可分為各個模塊:除門鎖模塊外,車身系統(tǒng)還包括座椅模塊、控制面板模塊以及燈組模塊。模塊之間通過CAN總線互聯(lián),各個模塊內(nèi)部使用LIN總線互聯(lián)。

門鎖模塊是車身電子設(shè)備中重要的一部分。通過主節(jié)點管理的無線遙控門鎖,可以很便捷地對各個車門的智能電控單元進行控制,同時及時反饋節(jié)點運行狀態(tài)信息,極大地方便了操作和維護。自動門鎖單元中包括一個主節(jié)點和從節(jié)點(四個門鎖單元),其結(jié)構(gòu)如圖1所示。

主節(jié)點作為車身網(wǎng)絡(luò)中門鎖模塊的網(wǎng)關(guān),將各種控制命令、車身狀態(tài)數(shù)據(jù)在LIN總線與CAN總線之間轉(zhuǎn)發(fā),使LIN總線與CAN總線無縫結(jié)合為一個整體。

本文引用地址:http://m.butianyuan.cn/article/201706/350702.htm

  門鎖模塊主節(jié)點的另一項主要功能是管理門鎖。門鎖采用無線電遙控并結(jié)合按鍵控制的控制方式。按鍵安裝在車身內(nèi)部,當(dāng)駕駛員處于車身內(nèi)部時,可以通過按鍵控制車門的開/關(guān)鎖,此時控制單元不需要進行開鎖密碼檢查。另外,車鎖也可以以無線遙控方式進行控制。該鎖由微型發(fā)射機、接收天線和微控制器等組成。微型發(fā)射機安裝在鑰匙手柄里, 使用鋰電池供電并具有晶體振蕩電路, 能發(fā)出穩(wěn)定的約40MHz的載波。密碼信號發(fā)生器提供一個調(diào)頻代碼,天線接收裝置接收信號后,送入信號接收器進行放大、調(diào)頻、檢波和信號波形修正, 最后再輸入到比較電路, 與主門鎖單元中存儲的密碼進行比較, 如果一致就執(zhí)行開/關(guān)鎖。

主節(jié)點通過LIN總線給各個子單元發(fā)送命令來控制開/關(guān)鎖,子節(jié)點接收到命令后,觸發(fā)電動機傳動機構(gòu), 操縱車門開鎖或關(guān)鎖。若在10分鐘內(nèi)有15個或更多的密碼輸入錯誤,則系統(tǒng)就認為有人企圖竊車,于是停止接收任何信號,包括正確的密碼信號。系統(tǒng)處于鎖死狀態(tài)后,駕駛員必須用車門的機械鑰匙插入車鎖孔,才能開啟車門。系統(tǒng)從鎖死狀態(tài)恢復(fù)到正常工作狀態(tài),可以通過復(fù)位模塊實現(xiàn)。另外,如果開鎖后,30秒后未打開車門,則車門將自動關(guān)鎖。

子節(jié)點通過LIN總線與主節(jié)點互聯(lián),接收主節(jié)點發(fā)送的命令或返回反饋信息。實際使用的門鎖是電機式的自動車門鎖,該鎖由可逆式電動機、傳動裝置及鎖體總成構(gòu)成。其工作原理是:由電動機帶動齒輪齒條,進而驅(qū)動鎖體總成,實現(xiàn)鎖緊或開啟車門。因此,門鎖模塊子節(jié)點的功能主要是通過驅(qū)動電路控制可逆式電動機的正轉(zhuǎn)或反轉(zhuǎn),實現(xiàn)開/關(guān)鎖。

2 汽車門鎖模塊的硬件設(shè)計

汽車門鎖模塊由主節(jié)點和若干子節(jié)點構(gòu)成,如圖2所示。主節(jié)點與子節(jié)點之間的通信采用LIN總線,LIN總線通信基于標(biāo)準(zhǔn)的SCI(UART)硬件接口、單主多從且不需要穩(wěn)定時基,僅需要三根線連接(電源線、地線、數(shù)據(jù)線),有效地降低了硬件成本。微控制器一般都具有SCI(UART)接口,因此只需在微控制器外圍加上LIN總線收發(fā)芯片,就能構(gòu)成一個LIN總線上的通信節(jié)點。LIN總線收發(fā)器采用Motorola公司的MC33399。MC33399符合LIN規(guī)范,能與中速網(wǎng)絡(luò)中的多個節(jié)點進行數(shù)字通信,波形修正可減少EMI干擾。另外,MC33399具有低電流睡眠模式和專門的叫醒輸入管腳,使LIN控制節(jié)點可以處于低功耗運行狀態(tài)[3]。

門鎖單元的主節(jié)點的微控制器采用Motorola公司的16位微控制器單元MC9S12DP256。該芯片內(nèi)部模塊包括16位CPU(HCS12 CPU)、256K字節(jié)的Flash EEPROM、12.0K字節(jié)的RAM、4.0K字節(jié)的EEPROM、兩個串行通信接口(SCI)、二十九個數(shù)字I/O通道、五個CAN2.0 A/B軟件兼容模型(MSCAN12)等。因此,控制節(jié)點無需再外擴存儲單元,I/O資源也完全滿足車身控制的需求,CAN通信接口可以直接使用片上自帶的CAN模塊。

遙控門鎖采用NORDIC公司的nRF401無線收發(fā)芯片。nRF401芯片所需擴展的外圍器件較少,可以直接連接單片機串口發(fā)送接收數(shù)據(jù),無需對數(shù)據(jù)進行曼徹斯特編碼,降低了編程和使用的難度。nRF401芯片采用4MHz晶振產(chǎn)生振蕩頻率,經(jīng)頻率合成器合成為40MHz的工作頻率,天線使用微帶天線直接設(shè)計在電路板上,通過Din、Dout接口與MC9S12DP256連接。

門鎖單元子節(jié)點微控制器采用PHILIPS公司的低成本FLASH單片機P89LPC904。P89LPC904內(nèi)部自帶1KB Flash程序存儲器、128字節(jié)RAM數(shù)據(jù)存儲器、高精度的內(nèi)部RC振蕩器(不需要外接振蕩器件),具有兩個通道的8位A/D輸入。同時,它具有空閑和掉電兩種不同的掉電節(jié)電模式。在LIN總線空閑的時候,系統(tǒng)能切換到節(jié)電模式。
由于在應(yīng)用中要驅(qū)動小馬達,門鎖單元需要使用到Motorola的H-bridge電機驅(qū)動芯片。微控制器的輸出接口不能直接驅(qū)動電機,需要通過MC33887的電源IC芯片給門鎖單元提供驅(qū)動能力。在電機驅(qū)動過程中,也會把電流值適時地轉(zhuǎn)換成電壓信號反饋給P89LPC904,供中的故障檢測之用。

3 車鎖模塊的軟件設(shè)計

系統(tǒng)軟件設(shè)計包括主節(jié)點與子節(jié)點兩部分。

車鎖模塊主節(jié)點通過CAN總線接收車身網(wǎng)絡(luò)總控制單元的控制命令,并返回當(dāng)前車鎖的開關(guān)狀態(tài)以及故障信息。同時,它向車鎖模塊的子節(jié)點發(fā)送控制命令,接收狀態(tài)信息。主節(jié)點需要對CAN和LIN總線間的數(shù)據(jù)幀進行合適的轉(zhuǎn)換。

系統(tǒng)中的CAN總線采用CAN2.0B標(biāo)準(zhǔn)幀格式通信。標(biāo)準(zhǔn)格式的CAN2.0B數(shù)據(jù)幀包括仲裁場、控制場、數(shù)據(jù)場三部分。SOF(幀起始)標(biāo)志數(shù)據(jù)幀和遠程幀的開始,由一個顯位構(gòu)成。仲裁場由標(biāo)識符和RTR(遠程發(fā)送請求位)組成。RTR在數(shù)據(jù)幀為顯位,而在遠程幀中必須為隱位,門鎖單元主節(jié)點的標(biāo)識符為0x50。控制場中,標(biāo)準(zhǔn)幀的IDE位為顯位,r0為保留位,DLC為數(shù)據(jù)長度碼[4]。CAN2.0B標(biāo)準(zhǔn)幀格式如圖3所示。

LIN總線通信通過報文幀進行,報文幀格式如圖4所示。同步間隙表示新報文幀的開始,同步間隙由主任務(wù)(主節(jié)點內(nèi))產(chǎn)生。同步場的字節(jié)域為0x55。從任務(wù)總是能檢測到同步間隙以及同步場字節(jié)流。如果檢測到新的同步間隙、同步場,則中止正在進行的傳輸任務(wù),而開始新的報文幀傳輸。報文頭的標(biāo)識符由6bit組成,取值范圍為0到63。除去少數(shù)保留特定用途之外,均可以用作通信ID,門鎖單元中的LIN節(jié)點的標(biāo)識符分配如表1所示。

主節(jié)點通過LIN總線發(fā)送LOCK_DOOR幀給各個門鎖單元,其中包括對門鎖的鎖定/解鎖命令。子節(jié)點接收報文幀后,解析幀中的數(shù)據(jù)域,數(shù)據(jù)域中的第一字節(jié)標(biāo)記解鎖指令,bit0對應(yīng)左前門,bit1對應(yīng)右前門,bit2對應(yīng)左后門,bit3對應(yīng)右后門。第二字節(jié)標(biāo)記鎖定指令,對應(yīng)關(guān)系與解鎖指令相同。兩個后門鎖LOCK_R_L和LOCK_R_R則發(fā)送響應(yīng)幀LOCK_DOOR_RL_STATUS和LOCK_DOOR_RR_STATUS來向主節(jié)點反饋系統(tǒng)故障和門鎖馬達執(zhí)行時的故障信息。兩個前門鎖除了發(fā)送這些信息外,還發(fā)送門鎖開關(guān)狀態(tài)信息給主節(jié)點,主節(jié)點利用這些信息可以再次產(chǎn)生鎖定/解鎖命令。

另外,主節(jié)點通過CAN總線接收到車身總控制單元的遠程幀后,需回復(fù)數(shù)據(jù)幀,通知總控制單元當(dāng)前各個門鎖狀態(tài)。當(dāng)門鎖單元由于輸入錯誤密碼而處于死鎖狀態(tài)時,接收到總控制單元的復(fù)位命令幀后,門鎖單元主節(jié)點恢復(fù)接收密碼信號。

遙控門鎖與鑰匙之間通過簡單的通信協(xié)議進行開/關(guān)鎖,包括一個字節(jié)的幀頭0x80、2bit的命令、6bit的幀長、數(shù)據(jù)域以及校驗和。對于遙控開/關(guān)鎖命令的數(shù)據(jù)域即開/關(guān)鎖命令密碼,需要進行一定的加密。實際上,遙控門鎖和鑰匙各持有一個密鑰,鑰匙首先從遙控門鎖處獲取一個隨機生成的明鑰,然后利用明鑰和密鑰對車門密碼進行加密,然后發(fā)送給遙控門鎖,遙控門鎖根據(jù)明鑰和密鑰對接收數(shù)據(jù)進行解密,獲得密碼后驗證正誤。基于安全可靠方面的考慮,發(fā)送明鑰、發(fā)送密碼等一系列過程都是基于連接的通信。遙控開關(guān)鎖命令幀格式如圖5所示。命令字段劃分為:0x00請求獲得明鑰,0x01發(fā)送密碼開鎖,0x02發(fā)送密碼關(guān)鎖。

主節(jié)點應(yīng)用程序基于μC/OS實時操作系統(tǒng)。MC9S12DP256微控制器上已移植了μC/OS實時操作系統(tǒng),μC/OS內(nèi)核小巧、高效,對系統(tǒng)性能開銷很小;而且基于多任務(wù)的操作系統(tǒng)開發(fā)應(yīng)用程序可使得開發(fā)更為快捷、容易,同時增強了可移植性。主節(jié)點功能劃分為不同任務(wù)各自獨立執(zhí)行。主節(jié)點在完成對CAN、LIN通信接口以及nRF401芯片的初始化后,創(chuàng)建任務(wù)進程OS_CAN_PROCESS、OS_LIN_PROCESS、OS_WIRELESS_PROCESS并使它們等待信號量,獲得信號量后執(zhí)行各自的操作。其中,它們等待的信號量由相應(yīng)的中斷處理程序發(fā)出,驅(qū)動各個任務(wù)執(zhí)行,執(zhí)行完任務(wù)后,繼續(xù)在信號量上等待。OS_MAIN_TASK是主節(jié)點的主任務(wù),等待消息隊列,根據(jù)返回的消息來區(qū)分不同的操作狀態(tài)。

OS_CAN_PROCESS與OS_LIN_PROCESS為CAN、LIN總線的數(shù)據(jù)接收任務(wù),接收數(shù)據(jù)后放入緩沖區(qū),并設(shè)置狀態(tài)位,然后通過消息隊列通知OS_MAIN_TASK進行適當(dāng)?shù)奶幚?。CAN、LIN總線數(shù)據(jù)發(fā)送則直接通過OS_MAIN_TASK發(fā)起。

OS_WIRELESS_PROCESS管理無線通信的連接。無線連接具有多個狀態(tài),包括LISTEN、CONNECTED、FIRST_SEND、CLOSED等,分別代表等待連接、連接建立、明鑰已發(fā)送、連接關(guān)閉。無線連接狀態(tài)切換時需要通過消息隊列通知OS_MAIN_ TASK,主任務(wù)根據(jù)不同連接狀態(tài)進行管理控制。OS_MAIN_TASK任務(wù)流程如圖6所示。

子節(jié)點程序相對簡單,同時子節(jié)點控制芯片的能力較弱,因此程序設(shè)計基于前后臺方式。子節(jié)點通過LIN總線接收主節(jié)點的命令幀后,通過驅(qū)動電路帶動電機開/關(guān)鎖。在開/關(guān)鎖的過程中監(jiān)控電機電流,檢查是否發(fā)生故障,并返回汽車門鎖狀態(tài)信息以及故障情況。子節(jié)點的工作流程如圖7所示。

隨著汽車的電子網(wǎng)絡(luò)化發(fā)展,低成本的LIN網(wǎng)絡(luò)將會得到越來越廣泛的應(yīng)用。本文介紹并實現(xiàn)的基于CAN/LIN混合網(wǎng)絡(luò)的自動門鎖控制模塊是汽車車身控制中的典型應(yīng)用,它提高了車身整體的自動化程度,有著良好的應(yīng)用前景。



評論


技術(shù)專區(qū)

關(guān)閉