LIN及其在發(fā)動(dòng)機(jī)風(fēng)扇控制中的應(yīng)用
圖7中的LIN開(kāi)發(fā)工作流程顯示了LIN2.0規(guī)范包的各個(gè)部分如何組成一個(gè)整體。
LIN2.0和LIN1.3規(guī)范包可以在http://www.lin-subbus.org上注冊(cè)後免費(fèi)訂購(gòu)。
通過(guò)比較LIN1.3和LIN2.0規(guī)范包,我們可以看到兩個(gè)最重要的改變就是對(duì)配置和診斷的標(biāo)準(zhǔn)化支援,以及規(guī)定的節(jié)點(diǎn)能力檔。它們的目標(biāo)都是簡(jiǎn)化現(xiàn)有節(jié)點(diǎn)的使用。其他重要的改變包括∶
?。?)LINAPI(LIN規(guī)范包的一部分)是所有用C語(yǔ)言編程的節(jié)點(diǎn)所必需的。
?。?)增加了改進(jìn)型校驗(yàn)和(LIN2.0的校驗(yàn)和還包括PID字節(jié))。
?。?)增加了節(jié)點(diǎn)配置命令。
?。?)標(biāo)準(zhǔn)化和必備的LIN產(chǎn)品識(shí)別符(供應(yīng)商ID/功能ID/版本ID)是配置的一部分。
?。?)增加了診斷和診斷API。
?。?)定義了新的幀和信號(hào)類(lèi)型,從而可以使用零星的幀和字節(jié)陣列信號(hào)。
(7)增加了必需的響應(yīng)錯(cuò)誤(Response_error)從狀態(tài)監(jiān)控。
?。?)將休眠(goto_sleep)和喚醒(wake_up)信號(hào)分離。
?。?)規(guī)范中增加了自動(dòng)比特率檢測(cè)。
LIN2.0是LIN1.3的擴(kuò)展集,因此LIN2.0主節(jié)點(diǎn)可以處理包含LIN1.3和/或LIN2.0從節(jié)點(diǎn)的集群。自然,一些LIN2.0的特殊特性(包括增強(qiáng)的校驗(yàn)和、重新配置和診斷等)不能從LIN1.3從節(jié)點(diǎn)中請(qǐng)求。但是,LIN2.0從節(jié)點(diǎn)不能與LIN1.3主節(jié)點(diǎn)一同運(yùn)行(因?yàn)長(zhǎng)IN2.0從節(jié)點(diǎn)需要配置)。
6、SAEJ2602LIN工作組
SAEJ2602的目標(biāo)是通過(guò)滿(mǎn)足LIN2.0的模糊、矛盾或可選的要求來(lái)提高網(wǎng)絡(luò)中不同LIN設(shè)備之間的可互操作性和可交互能力。J2602的規(guī)定與LIN2.0規(guī)范的主要不同之處包括∶
?。?)串列傳輸速率固定在10.417Kbps。
?。?)由於斜率針對(duì)固定的串列傳輸速率進(jìn)行了優(yōu)化,可以實(shí)現(xiàn)更好的EMC。
?。?)不推薦從節(jié)點(diǎn)之間的通訊。
?。?)不允許基於事件的消息。
?。?)除了休眠和有目標(biāo)的復(fù)位(SleepandTargetedReset)外,所有配置和診斷服務(wù)都是可選的。
SAEJ2602還提出了LIN2.0中沒(méi)有的其他要求(如容錯(cuò)操作、網(wǎng)絡(luò)拓?fù)浜蛢?nèi)置的標(biāo)準(zhǔn)化報(bào)告等)。一般來(lái)說(shuō),SAEJ2606的設(shè)計(jì)考慮了實(shí)施定制從節(jié)點(diǎn)的長(zhǎng)期目標(biāo),而LIN2.0假設(shè)使用基於MCU的實(shí)施。因此,J2602期望通過(guò)定制從節(jié)點(diǎn)來(lái)進(jìn)一步節(jié)約成本。
7、LIN驅(qū)動(dòng)器實(shí)施
根據(jù)目標(biāo)MCU提供的功能,可以采用幾種LIN驅(qū)動(dòng)器實(shí)施策略。
對(duì)於沒(méi)有UART模塊的MCU,需要位元響應(yīng)(Bit-Bang)解決方案,使用一個(gè)定時(shí)器和兩個(gè)通用IO引腳將UART功能構(gòu)建到軟件中。主要優(yōu)勢(shì)是沒(méi)有UART的MCU一般是最便宜的處理器。另一方面,這樣的CPU使用非常精密,需要為每個(gè)字節(jié)都發(fā)送中斷請(qǐng)求。最後,這種解決方案與基於UART的解決方案相比一般需要更多內(nèi)存,比如,在飛思卡爾68HC908QY器件中就可以找到這類(lèi)LIN驅(qū)動(dòng)器。
帶有標(biāo)準(zhǔn)的UART(SCI)模塊的MCU一般意味著驅(qū)動(dòng)器的軟件安裝更加簡(jiǎn)單,但另一方面,UART模塊會(huì)增加最終解決方案的MCU成本。與需要位元響應(yīng)(Bit-Bang)解決方案相比,這種解決方案的優(yōu)勢(shì)在於CPU的負(fù)荷更低,因?yàn)榛禠IN通訊的中斷只對(duì)接收到的每個(gè)字節(jié)進(jìn)行。
LIN優(yōu)化UART模塊的MCU是減少驅(qū)動(dòng)器軟件部分而增加功能/特性的下一個(gè)步驟。飛思卡爾68HC908EY或68HC908GR設(shè)備中采用的增強(qiáng)型SCI模塊提供串列傳輸速率調(diào)節(jié)和仲裁模塊選項(xiàng),無(wú)需額外的定時(shí)器就能測(cè)量輸入信號(hào)(對(duì)LIN同步消息有用)。另一方面,這種方法可能會(huì)增加最終設(shè)計(jì)的成本。
最後一點(diǎn),也是很重要的一點(diǎn),理想的解決方案應(yīng)使用LIN專(zhuān)用的UART模塊。飛思卡爾MCU(如68HC908QL設(shè)備)的SLIC(LIN從介面控制器)模塊就是一個(gè)范例。與標(biāo)準(zhǔn)的UART解決方案相比,這種解決方案的成本和復(fù)雜性更高,并且要求實(shí)施SLIC優(yōu)化的驅(qū)動(dòng)器。另一方面,SLIC提供如下功能∶自動(dòng)同步、自動(dòng)串列傳輸速率調(diào)整、與上述任何解決方案相比中斷數(shù)大大減少、自動(dòng)校驗(yàn)和的生成與驗(yàn)證。因此,它允許將MCU專(zhuān)用於用戶(hù)應(yīng)用。
此外,還有一種非常有趣的解決方案是將所有與LIN有關(guān)的計(jì)算轉(zhuǎn)移到支持LIN的協(xié)處理器模塊上。飛思卡爾的MC9S12X系列采用了這種方案。這些產(chǎn)品配備有完全獨(dú)立於核心的X-gateRISC協(xié)處理器,可將整個(gè)LIN通訊負(fù)載從CPU核心中釋放,從而保證CPU在所有時(shí)間內(nèi)都可用於用戶(hù)應(yīng)用。
評(píng)論