LIN總線在電動(dòng)車窗系統(tǒng)控制中的應(yīng)用
引言
LIN總線是一種用于汽車分布電子系統(tǒng)的新型低成本串行通訊網(wǎng)絡(luò),其目標(biāo)是為現(xiàn)有汽車網(wǎng)絡(luò)(例如CAN總線)提供輔助功能。LIN總線瞄準(zhǔn)一些低端應(yīng)用,在這些應(yīng)用中每個(gè)節(jié)點(diǎn)的通訊成本都必須大大低于CAN,而且不需要CAN的高性能、高帶寬和多功能等。它相對(duì)于CAN的成本節(jié)省主要是由于采用單線傳輸、硅片中硬件或軟件的低實(shí)現(xiàn)成本,以及無需在從屬節(jié)點(diǎn)中使用石英或陶瓷諧振器等。
相對(duì)于發(fā)動(dòng)機(jī)和底盤系統(tǒng)控制,車身附件系統(tǒng)控制對(duì)安全性和可靠性等要求并不高,而車身附件所具有的各種開關(guān),正是車輛線束復(fù)雜的重要原因。LIN總線能大量節(jié)省線束,以及易于升級(jí)換代和便于實(shí)現(xiàn)診斷功能的特點(diǎn),正使它成為車身電子最重要的發(fā)展方向。作為車身附件的重要組成部分,同時(shí)駕駛員車門可以對(duì)其他成員車門進(jìn)行控制,電動(dòng)車窗采用LIN總線控制方式無疑很好的選擇。
LIN總線的通信過程
相對(duì)于CAN總線的各節(jié)點(diǎn)發(fā)送消息的無序性,LIN總線網(wǎng)絡(luò)中存在一個(gè)主節(jié)點(diǎn),它是所有節(jié)點(diǎn)通信的發(fā)起者,雖然通信速率較低(1-20Kbps),但它本質(zhì)屬于延遲時(shí)間確定性網(wǎng)絡(luò)。需要通信時(shí),主節(jié)點(diǎn)線發(fā)送一個(gè)Break(一般長度大于或等于11bit位),主要目的是為了產(chǎn)生一個(gè)幀格式錯(cuò)誤(FrameError)。然后主節(jié)點(diǎn)將發(fā)送1字節(jié)的同步場(0x55),以便各從節(jié)點(diǎn)充分地同步,而后將發(fā)送1字節(jié)的ID位,從節(jié)點(diǎn)在收到ID后,根據(jù)協(xié)議解析出是否向總線上發(fā)送數(shù)據(jù)或接受數(shù)據(jù)或不做任何響應(yīng)。LIN總線數(shù)據(jù)一般為0-8字節(jié)(LIN1.3及以前版本數(shù)據(jù)字節(jié)數(shù)位0、2、4、8byte)。在主節(jié)點(diǎn)或從節(jié)點(diǎn)發(fā)送完數(shù)據(jù)后,將發(fā)送1字節(jié)的數(shù)據(jù)校驗(yàn)(Checksum),接受數(shù)據(jù)節(jié)點(diǎn)將依據(jù)其判斷數(shù)據(jù)的正確性,從而確定是否接受發(fā)來的數(shù)據(jù)。
圖1LIN總線的數(shù)據(jù)幀結(jié)構(gòu)
車門模塊網(wǎng)絡(luò)的工作原理
由于駕駛員車門除了要控制本車門上的車窗升降,還需控制乘客車門上的車窗升降,所以將駕駛員車門的車窗控制模塊作為主節(jié)點(diǎn),其他乘客車門的車窗控制模塊作為從節(jié)點(diǎn)??紤]成本和軟件設(shè)計(jì)的方便性,乘客車門的車窗控制模塊采用了相同的硬件。在本次設(shè)計(jì)中,駕駛員車門模塊控制器上采用了Freescale的8位單片機(jī)——MC68HC908QC16,同時(shí)考慮到數(shù)量對(duì)成本的影響,且QC16與其低級(jí)產(chǎn)品(QC4、QC2)的價(jià)格相差不多,從節(jié)點(diǎn)我們也采用了與主節(jié)點(diǎn)相同的芯片。從下文可以看出,這種選擇是合適的。再考慮到要最大限度地節(jié)省線束的原因,在整個(gè)車窗控制網(wǎng)絡(luò)中采取了分布式的驅(qū)動(dòng)控制方式。即主節(jié)點(diǎn)的搖窗電機(jī)的驅(qū)動(dòng)由主節(jié)點(diǎn)獨(dú)立控制,從節(jié)點(diǎn)的驅(qū)動(dòng)也由從節(jié)點(diǎn)各自實(shí)現(xiàn)。
相對(duì)于傳統(tǒng)的SCI,QC16所帶有的ESCI(enhancedSCI)為LIN網(wǎng)絡(luò)設(shè)計(jì)提供了更大的方便,包括自由選擇Break的長短和更為靈活的波特率設(shè)計(jì)等。LIN收發(fā)器芯片我們采用Freescale的兼容LIN2.0協(xié)議的MC33661通信芯片。考慮到總線對(duì)電源的要求和系統(tǒng)成本,電源芯片采用了LM2931。
在此LIN網(wǎng)絡(luò)中,主節(jié)點(diǎn)(駕駛員車門模塊)的主要任務(wù)是采集四個(gè)車窗的上升和下降信號(hào),另加一個(gè)兒童鎖(用以鎖止從節(jié)點(diǎn)車窗控制器的工作)和一個(gè)點(diǎn)火開關(guān)信號(hào),同時(shí)控制整個(gè)網(wǎng)絡(luò)通信的發(fā)起,即各數(shù)據(jù)幀之間的時(shí)間間隔。在硬件設(shè)計(jì)中,每個(gè)微動(dòng)開關(guān)都占用一個(gè)I/O口,默認(rèn)無效的狀態(tài)為高電平,我們采取了內(nèi)部拉高的方式。當(dāng)按下或拔起相應(yīng)的開關(guān)時(shí),對(duì)應(yīng)的I/O輸入端變?yōu)榈碗娖?。為了?shí)現(xiàn)駕駛員車窗的自動(dòng)下降功能,將其對(duì)應(yīng)的輸入接到了定時(shí)器模塊的輸入捕捉通道上,這樣就可以通過捕捉下降沿來開始計(jì)時(shí),從而區(qū)別出手動(dòng)和自動(dòng)狀態(tài)(按鍵時(shí)間300ms,自動(dòng))。對(duì)于點(diǎn)火開關(guān)信號(hào),設(shè)計(jì)要求為只有在點(diǎn)火開關(guān)的信號(hào)有效時(shí),各車窗才可以升降,而在點(diǎn)火開關(guān)關(guān)閉的60s內(nèi),仍認(rèn)為其處于有效狀態(tài)。另外,還需將點(diǎn)火開關(guān)和兒童鎖信號(hào)的有效性通過LIN總線數(shù)據(jù)位的某些數(shù)據(jù)值體現(xiàn)出來,從節(jié)點(diǎn)通過判斷這些數(shù)據(jù)位的數(shù)值便可得到相應(yīng)的狀態(tài)信息,從而控制相應(yīng)的電機(jī)動(dòng)作。
評(píng)論