基于LPC2109的冷藏車(chē)CAN總線(xiàn)溫度采集系統的設計
摘要:基于CAN2.0通訊協(xié)議,以ARM微控制器LPC2109為核心,通過(guò)控制溫度采集芯片DS18B20采集冷藏車(chē)車(chē)體溫度,再將溫度值通過(guò)CAN總線(xiàn)發(fā)送出去的方案。從硬件搭建和軟件設計出發(fā),全面地介紹了CAN總線(xiàn)溫度采集系統的實(shí)現。為冷藏車(chē)冷藏溫度的實(shí)時(shí)采集提供了更加有效的解決方案。
本文引用地址:http://dyxdggzs.com/article/134925.htm引言
在當前的汽車(chē)產(chǎn)業(yè)中,出于對安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統被開(kāi)發(fā)了出來(lái)。由于這些系統之間通信所用的數據類(lèi)型及對可靠性的要求不盡相同,由多條總線(xiàn)構成的情況很多,線(xiàn)束的數量也隨之增加。為適應“減少線(xiàn)束的數量”、“通過(guò)多個(gè)LAN,進(jìn)行大量數據的高速通信”的需要,1986年德國電氣商博世公司開(kāi)發(fā)出面向汽車(chē)的CAN(Controller Area Network)通信協(xié)議。此后,CAN通過(guò)ISO11898及ISO11519進(jìn)行了標準化,現在在歐洲已是汽車(chē)網(wǎng)絡(luò )的標準協(xié)議。CAN即控制器局域網(wǎng),它能有效支持高安全等級的分布實(shí)時(shí)控制。CAN的應用范圍很廣,從高速的網(wǎng)絡(luò )到低價(jià)位的多路接線(xiàn)都可以使用CAN。本文通過(guò)微控制器LPC2109的CAN功能接口,實(shí)現冷藏車(chē)溫度數據在CAN總線(xiàn)上的傳輸。
CAN總線(xiàn)的基本特征
CAN總線(xiàn)有如下基本特點(diǎn):
廢除傳統的站地址編碼,代之以對通信數據塊進(jìn)行編碼,可以多主方式工作;采用非破壞性仲裁技術(shù),當兩個(gè)節點(diǎn)同時(shí)向網(wǎng)絡(luò )上傳送數據時(shí),優(yōu)先級低的節點(diǎn)主動(dòng)停止數據發(fā)送,而優(yōu)先級高的節點(diǎn)可不受影響繼續傳輸數據,有效避免了總線(xiàn)沖突;采用短幀結構,每一幀的有效字節數為8個(gè),數據傳輸時(shí)間短,受干擾的概率低,重新發(fā)送的時(shí)間短;每幀數據都有CRC校驗及其他檢錯措施,保證了數據傳輸的高可靠性,適于在高干擾環(huán)境下使用;節點(diǎn)在錯誤嚴重的情況下,具有自動(dòng)關(guān)閉總線(xiàn)的功能,切斷它與總線(xiàn)的聯(lián)系,以使總線(xiàn)上其他操作不受影響;可以點(diǎn)對點(diǎn),一對多及廣播集中方式傳送和接受數據。
CAN總線(xiàn)的優(yōu)點(diǎn):
具有實(shí)時(shí)性強、傳輸距離較遠、抗電磁干擾能力強、成本低等優(yōu)點(diǎn);采用雙線(xiàn)串行通信方式,檢錯能力強,可在高噪聲干擾環(huán)境中工作;具有優(yōu)先權和仲裁功能,多個(gè)控制模塊通過(guò)CAN控制器掛到CAN-bus上,形成多主機局部網(wǎng)絡(luò );可根據報文的ID決定接收或屏蔽該報文;可靠的錯誤處理和檢錯機制;發(fā)送的信息遭到破壞后,可自動(dòng)重發(fā);節點(diǎn)在錯誤嚴重的情況下具有自動(dòng)退出總線(xiàn)的功能;報文不包含源地址或目標地址,僅用標志符來(lái)指示功能信息、優(yōu)先級信息。
硬件電路的設計方案
CAN總線(xiàn)接口芯片的選擇
目前廣泛流行的CAN總線(xiàn)器件有兩大類(lèi):一類(lèi)是獨立的CAN控制器,如PCA82C200、SJAl000及等,另一類(lèi)是帶有片上CAN的微控制器,如STM32F103、LPC2109等。設計選用PHILIPS(飛利浦)公司的LPC2109微控制器以及PCA82C250總線(xiàn)收發(fā)器。
LPC2109有8K的RAM空間和64K的Flash空間,足以燒寫(xiě)和運行CAN通訊代碼,工作溫度-40℃~+85℃,適合冷藏車(chē)的工作環(huán)境。因為L(cháng)PC2109自帶高性能CAN通訊接口,省去了使用獨立CAN控制器的開(kāi)銷(xiāo)。而且,相對于獨立的CAN控制器而言,LPC2109的CAN接口更加完善。在傳統的獨立CAN控制器SJA1000中,接收過(guò)濾只能滿(mǎn)足一些規律性較高的ID篩選過(guò)濾,或個(gè)數較少的ID(一般小于10~15個(gè))進(jìn)行任意篩選過(guò)濾,難以實(shí)現更復雜的任意ID進(jìn)行篩選過(guò)濾,這無(wú)疑增加了系統軟件設計及運行時(shí)負擔。LPC2109微控制器中為自身CAN控制器提供了全局的接收標識符查詢(xún)功能。它包含一個(gè)512×32(2k字節)的RAM,通過(guò)軟件處理,可在RAM中存放1~5個(gè)標識符表格。整個(gè)AFRAM可容納1024個(gè)標準標識符或512個(gè)擴展標識符,或兩種類(lèi)型混合的標識符。由于允許的表格范圍有2k字節,所以能容易地滿(mǎn)足設計復雜ID接收過(guò)濾的要求。
總線(xiàn)收發(fā)器PCA82C250是LPC2109微控制器和物理傳輸線(xiàn)路之間的接口,它們可以用高達1Mbit/s的位速率在兩條有差動(dòng)電壓的總線(xiàn)電纜上傳輸數據。最低-40℃的工作溫度決定它可以穩定地工作在冷藏車(chē)中。
溫度采集芯片的選擇
設計選用DALLAS(達拉斯)公司的DS18B20溫度傳感器,測溫范圍-55℃~+125℃,固有測溫分辨率0.5℃,適合冷凍庫等測溫環(huán)境使用。DS18B20擁有獨特的單線(xiàn)接口方式,DS18B20在與微處理器連接時(shí)僅需要一條口線(xiàn)即可實(shí)現微處理器與DS18B20的雙向通訊。
評論