LIN總線(xiàn)在電動(dòng)車(chē)窗系統控制中的應用
引言
LIN總線(xiàn)是一種用于汽車(chē)分布電子系統的新型低成本串行通訊網(wǎng)絡(luò ),其目標是為現有汽車(chē)網(wǎng)絡(luò )(例如CAN總線(xiàn))提供輔助功能。LIN總線(xiàn)瞄準一些低端應用,在這些應用中每個(gè)節點(diǎn)的通訊成本都必須大大低于CAN,而且不需要CAN的高性能、高帶寬和多功能等。它相對于CAN的成本節省主要是由于采用單線(xiàn)傳輸、硅片中硬件或軟件的低實(shí)現成本,以及無(wú)需在從屬節點(diǎn)中使用石英或陶瓷諧振器等。
相對于發(fā)動(dòng)機和底盤(pán)系統控制,車(chē)身附件系統控制對安全性和可靠性等要求并不高,而車(chē)身附件所具有的各種開(kāi)關(guān),正是車(chē)輛線(xiàn)束復雜的重要原因。LIN總線(xiàn)能大量節省線(xiàn)束,以及易于升級換代和便于實(shí)現診斷功能的特點(diǎn),正使它成為車(chē)身電子最重要的發(fā)展方向。作為車(chē)身附件的重要組成部分,同時(shí)駕駛員車(chē)門(mén)可以對其他成員車(chē)門(mén)進(jìn)行控制,電動(dòng)車(chē)窗采用LIN總線(xiàn)控制方式無(wú)疑很好的選擇。
LIN總線(xiàn)的通信過(guò)程
相對于CAN總線(xiàn)的各節點(diǎn)發(fā)送消息的無(wú)序性,LIN總線(xiàn)網(wǎng)絡(luò )中存在一個(gè)主節點(diǎn),它是所有節點(diǎn)通信的發(fā)起者,雖然通信速率較低(1-20Kbps),但它本質(zhì)屬于延遲時(shí)間確定性網(wǎng)絡(luò )。需要通信時(shí),主節點(diǎn)線(xiàn)發(fā)送一個(gè)Break(一般長(cháng)度大于或等于11bit位),主要目的是為了產(chǎn)生一個(gè)幀格式錯誤(FrameError)。然后主節點(diǎn)將發(fā)送1字節的同步場(chǎng)(0x55),以便各從節點(diǎn)充分地同步,而后將發(fā)送1字節的ID位,從節點(diǎn)在收到ID后,根據協(xié)議解析出是否向總線(xiàn)上發(fā)送數據或接受數據或不做任何響應。LIN總線(xiàn)數據一般為0-8字節(LIN1.3及以前版本數據字節數位0、2、4、8byte)。在主節點(diǎn)或從節點(diǎn)發(fā)送完數據后,將發(fā)送1字節的數據校驗(Checksum),接受數據節點(diǎn)將依據其判斷數據的正確性,從而確定是否接受發(fā)來(lái)的數據。

圖1LIN總線(xiàn)的數據幀結構
車(chē)門(mén)模塊網(wǎng)絡(luò )的工作原理
由于駕駛員車(chē)門(mén)除了要控制本車(chē)門(mén)上的車(chē)窗升降,還需控制乘客車(chē)門(mén)上的車(chē)窗升降,所以將駕駛員車(chē)門(mén)的車(chē)窗控制模塊作為主節點(diǎn),其他乘客車(chē)門(mén)的車(chē)窗控制模塊作為從節點(diǎn)??紤]成本和軟件設計的方便性,乘客車(chē)門(mén)的車(chē)窗控制模塊采用了相同的硬件。在本次設計中,駕駛員車(chē)門(mén)模塊控制器上采用了Freescale的8位單片機——MC68HC908QC16,同時(shí)考慮到數量對成本的影響,且QC16與其低級產(chǎn)品(QC4、QC2)的價(jià)格相差不多,從節點(diǎn)我們也采用了與主節點(diǎn)相同的芯片。從下文可以看出,這種選擇是合適的。再考慮到要最大限度地節省線(xiàn)束的原因,在整個(gè)車(chē)窗控制網(wǎng)絡(luò )中采取了分布式的驅動(dòng)控制方式。即主節點(diǎn)的搖窗電機的驅動(dòng)由主節點(diǎn)獨立控制,從節點(diǎn)的驅動(dòng)也由從節點(diǎn)各自實(shí)現。
相對于傳統的SCI,QC16所帶有的ESCI(enhancedSCI)為L(cháng)IN網(wǎng)絡(luò )設計提供了更大的方便,包括自由選擇Break的長(cháng)短和更為靈活的波特率設計等。LIN收發(fā)器芯片我們采用Freescale的兼容LIN2.0協(xié)議的MC33661通信芯片??紤]到總線(xiàn)對電源的要求和系統成本,電源芯片采用了LM2931。
在此LIN網(wǎng)絡(luò )中,主節點(diǎn)(駕駛員車(chē)門(mén)模塊)的主要任務(wù)是采集四個(gè)車(chē)窗的上升和下降信號,另加一個(gè)兒童鎖(用以鎖止從節點(diǎn)車(chē)窗控制器的工作)和一個(gè)點(diǎn)火開(kāi)關(guān)信號,同時(shí)控制整個(gè)網(wǎng)絡(luò )通信的發(fā)起,即各數據幀之間的時(shí)間間隔。在硬件設計中,每個(gè)微動(dòng)開(kāi)關(guān)都占用一個(gè)I/O口,默認無(wú)效的狀態(tài)為高電平,我們采取了內部拉高的方式。當按下或拔起相應的開(kāi)關(guān)時(shí),對應的I/O輸入端變?yōu)榈碗娖?。為了?shí)現駕駛員車(chē)窗的自動(dòng)下降功能,將其對應的輸入接到了定時(shí)器模塊的輸入捕捉通道上,這樣就可以通過(guò)捕捉下降沿來(lái)開(kāi)始計時(shí),從而區別出手動(dòng)和自動(dòng)狀態(tài)(按鍵時(shí)間300ms,自動(dòng))。對于點(diǎn)火開(kāi)關(guān)信號,設計要求為只有在點(diǎn)火開(kāi)關(guān)的信號有效時(shí),各車(chē)窗才可以升降,而在點(diǎn)火開(kāi)關(guān)關(guān)閉的60s內,仍認為其處于有效狀態(tài)。另外,還需將點(diǎn)火開(kāi)關(guān)和兒童鎖信號的有效性通過(guò)LIN總線(xiàn)數據位的某些數據值體現出來(lái),從節點(diǎn)通過(guò)判斷這些數據位的數值便可得到相應的狀態(tài)信息,從而控制相應的電機動(dòng)作。
評論