基于LIN總線的汽車后視鏡控制模塊設(shè)計
摘要 以MC9S12DG128為主控單元、MM908E622為后視鏡單元,采用單主多從的總線控制方式,設(shè)計了一種基于LIN總線的汽車后視鏡控制模塊。主控單元以單片機MC9S12DG128為核心,通過LIN收發(fā)器MC33661實現(xiàn)對總線數(shù)據(jù)的收發(fā),同時將液晶觸摸信號轉(zhuǎn)換為LIN指令以達到對后視鏡單元的整體控制。后視鏡單元以MM908E622作為從單元控制器,內(nèi)置LIN收發(fā)器和電機驅(qū)動電路,具有優(yōu)異的調(diào)控能力,適用于控制汽車高端后視鏡。設(shè)計中體現(xiàn)了汽車車身電子的智能化和網(wǎng)絡(luò)化,在汽車工業(yè)中有較高的應用價值。
關(guān)鍵詞 LIN;汽車電子;MC9S12DG128;MM908E622;MC33661
隨著汽車技術(shù)的日益發(fā)展,汽車設(shè)備的電子化、智能化、網(wǎng)絡(luò)化是現(xiàn)代汽車發(fā)展的重要標志之一。傳統(tǒng)汽車后視鏡是采用手動方式調(diào)整位置。隨著技術(shù)的發(fā)展,目前汽車的后視鏡多采用網(wǎng)絡(luò)控制方式,以減少駕駛員對后視鏡模塊的頻繁操作,提高駕駛舒適性和安全性。采用網(wǎng)絡(luò)方式控制的后視鏡系統(tǒng),在傳統(tǒng)控制系統(tǒng)的基礎(chǔ)上增加了兩個控制單元和一個控制網(wǎng)絡(luò),這樣用戶可以由車外控制轉(zhuǎn)變?yōu)檐噧?nèi)控制。LIN總線是一種建立在通用SCI或UART硬件接口上,用于將車輛中分布的智能傳感器和執(zhí)行器連接到車內(nèi)主控制器的單總線(12 V)串行通信協(xié)議。由于目前尚未建立低端多路通信的汽車標準,所以從價格和實用性等因素考慮,LIN在低端網(wǎng)絡(luò)中具有較強的競爭力,正逐漸發(fā)展成為低成本串行通信的行業(yè)標準。
1 硬件設(shè)計
系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)主要包括一個主節(jié)點、一個從節(jié)點和多個擴展從節(jié)點,主控單元由主控制器和液晶觸摸屏構(gòu)成,負責整個車身電子的控制。從單元由從控制器及后視鏡硬件驅(qū)動電路構(gòu)成,負責后視鏡的底層控制。主單元與從單元依靠LIN總線進行相互通信。主控制器將觸摸屏的控制信號轉(zhuǎn)換成相應的LIN指令發(fā)送給從控制器,后視鏡控制器接收到相應的指令后,對后視鏡進行相應的控制。系統(tǒng)整體結(jié)構(gòu)框圖如圖1
所示。
1.1 電源模塊
電源控制模塊將外部波動的車身電源轉(zhuǎn)換成適合MCU工作的電壓,為MCU提供穩(wěn)定的工作電壓。設(shè)計選取的電源模塊為LM7805,負責將車身12 V電源:轉(zhuǎn)換為5 V,所需外圍元件較少,內(nèi)部還有過流、過熱及調(diào)整管的保護電路,使用方便可靠、且價格便宜。
1.2 液晶模塊
液晶模塊是整個系統(tǒng)的輸入,是用戶與系統(tǒng)相互連接的媒介。設(shè)計選取的液晶型號為Z2104,該屏幕為電阻屏,內(nèi)置VCA控制板,與控制器通過串口進行通信,工作電壓為12 V。主控制器可以直接通過串口讀取液晶屏觸摸信號及對液晶屏畫面進行控制。主控制器將液晶屏幕的觸摸信號轉(zhuǎn)換成LIN總線指令,通過UART/SCI模塊發(fā)送到LIN總線,同時也能將LIN總線上的數(shù)據(jù)反饋到液晶屏上。液晶模塊是整個系統(tǒng)運行的重要載體。
1.3 后視鏡單元
后視鏡單元作為LIN網(wǎng)絡(luò)中的從單元主要由電源模塊、微控制器、電機驅(qū)動電路等組成。選取Freescale公司生產(chǎn)的高性能汽車型電子型芯片MM908E622作為從單元控制器,內(nèi)置LIN收發(fā)器和電機驅(qū)動電路,具有良好的調(diào)控能力,適用于控制汽車高端后視鏡。
1.4 控制器模塊
主控單元采用MCU是Freescale公司推出的HCS12系列單片機,其具有增強型的16位單片機MC9S12DG128,該系列單片機在汽車電子領(lǐng)域有著廣泛的應用。HCS12系列單片機的中央處理器CPU12由以下3部分組成:算術(shù)邏輯單元ALU、控制單元和寄存器組。CPU外部振蕩器頻率為8 MHz或者16 MHz,通過內(nèi)部鎖相環(huán)(PLE),可以使內(nèi)部總線速度達到25 MHz。
MC9S12DC128作為HCS12系列的一種,內(nèi)部資源豐富:(1)時鐘和復位模塊。(2)存儲器。(3)兩個8路A/D轉(zhuǎn)換器。(4)增強型捕捉定時器。(5)8路PWM通道。(6)兩個異步串行通信接口模塊SCI。(7)3個1 Mbit·s-1,CAN2.0A,CAN2.0B兼容模塊。(8)SAE J1850網(wǎng)絡(luò)通訊口。
控制器模塊是整個系統(tǒng)的核心,是LIN總線穩(wěn)定運行的重要保障。而單片機MC9S12DG128作為Freescale公司高性能汽車型電子型芯片,能夠滿足系統(tǒng)要求。
1.5 MC9S12DG128與MC33661的硬件連接
LIN收發(fā)器是LIN主/從協(xié)議控制器和LIN物理總線之間的接口,其波特率一般為2.4~20 kbit·s-1。設(shè)計選用Freescale公司的MC33 689,是一款通過SPI控制的系統(tǒng)基礎(chǔ)芯片,其內(nèi)部除帶有LIN物理層收發(fā)器外,還集成了很多在以MCU為基礎(chǔ)構(gòu)成的系統(tǒng)中的常用功能。其與MCU的硬件連接如圖2所示。控制器MCU在TXD引腳輸入的發(fā)送數(shù)據(jù)流,通過LIN收發(fā)器轉(zhuǎn)換成LIN總線信號,并由收發(fā)器控制轉(zhuǎn)換速率和波形。
LIN總線的輸出引腳通過一個內(nèi)部終端電阻拉成高電平。收發(fā)器在LIN總線的輸入引腳檢測數(shù)據(jù)流并通過引腳RXD發(fā)送到MCU。LIN總線是一種基于UART/SCI的數(shù)據(jù)格式,一種新型低成本的串行通信總線。
2 軟件設(shè)計
2.1 LIN協(xié)議
2.1.1 LIN網(wǎng)絡(luò)結(jié)構(gòu)
從協(xié)議通訊的角度看,一個UN網(wǎng)絡(luò)通常由一個主機任務(wù)模塊(Master Task)和若干個從機任務(wù)模塊(Slave Task)組成。主機節(jié)點中既有主機任務(wù)模塊又有從機任務(wù)模塊;其他節(jié)點都只有從機任務(wù)模塊,如圖3所示。在LIN網(wǎng)絡(luò)中,由主機任務(wù)模塊決定何時在總線上傳輸什么報文幀,而從機任務(wù)模塊則提供每一幀需要傳送的數(shù)據(jù)。主機任務(wù)模塊和從機任務(wù)模塊都是幀處理層的組成部分。
2.1.2 LIN報文幀
LIN總線的數(shù)據(jù)傳輸采用報文幀的形式進行,一個完整的報文幀由一個幀頭和一個響應幀組成。幀頭包括一個同步間隔場(Synch Break Field)、一個同步場(Synch Field)、和一個標識符場,而響應幀(Response)則由3~9 Byte場組成:2、4或8 Byte的數(shù)據(jù)場(Data Field)和一個校驗和場(Checksum Field),如圖4所示。報文幀的用途由標識符唯一定義,約定的從機任務(wù)根據(jù)標識符提供的相關(guān)的響應幀并發(fā)送到總線上,對這個標識符相聯(lián)的數(shù)據(jù)感興趣的從機任務(wù)將接收響應幀并校驗,校驗通過后對數(shù)據(jù)進行處理。這樣的通訊機制帶來了理想的效果,在LIN網(wǎng)絡(luò)中可以直接增加節(jié)點而不需要對其他從機節(jié)點的硬件和軟件進行修改;報文的內(nèi)容由標識符定義;多個節(jié)點可以同時接收一個單獨的報文幀,并對報文做出反應。
2.2 后視鏡控制系統(tǒng)軟件設(shè)計
LIN總線的軟件設(shè)計主要是基于主控芯片MC9SDG128的SCI(Serial Communication Interface)編程,SCI串行通信接口,是MCU與外界進行串行通信的重要方式,同時也是LIN協(xié)議實現(xiàn)的重要基礎(chǔ)。系統(tǒng)的軟件設(shè)計主要包括實現(xiàn)控制器與LIN總線通訊的中斷程序以及控制器對后視鏡單元控制的主程序。為確保通訊的實時性,系統(tǒng)采用高優(yōu)先級中斷來接收LIN總線上的信號。為保證系統(tǒng)的實時性,在中斷處理時除了進行一些簡單的判斷和數(shù)據(jù)接收外,其他部分都在主程序中處理。系統(tǒng)軟件流程圖如圖5所示。
2.3 LIN指令
由于設(shè)計的從控制器內(nèi)部集成了LIN收發(fā)器,這樣控制器可以直接從總線上進行讀取指令,然后分析指令對底層設(shè)備進行相應的控制。 LIN總線的數(shù)據(jù)格式是固定的,但數(shù)據(jù)長度及指令的定義由用戶自行設(shè)定,同時用戶可以根據(jù)LIN總線協(xié)議添加網(wǎng)絡(luò)子單元。LIN總線中后視鏡節(jié)點數(shù)據(jù)格式如表1所示,其數(shù)據(jù)幀長度為5 Byte,受保護標識符為0x50,讀取后視鏡運行狀態(tài)的命令:長度2 Byte0x55,0x92。
2.4 SCI初始化
編程時首先訪問波特率寄存器以設(shè)置串行通信的波特率,然后在SCI控制寄存器中設(shè)置通信格式、是否校驗、是否允許SCI發(fā)送接收、是否允許中斷等。最后通過SCI中斷來解決發(fā)送數(shù)據(jù)和接收數(shù)據(jù)。其中,SCI0模塊用于與上位機測控界面的通信,而SCI1模塊用于LIN總線通信。
2.5 LIN協(xié)議的實現(xiàn)
LIN協(xié)議的發(fā)送是由報文實現(xiàn),每個報文由主機節(jié)點發(fā)出的幀頭和主機或從機節(jié)點發(fā)出的報文響應組成。LIN網(wǎng)絡(luò)的每次通信都是由主機節(jié)點發(fā)起,主機節(jié)點控制整個網(wǎng)絡(luò)的通信配置。主機節(jié)點的任務(wù)是首先發(fā)送喚醒總線,然后發(fā)送報文幀頭中的同步間隔和同步場,使從機與主機同步,然后發(fā)送標示符。從機任務(wù)接收標示符后對標示符進行濾波確認,當標示符表明節(jié)點與本次通信有關(guān)時,發(fā)送由數(shù)據(jù)和校驗組成的響應。
3 結(jié)束語
基于LIN總線的汽車后視鏡控制模塊控制系統(tǒng),具有結(jié)構(gòu)簡單、性能可靠、功能較齊、價格低廉等特點。此系統(tǒng)利用軟件編程實現(xiàn)各種特性,并通過軟硬件功能增添新的特性、實現(xiàn)使用同—個硬件或者軟件平臺下不同的功能模塊,具有較強的拓展性和廣泛的應用前景。