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