- LIN Bus簡介及實(shí)例
- LIN Bus技術(shù)現(xiàn)況
- 運(yùn)作架構(gòu)
- 系統(tǒng)最佳化技術(shù)
- 與CAN Bus的區(qū)隔
- 門控建置開發(fā)
LIN Bus在車用總線中以低成本、省資源為其特點(diǎn),妥善運(yùn)用將可提高汽車附加價(jià)值。本文將介紹LIN Bus技術(shù)現(xiàn)況、運(yùn)作架構(gòu)、系統(tǒng)最佳化技術(shù)、與CAN Bus的區(qū)隔,并以門控建置開發(fā)實(shí)例提供進(jìn)一步的說明。
今日汽車的設(shè)計(jì)在安全、舒適、便利和環(huán)保等訴求下,對電子技術(shù)的仰賴日益加深。目前在汽車架構(gòu)中的車體(Car body)、傳動系統(tǒng)(Power train)、安全系統(tǒng)(Safety)和車載資通娛樂系統(tǒng)(TelemaTIcs/Infotainment)等各個部分中,都可以看到愈來愈多的電子控制組件(ECU),它們賦與汽車更具智能性的操控能力,例如會自動檢查門窗、車燈是否關(guān)閉,在駕駛?cè)诉M(jìn)入車內(nèi)前自動接通電源,離開時(shí)則會檢查是否切斷電源等等。
目前汽車內(nèi)電子組件的連結(jié)愈來愈復(fù)雜,一臺車中平均存在著80個左右的電子組件或模組系統(tǒng)。過去采用傳統(tǒng)的電纜方式來連結(jié)車燈、電動機(jī)、電磁閥、加熱器、空調(diào)等設(shè)備,若以此方式來連結(jié)電子組件,龐大的纜線數(shù)量將造成車體重量的沉重負(fù)擔(dān)。因此,有必要導(dǎo)入標(biāo)準(zhǔn)化的總線技術(shù),此舉除了降低建置的困難度及配線重量外,也能提升控制的精確性,而且比較不會有線路老化、磨損的問題。
在此趨勢下,已有各種總線技術(shù)出現(xiàn)在車載網(wǎng)路(In-Vehicle Network)當(dāng)中,它們各有其技術(shù)特色,適合不同的應(yīng)用領(lǐng)域。大致上可以分為五類:第一類是傳輸速度最低的LIN、TTP/A,適用于車體控制;第二類包括低速CAN、SAE J1850、VAN(Vehicle Area Network)等中速網(wǎng)路總線,適用于對即時(shí)性要求不高的通信應(yīng)用;第三類包括高速CAN、TTP/C等,適用于高速、即時(shí)閉環(huán)控制的多路傳輸網(wǎng);第四類包括IDB-C、IDB-M(D2B、MOST、IDB1394)、IDB-Wireless(藍(lán)芽)等,專門用在車載資通娛樂網(wǎng)路之中;第五類則包括 FlexRay和Byteflight,用在最具關(guān)鍵性、即時(shí)性最高的人身安全系統(tǒng)(請參考表一)。
本文將探討LIN的技術(shù)規(guī)格現(xiàn)況及在門控系統(tǒng)中的建置實(shí)例。
LIN Bus技術(shù)現(xiàn)況
區(qū)域互連網(wǎng)路(Local Interconnect Network, LIN)是基于序列通信協(xié)定的車載總線的子集系統(tǒng)(sub-bus system)。為了支持多個智慧性節(jié)點(diǎn)的分布式系統(tǒng)設(shè)計(jì),LIN提供標(biāo)準(zhǔn)化的API以及軟件設(shè)計(jì)流程。它的傳輸速度雖然不高,但其低成本的特性,能為不需要用到CAN的裝置提供較為完善的網(wǎng)路功能,包括空調(diào)控制(Climate Control)、后照鏡(Mirrors)、車門模組(Door Modules)、座椅(Seats)、智能性交換器(Smart Switches)、低成本感測器(Low-cost Sensors)等,請參考圖一。
在重要規(guī)格的演進(jìn)上,自1999年推出LIN 1.0版、2002年12月修訂LIN 1.3版,并在2003年9月再次發(fā)布LIN 2.0版規(guī)范,持續(xù)改進(jìn)了LIN總線的性能與適用性。此外,美國汽車工程師協(xié)會(SAE)下屬的車輛架構(gòu)任務(wù)組(Task Force)也基于LIN 2.0提出J2602規(guī)范,進(jìn)一步降低了LIN 2.0中軟件單元的復(fù)雜性,此舉讓LIN從節(jié)點(diǎn)所需要的軟件代碼長度縮短,在建置上會更有效率。此外,市場上的領(lǐng)導(dǎo)業(yè)者也會針對LIN的效能提出改善技術(shù),例如ST的LINSCI。一般來說,LIN的主要特色及優(yōu)勢包括:
- 采用一個主節(jié)點(diǎn)、多個從節(jié)點(diǎn)的概念(最多支持16個節(jié)點(diǎn));
- 由于基于普通UART/SCI接口協(xié)定,其軟硬件成本極低;
- 在從節(jié)點(diǎn)(slave node)中不用晶體振蕩器(crystal oscillator)或陶瓷諧振器(ceramic resonator)時(shí)鐘,也能做到自同步性,這能進(jìn)一步降低成本;
- 信號傳播時(shí)間可預(yù)先計(jì)算,以滿足信號傳輸?shù)拇_定性;
- 基于應(yīng)用交互作用的信號;
- 可達(dá) 20 kbps資料傳輸率;
- 總線電纜的長度最多可以擴(kuò)展到40公尺;[page]
LIN Bus運(yùn)作架構(gòu)
LIN網(wǎng)路是基于「一主多從」的主從原則(master/slave principle)而形成的拓樸結(jié)構(gòu),因此需要由主節(jié)點(diǎn)周期性地對從節(jié)點(diǎn)發(fā)出詢問動作。周期的設(shè)定必須根據(jù)事件偵測的即時(shí)性要求,并將從節(jié)點(diǎn)的偵測結(jié)果傳送到到主控制器。
在LIN上傳輸?shù)挠嵦?,其訊框結(jié)構(gòu)上是由一個由主任務(wù)提供的標(biāo)頭(header)和由從任務(wù)處理的回應(yīng)部分(Response)所構(gòu)成。標(biāo)頭包含一個13 位的同步間隔欄位(synch break field);一個由主任務(wù)產(chǎn)生的同步欄位(synch field);以及一個辨識欄位(identifier field)。其中每一個位組欄位都以串行位元組方式發(fā)送,起始位元組的第一位編碼為“0”,而終止位編碼為“1”。
在回應(yīng)部分則包含二、四或八個位組的資料欄位(data filed),以及一個位組的驗(yàn)證欄位(checksum field)。由主任務(wù)執(zhí)行的訊框標(biāo)頭會依整個LIN叢集的進(jìn)度表決定每個訊框的傳輸時(shí)間,以確保網(wǎng)路不會超載,并能確保資料傳輸?shù)拇_定性。在LIN網(wǎng)路中只有主節(jié)點(diǎn)采用晶體振蕩器來為系統(tǒng)提供精確的基本時(shí)鐘,此時(shí)鐘會嵌入上述的同步欄位中,讓從任務(wù)能與主節(jié)點(diǎn)時(shí)序同步。請參考圖二。
LINSCI最佳化LIN系統(tǒng)
以標(biāo)準(zhǔn)SCI所建置的LIN網(wǎng)路雖已具備極佳的建置優(yōu)勢,但讓想讓系統(tǒng)等級獲得最佳化,仍存在一些限制。若想得到最佳化的LIN系統(tǒng),必須考慮以下因素:
- LIN傳輸所需要的CPU負(fù)荷;
- 應(yīng)用上所需要的時(shí)脈準(zhǔn)確性;
- LIN傳輸?shù)念l寬;
- LIN界面的穩(wěn)定性/有效性;
因此,為了達(dá)到最佳化的需求,有必要在硬體技術(shù)上進(jìn)行強(qiáng)化。ST的LINSCI即是經(jīng)過強(qiáng)化的硬體SCI埠,可透過減少CPU負(fù)載來提升系統(tǒng)效能;另外,其內(nèi)部的1MHz震蕩器、帶有運(yùn)算放大器的快速10位ADC,以及低電壓檢測器的可修整重啟電路─可透過消除對這些功能所需之外部電路的需求來簡化系統(tǒng)設(shè)計(jì)并降低制造成本。8Kbyte的擴(kuò)充快閃記憶體能在單一供給電壓下操作,以降低電路板復(fù)雜度并提供更快速的編程能力。
LINSCI可以被嵌入在一顆很小的8-bit MCU中,它的目的就是要讓從設(shè)備的LIN功能能完全發(fā)揮,其功能包括標(biāo)頭偵測(Header Detection)、指示器(Identifier)和非相關(guān)位組過濾(Irrelevant Byte Filtering)、延伸性錯誤偵測(Extended Error Detection)和再同步化(Resynchronisation)等。LINSCI的訊框架構(gòu)請參考圖三。
進(jìn)一步來看,LIN的鮑率(Baud rate)是10kbps和20kbps,這很難達(dá)成標(biāo)準(zhǔn)SCI位時(shí)間取樣原則所需要的2%準(zhǔn)確性。這是因?yàn)轷U率預(yù)定標(biāo)器(prescaler)的有限分辨率所造成的。假設(shè)CPU的頻率是8MHz,LIN的鮑率是20kbps,由于LIN的時(shí)脈容忍度是15%,這造成2.33%的量化錯誤。在LINSCI 中則以12位unsigned定點(diǎn)值(即LDIV)來取代8位整數(shù)值的鮑率預(yù)定標(biāo)器,能讓上述的量化誤差下降到0.15%。
門控系統(tǒng)建置案例
以下將以門控模組系統(tǒng)的建置,進(jìn)一步說明LIN總線的應(yīng)用及設(shè)計(jì)要求。在今日中階及高階車款中的門控系統(tǒng),往往需要這些功能:
- 門鎖(lock)和防盜門鎖(dead lock latch);
- 動力車窗(Power Window)升降;
- 踏腳燈(Footstep light);
- 切換面板照明(Switch panel illumination);
圖四顯示以LIN網(wǎng)路組成的門控系統(tǒng),它的主控節(jié)點(diǎn)是由一個中央車體控制單元(Central Body ECU),它和車體CAN網(wǎng)路相連結(jié)。每個車門都由一個車門模組(DM-Driver, DM-Passenger, DM-RearRight, DM-RearLeft)所組成,能夠提供動力車窗及門鎖功能。此外,兩個前門都有后視鏡控制(MMR, MML)的從節(jié)點(diǎn)。在此系統(tǒng)中,還會有一個嵌在駕駛端的中央切換面板(Central Switch panel, SP),它是一個獨(dú)立的從節(jié)點(diǎn),由它來控制所有的動力車窗、手動門鎖及后視鏡調(diào)整等功能。
此系統(tǒng)會對LIN網(wǎng)路形成下述要求:
- 當(dāng)主控器收到從遙控鑰匙發(fā)出的有效訊號時(shí),必須要啟動門控系統(tǒng),從節(jié)點(diǎn)通常是通過CAN總線來接收;
- 當(dāng)正確的鑰匙打開前門時(shí),也同時(shí)啟動門控系統(tǒng);從節(jié)點(diǎn)會直接反應(yīng)而不需經(jīng)由與主控器的通訊;
- 對切換面板的詢問動作(Polling),以確?;貞?yīng)對各個驅(qū)動裝置控制(動力車窗、后視鏡調(diào)整、門鎖)的主動式切換;
- 對所有從節(jié)點(diǎn)的詢問動作,以得到車窗升降的位置狀態(tài),以及車門的開關(guān)情況;
- 對所有從節(jié)點(diǎn)的睡眠模式控制(即電池供應(yīng)操作模式);
在清楚了LIN網(wǎng)路的要求后,我們必須選擇功能相符的微控制器(MCU)來達(dá)成。這些MCU必須針對車窗的升降提供防夾(AnTI pinch)、馬達(dá)的PWM控制及車窗位置的監(jiān)控功能;能以SPI接口來控制門鎖馬達(dá);對于車鑰匙的拔出及開門的動作,能夠提供電源供應(yīng)模式的接觸式監(jiān)控,以及對后視鏡及切換面板的操控功能。(圖五)是門控模組的功能方塊圖架構(gòu)。
在系統(tǒng)的規(guī)劃上,要一些注意的要領(lǐng),這包括時(shí)序的準(zhǔn)確性,也就是為了正確的運(yùn)作,車門模組需要一個容忍度小于3%的時(shí)間參考,車窗防夾(anti- pinch)功能的復(fù)雜算法就需要這種準(zhǔn)確性。此外,針對安全性(如防夾)和便利性(如門鎖偵測)等功能,都會有實(shí)時(shí)性的要求。
以手動打開汽車門鎖的動作為例,從鑰匙插入門鎖到打開,可接受的延遲時(shí)間必須小于200ms,這表示反應(yīng)時(shí)間很短。傳動馬達(dá)需要約100ms去打開門鎖,這只留100ms給MCU來完成從低功率模式啟動、偵測到鑰匙,并觸發(fā)傳動裝置等動作。因此這個網(wǎng)路必須采用LIN最快的傳輸速率,也就是 20kbps。而在20kbps的傳輸率下,CPU的反應(yīng)時(shí)間必須要小于1ms,否則資料會漏失,LIN的傳輸會失敗。
另一個設(shè)計(jì)議題則是功耗,這對于多數(shù)的ECU來說都是很關(guān)鍵的。以門控系統(tǒng)來說,即使車子熄火了,系統(tǒng)仍需進(jìn)行間隔性的監(jiān)控詢問動作,這就會造成車子電力的持續(xù)消耗。監(jiān)控的延遲間隔設(shè)定是蠻矛盾的事,因時(shí)間間隔太長,則會造成反應(yīng)動作上的遲鈍現(xiàn)象,但太短,又會增加系統(tǒng)的功耗。[page]
故障安全設(shè)計(jì)
相較于車體CAN總線系統(tǒng),LIN總線并不具有錯誤容忍性(fault tolerant),因此必須考慮短路時(shí)總線線路的故障安全(fail-safe)機(jī)制,也就是每個節(jié)點(diǎn)必須有能力分辨出短路的總線線路。反應(yīng)動作必須遵循特定的程序(例如讓門鎖維持在打開的狀態(tài),而每個節(jié)點(diǎn)的功耗應(yīng)盡可能降低)。
以ST的L9638 LIN收發(fā)器為例,它能提供額外的故障安全裝置(fail-safe)功能,例如對短路狀態(tài)的處理。當(dāng)MCU辨識出短路的LIN總線線路,電子控制器(ECU)可以把自己關(guān)掉,當(dāng)收發(fā)器在消除短路狀況后還能夠重新啟動。
LIN Bus與CAN Bus有所區(qū)隔
目前電子控制組件已散布整臺車子,它們讓傳動及感測功能變得更有智能性。在本文介紹的LIN網(wǎng)路是屬于低傳輸速率的總線規(guī)格,但它的低成本及傳輸?shù)恼_性,仍然相當(dāng)受到車廠的歡迎。據(jù)估計(jì)在歐洲新出廠的車子中,LIN的應(yīng)用占了相當(dāng)大的比例。
當(dāng)然,LIN不會有和CAN總線控制網(wǎng)路相同的效能,因此,在某一特定的車載系統(tǒng)中,LIN總線是否能提供滿意的效能,就得看應(yīng)用本身的需求而定。此外,透過專屬的設(shè)計(jì),能夠讓LIN的功能得到全面性的發(fā)揮,例如將LIN協(xié)定以硬體方式建置(如LINSCI),可以讓LIN的驅(qū)動程序碼更為簡化,也能增加系統(tǒng)的可靠性。MCU的設(shè)計(jì)也是一大關(guān)鍵,以ST72F361為例,它在標(biāo)準(zhǔn)MCU上提供先進(jìn)的SCI接口,并支持LIN功能,除了能降低 CPU的負(fù)荷外,也能省卻較高成本的精準(zhǔn)時(shí)序資源。
LIN總線本來就是為了與CAN形成區(qū)隔而設(shè)計(jì)的,以門控系統(tǒng)來說,它能大大降低從主控器連結(jié)到每個車門的線路數(shù)量,而成本也會比采用CAN總線控制的解決方案來得低。不過,如果是更關(guān)鍵性的應(yīng)用,就得考慮成本更高的CAN,以兩線總線來提供容錯能力及更高的效能。