<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > LIN總線技術(shù)在汽車(chē)智能燈控系統(tǒng)中的應(yīng)用

          LIN總線技術(shù)在汽車(chē)智能燈控系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2012-03-29 來(lái)源:網(wǎng)絡(luò) 收藏

          下面對(duì)燈控模塊控制思想及在其中的做出具體分析:在啟動(dòng)并進(jìn)行初始化以后,子模塊1開(kāi)始啟動(dòng)一個(gè)定時(shí)器,實(shí)現(xiàn)周期性地對(duì)數(shù)字量診斷輸出的車(chē)燈和模擬電流傳感器診斷輸出的車(chē)燈進(jìn)行檢測(cè)(檢測(cè)不同開(kāi)關(guān)向微控制器反饋的數(shù)字和模擬故障信號(hào)),對(duì)于出現(xiàn)故障的車(chē)燈信息,通過(guò)傳輸?shù)阶幽K2。傳輸信息包括故障車(chē)燈的名稱、故障車(chē)燈所在的診斷組(數(shù)字量診斷組或模擬量診斷組)和故障狀態(tài)(斷路或短路等)。子模塊1同時(shí)亦接收來(lái)自于子模塊2的儀表盤(pán)的車(chē)燈按鈕掃描信息,該信息包含了駕駛員對(duì)于車(chē)燈狀態(tài)的要求(開(kāi)通或關(guān)斷)。然后結(jié)合診斷結(jié)果及儀表盤(pán)的掃描結(jié)果,決定是否打開(kāi)車(chē)燈或關(guān)閉車(chē)燈。子模塊2通過(guò)接收子模塊1傳輸過(guò)來(lái)的車(chē)燈的故障診斷信息,周期性的通過(guò)LCD進(jìn)行顯示。同時(shí)亦周期性的掃描儀表盤(pán)的按鈕狀態(tài),并通過(guò)LIN總線傳輸?shù)阶幽K1。

          燈光控制模塊作為車(chē)身低端網(wǎng)絡(luò),傳輸數(shù)據(jù)量小,對(duì)傳輸快速性要求不高,20kBaud完全可以滿足對(duì)傳輸速率的要求。相比于具有更多優(yōu)良性能而價(jià)格也更高昂的CAN總線,LIN總線成本較低,容易在UART中實(shí)現(xiàn),并具有較好的容故障能力和傳輸可靠性。在綜合考慮總線的硬件與軟件成本和總線的可靠性之后,選擇LIN總線實(shí)現(xiàn)燈控模塊內(nèi)部?jī)蓚€(gè)子模塊間的數(shù)據(jù)傳輸,而CAN總線則用于燈控模塊與車(chē)身內(nèi)部其他ECU之間的通信。

          3.1 LIN總線硬件接口電路

          LIN總線硬件接口電路如圖5所示,該模塊分為主節(jié)點(diǎn)和從節(jié)點(diǎn)兩個(gè)單元。供電電源電路采用英飛凌TLE4278電壓調(diào)節(jié)器實(shí)現(xiàn),輸入Vi為12V,輸出Vq為5V。收發(fā)器采用英飛凌TLE 6258系列LIN總線收發(fā)器。從安全角度考慮,主節(jié)點(diǎn)電路在電源引腳和總線間以及總線和參考地之間分別連接1kΩ電阻和1nF電容,以保證總線信號(hào)在顯性電平和隱性電平間切換時(shí)有合適的時(shí)間延遲。

          TLE 6258是單線收發(fā)器,適用于LIN協(xié)議,與LIN規(guī)范1.2兼容,發(fā)送速率可達(dá)20kbps,功率消耗低,且具有短路保護(hù)和過(guò)溫保護(hù)等功能,特別適于作為和工業(yè),且可用于標(biāo)準(zhǔn)的ISO9141。為了減小電流損耗,TLE 6258提供了一種空閑模式。在空閑模式下,TLE 6258退出總線活動(dòng),既不接收也不發(fā)送數(shù)據(jù),電流降到最低,從而達(dá)到減小電流損耗的目的。TLE 6258在正常工作模式和空閑模式之間的切換過(guò)程如圖6所示,在正常工作模式下,通過(guò)對(duì)ENN置1進(jìn)入空閑模式。在空閑模式下,通過(guò)在總線上發(fā)送喚醒幀,可把主機(jī)或從機(jī)從空閑模式喚醒,返回到正常工作模式。進(jìn)入正常工作模式后,ENN變?yōu)?,釋放RxD為傳輸數(shù)據(jù)狀態(tài)。

          3.2 LIN總線通訊軟件設(shè)計(jì)

          LIN軟件基于幾個(gè)狀態(tài)機(jī)制和功能塊,狀態(tài)機(jī)制通過(guò)串行接口的中斷調(diào)用,在程序中用nTRANSCEIVER_STATUS表示每個(gè)狀態(tài)。主機(jī)任務(wù)發(fā)送同步間隔場(chǎng)(Synch Break Field)、同步場(chǎng)(Synch Field)和標(biāo)識(shí)符場(chǎng),如果從機(jī)在總線上檢測(cè)到匹配的標(biāo)識(shí)符,它會(huì)接收或發(fā)送數(shù)據(jù)到總線(這里假設(shè)數(shù)據(jù)字節(jié)是8個(gè),主機(jī)為接收數(shù)據(jù),從機(jī)為發(fā)送數(shù)據(jù),也可定義為主機(jī)發(fā)送數(shù)據(jù),從機(jī)接收數(shù)據(jù))。以下(1)~(3)為主機(jī)任務(wù),(4)~(13)為從機(jī)任務(wù)。

          (1)發(fā)送同步間隔場(chǎng);

          (2)接收同步間隔場(chǎng)和發(fā)送同步場(chǎng);

          (3)接收同步場(chǎng)和產(chǎn)生/發(fā)送ID域;

          (4)接收ID域(報(bào)文過(guò)濾),拷貝數(shù)據(jù)到緩沖器(LIN transfer buffer) 并發(fā)送第一個(gè)數(shù)據(jù)字節(jié);

          (5)接收第一個(gè)數(shù)據(jù)字節(jié)和發(fā)送第二個(gè)數(shù)據(jù)字節(jié);

          (6)接收第二個(gè)數(shù)據(jù)字節(jié)和發(fā)送第三個(gè)數(shù)據(jù)字節(jié);

          (7)接收第三個(gè)數(shù)據(jù)字節(jié)和發(fā)送第四個(gè)數(shù)據(jù)字節(jié);

          (8)接收第四個(gè)數(shù)據(jù)字節(jié)和發(fā)送第五個(gè)數(shù)據(jù)字節(jié);

          (9)接收第五個(gè)數(shù)據(jù)字節(jié)和發(fā)送第六個(gè)數(shù)據(jù)字節(jié);

          (10)接收第六個(gè)數(shù)據(jù)字節(jié)和發(fā)送第七個(gè)數(shù)據(jù)字節(jié);

          (11)接收第七個(gè)數(shù)據(jù)字節(jié)和發(fā)送第八個(gè)數(shù)據(jù)字節(jié);

          (12)接收第八個(gè)數(shù)據(jù)字節(jié)和計(jì)算/發(fā)送校驗(yàn)和域;

          (13)接收校驗(yàn)和域。

          為了傳輸汽車(chē)燈控模塊中所需要的信息,定義了7個(gè)字節(jié)變量a0、a1、a2、a3、a4、a5和a6,用于存儲(chǔ)車(chē)燈故障狀態(tài)信息;另外還定義了兩個(gè)字節(jié)變量key_result0和key_result1,用于存儲(chǔ)儀表盤(pán)的車(chē)燈按鈕掃描信息。

          車(chē)燈故障狀態(tài)信息的定義分為數(shù)字量診斷組和模擬量診斷組:數(shù)字量診斷組包括駐車(chē)燈、示警燈和尾燈等20盞燈;模擬量診斷組包括前照燈、霧燈等6盞燈。每盞燈的故障狀態(tài)有三種情況,用兩個(gè)“位”來(lái)表示:正常狀態(tài)(DIAG_OK),用“00”表示;斷路狀態(tài)(DIAG_OPEN_LOAD),用“01”表示;過(guò)載狀態(tài)(DIAG_OVERLOAD),用“10”表示。例如,左駐車(chē)燈用a2的低兩位表示,定義為static sbit parklightfrontleft_lowbit=a2^0、static sbit parklightfrontleft_highbit=a2^1;a2^1=0,a2^0=1,則表示駐車(chē)燈處于斷路故障狀態(tài)。如此推算,模擬量診斷組6盞車(chē)燈,故障狀態(tài)信息需要占用12位,我們用字節(jié)存儲(chǔ)器a0和a1表示;數(shù)字量診斷組20盞車(chē)燈,故障狀態(tài)信息需要占用40位,我們用字節(jié)存儲(chǔ)器a2、a3、a4、a5和a6表示。車(chē)燈故障狀態(tài)信息共計(jì)7字節(jié),采用字節(jié)數(shù)為8的報(bào)文幀格式傳輸,第8個(gè)字節(jié)用0補(bǔ)齊。

          儀表盤(pán)車(chē)燈按鈕共計(jì)16個(gè)開(kāi)關(guān)量,每個(gè)開(kāi)關(guān)量有兩種狀態(tài),用一個(gè)“位”表示:按鈕關(guān)斷,用“1”表示;按鈕打開(kāi),用“0”表示。我們用兩個(gè)字節(jié)存儲(chǔ)器key_result0和key_result1存儲(chǔ)按鈕信息,報(bào)文幀含有兩個(gè)字節(jié)的數(shù)據(jù)量。

          發(fā)送數(shù)據(jù)字節(jié)過(guò)程如圖7所示。以發(fā)送車(chē)燈故障狀態(tài)信息為例,這個(gè)狀態(tài)機(jī)制用于把數(shù)據(jù)字節(jié)發(fā)送到總線上去,ID被定義為發(fā)送ID(SEND_ID)。

          子狀態(tài)及相應(yīng)的收發(fā)器狀態(tài)如下。

          子狀態(tài)1~8:節(jié)點(diǎn)用于發(fā)送數(shù)據(jù)字節(jié) 接收中斷 LIN_vRxd_Interrupt;

          子狀態(tài)9:節(jié)點(diǎn)用于發(fā)送數(shù)據(jù)字節(jié) 接收中斷 LIN_vRxd_Interrupt;

          子狀態(tài)10:校驗(yàn)和域已經(jīng)被正確接收 接收中斷 LIN_vRxd_Interrupt。

          其中,子狀態(tài)1接收中斷中調(diào)用功能函數(shù)UCB_Txd,該函數(shù)獲取用戶數(shù)據(jù)存儲(chǔ)的首地址。

          接收數(shù)據(jù)字節(jié)過(guò)程如圖8所示。以接收儀表盤(pán)車(chē)燈按鈕信息為例,這個(gè)狀態(tài)機(jī)制用于接收來(lái)自總線的數(shù)據(jù),ID被定義為接收ID(REC_ID)。



          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();