<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于can總線(xiàn)技術(shù)的電子控制系統單元在汽車(chē)網(wǎng)絡(luò )系統中的應用

基于can總線(xiàn)技術(shù)的電子控制系統單元在汽車(chē)網(wǎng)絡(luò )系統中的應用

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


2.3 狀態(tài)量輸入模塊

狀態(tài)量輸入模塊主要是將一些人為操作的效果(如大燈開(kāi)關(guān)、轉向燈開(kāi)關(guān))、車(chē)身狀態(tài)(如車(chē)門(mén)、窗的開(kāi)關(guān))及內部狀態(tài)信息(如油量、水溫)反饋給中心處理器。中心處理器對反饋信息進(jìn)行分析處理,就可以準確判斷本車(chē)所處的狀況,并做出相應的操作。

外部狀態(tài)信息可以分為開(kāi)關(guān)量和模擬量。通過(guò)一系列外圍電路(如整形防顫電路),我們將開(kāi)關(guān)量轉換成cpu可識別的0v和+5v高低電平。在模擬量處理上,先經(jīng)過(guò)歸一化處理電路,將水溫、油量、氣壓、室溫的變化轉化為0v到5v之間電信號,然后通過(guò)lpc2119內嵌的4路10位ad轉換器轉換成相應的數字量。利用現有的can通信模塊將這些數字量傳輸到駕駛員附近的單元,再經(jīng)過(guò)d/a轉換器,反應在儀器儀表上。

3 單元軟件設計

對于lpc2119微處理器來(lái)說(shuō),can控制器完全是基于事件觸發(fā)的,即在本身狀態(tài)發(fā)生改變時(shí),can控制器會(huì )將狀態(tài)變化的結果告訴微處理器。因此中心微處理器可以采用中斷的方式或者輪詢(xún)的方式對can控制器作出相應的處理。完整的can固件編程層次結構圖如圖3所示。

單元按規定格式和周期發(fā)送數據到總線(xiàn)上,同時(shí)根據需要各取所需的報文。對于接收數據,本系統采用中斷的方式實(shí)現,一旦中斷發(fā)生,即將接收的數據自動(dòng)裝載到相應的報文寄存器中。此時(shí)利用屏蔽濾波寄存器對接收報文的標識符和預先在接收緩沖器初始化時(shí)設定的標識符進(jìn)行有選擇地逐位比較,只有標識符匹配的報文才能進(jìn)入接收緩沖器,那些不符合要求的報文將被屏蔽于接收緩沖器外,從而減輕cpu處理報文的負擔。各電子控制系統單元的應用層程序都不一樣,但是通信模塊的應用程序基本上一致,可分為can初始化、發(fā)送數據、接收數據。

3.1 can初始化程序

can初始化程序主要用來(lái)實(shí)現can工作時(shí)的參數設置,其初始化主要內容包括:硬件使能can、設置can報警界限、設置總線(xiàn)波特率、設置中斷工作方式、設置can驗收濾波器的工作方式、設置can控制器的工作模式等。初始化流程圖如圖4所示。


3. 2 發(fā)送數據程序

對can模塊初始化成功后,就可以用它來(lái)傳送報文。節點(diǎn)向總線(xiàn)上發(fā)送報文的過(guò)程是:

lpc2119將待發(fā)送的數據按can格式組成一幀報文,寫(xiě)入can模塊發(fā)送緩沖區,然后啟動(dòng)發(fā)送命令,將報文發(fā)送到總線(xiàn)上。發(fā)送流程圖如圖5所示。

在使用發(fā)送函數時(shí)有一點(diǎn)必須注意,因為在啟動(dòng)發(fā)送數據的命令后,can控制器要將緩沖區內的數據發(fā)送完畢后,才會(huì )將該幀數據是否發(fā)送成功的狀態(tài)返回。這樣如果在函數里一直等待數據發(fā)送完畢,會(huì )使整個(gè)微處理器的性能下降。為了避免這種情況,該函數在啟動(dòng)發(fā)送后便立即返回,通過(guò)發(fā)送中斷或者利用查詢(xún)tcs狀態(tài)位判斷是否發(fā)送成功。

3.3 接收數據程序

本設計中,我們采用中斷的方式進(jìn)行can總線(xiàn)上的數據接收。當lpc2119的can控制器出現內部中斷時(shí),我們先識別中斷寄存器的ri位,判斷是否為接收中斷,然后讀取接收緩沖區的內容。其接收流程圖如圖6所示。


4 結論

實(shí)踐證明,基于,帶arm7內核的汽車(chē)電子控制系統單元空間小,實(shí)效性高。特別是它的數據通信具有很強的實(shí)時(shí)性、更高的可靠性和更好的抗干擾能力,即使在重負荷下也不會(huì )出現網(wǎng)絡(luò )癱瘓的情況,但投入實(shí)用化仍需要進(jìn)一步的研究和改進(jìn),且程序的通信處理能力、糾錯和容錯能力有待進(jìn)一步的提高。

上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>