LIN總線在家用電器中的應(yīng)用
本地互連網(wǎng)絡(luò) (LIN)總線協(xié)議是把開關(guān)、顯示器、傳感器及作動(dòng)器這些簡單的控制設(shè)備連接起來的網(wǎng)絡(luò),用于汽車,它的成本低于使用CAN(控制域網(wǎng)絡(luò))、MOST或者Byteflight。雖然LIN總線原先是針對汽車而設(shè)計(jì)的,它是一種開放的協(xié)議,可以同樣有效地用于工業(yè)或者家電。這是一種牢固、范圍有限的網(wǎng)絡(luò),完全適合于對速度不是很重要的情形,在短距離內(nèi)連接簡單的控制設(shè)備。
LIN總線標(biāo)準(zhǔn)包括有關(guān)傳送協(xié)議的規(guī)范、傳輸媒介以及開發(fā)工具之間的接口,它具備以下特點(diǎn) :
* 包括一個(gè)主節(jié)點(diǎn)/多個(gè)從屬節(jié)點(diǎn)
* 使用成本低的半導(dǎo)體工藝實(shí)現(xiàn),采用普通的USART/SCI接口硬件
* 容易實(shí)現(xiàn)
* 自行同步,在從屬節(jié)點(diǎn)設(shè)備中不必使用石英諧振器或者陶瓷諧振器
* 確保足夠的等待時(shí)間,以便傳送信號
* 成本低,只使用一條連線進(jìn)行連接
* 速度最高為20 kb/s
主節(jié)點(diǎn)傳送信號到從屬節(jié)點(diǎn),而從屬節(jié)點(diǎn)只在主節(jié)點(diǎn)詢問時(shí)才傳送信號。從屬節(jié)點(diǎn)僅在需要發(fā)出喚醒信號的時(shí)候才主動(dòng)地發(fā)送信號。從屬節(jié)點(diǎn)是通過識(shí)別位來識(shí)別信息,識(shí)別位表示幾個(gè)節(jié)點(diǎn)可以收到同樣的消息。
標(biāo)準(zhǔn)數(shù)據(jù)幀的通信過程是從一個(gè)同步停止信號開始,下面接著的是一個(gè)在時(shí)間上占1至4位的同步定界符。在送出同步定界符之后,傳送同步字段(synchrONization field),從屬節(jié)點(diǎn)利用同步字段把它的波特速率調(diào)整到被傳送信號的波特速率。
一旦同步字段傳送完畢,便送出識(shí)別字段,它包括識(shí)別位和兩個(gè)奇偶校驗(yàn)位。奇偶校驗(yàn)位告訴你,數(shù)據(jù)與那個(gè)從屬節(jié)點(diǎn)有關(guān),并且告訴你對這個(gè)數(shù)據(jù)做什么。在傳送識(shí)別字段之后,或者是收信的從屬節(jié)點(diǎn)對這個(gè)消息作出響應(yīng),或者是主節(jié)點(diǎn)繼續(xù)傳送數(shù)據(jù)??梢允褂靡欢樞虻淖R(shí)別位來接收來自從屬節(jié)點(diǎn),而其它的識(shí)別位則表示數(shù)據(jù)流的類型。檢查和(checksum)表示數(shù)據(jù)幀結(jié)束,檢查和是通過計(jì)算數(shù)據(jù)的全部字節(jié)而得到的(不包括識(shí)別字節(jié)及同步字段)。
LIN 總線主節(jié)點(diǎn)發(fā)出的另一個(gè)幀是睡眠幀,它的作用是讓總線和節(jié)點(diǎn)進(jìn)入低功耗狀態(tài)。睡眠幀的識(shí)別字段包含數(shù)值 0x80之外,除此之外,睡眠幀與數(shù)據(jù)幀是相似的。在識(shí)別字段后面?zhèn)魉蛿?shù)據(jù),或者不傳送數(shù)據(jù),可以由系統(tǒng)設(shè)人員選擇。當(dāng)收到喚醒信號時(shí),總線睡眠狀態(tài)便中止。 主節(jié)點(diǎn)或者從屬節(jié)點(diǎn)都可以發(fā)送喚醒信號。
當(dāng)主節(jié)點(diǎn)或者從屬節(jié)點(diǎn)需要發(fā)送喚醒信號時(shí),它送出數(shù)值0x80,后面跟著的是4至64位的喚醒定界符。然后,主節(jié)點(diǎn)送出數(shù)據(jù)幀。如果經(jīng)過相當(dāng)于128位的時(shí)間后,主節(jié)點(diǎn)沒有送出同步停止命令,便送出新的喚醒信號。這個(gè)步驟只重復(fù)三次。
LIN總線在家電中的應(yīng)用
在一般的干衣機(jī)中,使用者是在干衣機(jī)操作面板上選擇溫度、干衣時(shí)間、冷卻時(shí)間等參數(shù)。這時(shí),干衣機(jī)中的電子部件開始工作??刂浦鴾囟?、干燥程度、轉(zhuǎn)速以及其它參數(shù)的傳感器都直接用線連到控制面板上。這個(gè)方法要花費(fèi)很多錢,因?yàn)槊扛€都要連到面板上。但是,如果所有的傳感器、電動(dòng)機(jī)、以及顯示部件都連到一個(gè)單總線上,然后在干衣機(jī)只用一根線連到面板上,這樣可以降低制造成本,也可以降低服務(wù)維修的成本。
例如,如果干衣機(jī)使用LIN總線,當(dāng)使用人員選擇了干衣程序后,主處理器(它是主節(jié)點(diǎn))便開始執(zhí)行它的控制功能。主節(jié)點(diǎn)首先訪問門節(jié)點(diǎn)傳感器,看看門是否鎖上了,然后干衣過程便開始。如果門沒有鎖上,主節(jié)點(diǎn)便送出一個(gè)信號到控制面板上的顯示器,或者產(chǎn)生一個(gè)聲音。如果門鎖上了,主節(jié)點(diǎn)便送一個(gè)命令到加熱部件,開始加熱,并送一個(gè)命令到電動(dòng)機(jī),讓它開始轉(zhuǎn)動(dòng)。用一個(gè)識(shí)別符來完成這兩樣工作。電動(dòng)機(jī)和加熱部件接到這個(gè)識(shí)別符后,便開始轉(zhuǎn)動(dòng)和加熱。
一旦干衣機(jī)開始工作,主節(jié)點(diǎn)每隔一秒鐘訪問一次溫度傳感器,看看是否達(dá)到預(yù)定的溫度。如果已經(jīng)到了預(yù)定的溫度,主節(jié)點(diǎn)便加熱部件的電源關(guān)掉。它繼續(xù)監(jiān)測溫度,確保它沒有降低到一個(gè)預(yù)定的最低溫度。
在干衣過程中,主節(jié)點(diǎn)連續(xù)地檢查門是不是鎖上。如果在干衣過程中,門鎖打開,主節(jié)點(diǎn)便送一個(gè)命令到總線上,把加熱器及電動(dòng)機(jī)的電源關(guān)掉。
主節(jié)點(diǎn)部件有一個(gè)定時(shí)器,它是用于對干衣過程進(jìn)行編程。在干衣階段完成之后,主節(jié)點(diǎn)開始冷卻階段,這時(shí)加熱部件的電源已經(jīng)關(guān)掉,但是干衣機(jī)繼續(xù)在旋轉(zhuǎn)。在冷卻階段結(jié)束后,主節(jié)點(diǎn)便送一個(gè)消息告訴控制面板顯示器:干衣完成。顯示部件或者用文字顯示,或者用一個(gè)蜂鳴器發(fā)出聲音。
用LIN總線升級及排除故障
可以用一部個(gè)人電腦訪問LIN 總線上要調(diào)試的節(jié)點(diǎn)。例如,可以對主節(jié)點(diǎn)進(jìn)行編程,當(dāng)兩個(gè)鍵按下去超過兩秒鐘時(shí)間時(shí),它便進(jìn)入調(diào)試/升級狀態(tài)。在這個(gè)狀態(tài)下,可以啟動(dòng)要調(diào)試的節(jié)點(diǎn),或者把新的固件安裝到節(jié)點(diǎn)上去。
利用LIN總線,可以對干衣機(jī)進(jìn)行編程,實(shí)現(xiàn)不同的功能,例如實(shí)現(xiàn)自動(dòng)載荷控制。這時(shí)不是每一樣功能各用一個(gè)模塊來實(shí)現(xiàn) (如果每個(gè)功能是用一個(gè)模塊來實(shí)現(xiàn)的話,就需要存放很多模塊,并且需要維護(hù)),同一個(gè)基本的控制模塊可以用來實(shí)現(xiàn)所有的功能。在生產(chǎn)過程中,通過LIN總線傳送一個(gè)配置命令到節(jié)點(diǎn)上去,就可以啟用這些存放在EEPROM中的功能。每次將一個(gè)節(jié)點(diǎn)通電,電腦通過LIN總線從EEPROM把配置裝到節(jié)點(diǎn)上去,這些節(jié)點(diǎn)不需要EEPROM。
使用LIN總線時(shí),省去了多個(gè)編程模塊,也省去了多條連接線,可以節(jié)省費(fèi)用。測試和調(diào)試工作都可以通過LIN總線來進(jìn)行,可以關(guān)閉某個(gè)功能,或者啟用某個(gè)功能。因此,不論是制造商還是消費(fèi)者都可以省不少錢。