一種基于CAN系統的汽車(chē)無(wú)線(xiàn)測量系統
汽車(chē)工作過(guò)程中,對各系統的運行參數的實(shí)時(shí)測量可方便地實(shí)現對汽車(chē)運行狀態(tài)的分析與故障診斷。用傳統的有線(xiàn)方式連接汽車(chē)診斷接口或檢測傳感器輸出值的方法存在著(zhù)布線(xiàn)和設備使用等方面的不方便。如果能把汽車(chē)各系統中的參數值無(wú)線(xiàn)、快速、準確地測量出來(lái),利用功能強大的微機系統進(jìn)行分析和處理將大大方便汽車(chē)運行狀態(tài)的監控。本文提出并實(shí)現了一種利用單片機組成CAN系統,利用藍牙無(wú)線(xiàn)傳輸技術(shù)對汽車(chē)運行數據進(jìn)行采集與處理的方法。
本文引用地址:http://dyxdggzs.com/article/155688.htm隨著(zhù)汽車(chē)電子的發(fā)展,汽車(chē)內電子產(chǎn)品越來(lái)越多,汽車(chē)發(fā)動(dòng)機、底盤(pán)和車(chē)身等電控系統中的電控單元數量不斷增加,同時(shí)它們之間的通信也越來(lái)越重要。在汽車(chē)內利用網(wǎng)絡(luò )技術(shù),可大大提高系統之間信息傳遞的可靠性,同時(shí)可大大減少汽車(chē)線(xiàn)束的數量,降低汽車(chē)電氣系統的成本。近年來(lái),CAN系統在汽車(chē)內的應用越來(lái)越廣泛。CAN(ControllerAreaNetwork)是控制局域網(wǎng)的簡(jiǎn)稱(chēng),最早由德國B(niǎo)OSCH公司推出,用于汽車(chē)內部測量與執行部件的數據通信。由于其高性能、高可靠性、實(shí)時(shí)性好和獨特的設計,已廣泛的應用于控制系統的各檢測和執行機構之間的數據通信。CAN總線(xiàn)符合ISO11898標準,最大傳輸速率可達1Mbps,最大傳輸距離為10km,傳輸介質(zhì)可為雙絞線(xiàn)。它具有如下的一些技術(shù)特性:
1)多主方式工作,非破壞性的基于優(yōu)先權的總線(xiàn)仲裁技術(shù);
2)采用短幀結構,受干擾概率低,每幀信息都有CRC檢驗及其他檢錯措施;
3)對嚴重錯誤具有自動(dòng)關(guān)閉總線(xiàn)的功能,使總線(xiàn)的其他操作不受影響。
在汽車(chē)運行過(guò)程中,車(chē)載射頻裝置如汽車(chē)立體聲系統、GPS導航設備、衛星數字音頻無(wú)線(xiàn)電業(yè)務(wù)(SDARS)裝置、GSM無(wú)線(xiàn)電收發(fā)器以及其它電器設備均可能造成干擾或受到干擾,這些射頻干擾信號會(huì )對汽車(chē)無(wú)線(xiàn)系統的數據流造成不良影響。如果應用傳統的無(wú)線(xiàn)數據傳輸技術(shù),傳輸的數據的速率和準確率都不能很高,從而不能實(shí)現快速、準確地進(jìn)行數據的傳輸,而把藍牙無(wú)線(xiàn)傳輸技術(shù)用在汽車(chē)上可以很好地解決這個(gè)問(wèn)題。
本文所用藍牙模塊采用英國CSR公司的BC417芯片,并與SST公司的8M的FLASH芯片39VF800A構成了模塊。模塊的硬件圖如圖1所示。
圖1 藍牙模塊原理圖
此模塊的主要特點(diǎn)如下:
1)采用CSR主流藍牙芯片,符合藍牙V210標準。
2)串口模塊上底板帶有RS232接口和TTL接口,任選一種接口使用,使用313~5V電源。串口對用戶(hù)而言是透明的。
3)藍牙芯片采用向前糾錯編碼,通信效率高,自動(dòng)跳頻,抗干擾能力強。
4)波特率為1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600,1382400,可在程序中根據實(shí)際需要設置。
5)休眠電流:小于1MA,工作電流:40MA。
2 系統硬件結構原理圖
本文利用MICROCHIP公司的內嵌CAN控制器的18F4580芯片與CAN收發(fā)器芯片MCP2515構成CAN網(wǎng)絡(luò )系統,并用18F4580芯片自帶的10位AD傳感器實(shí)現了對汽車(chē)發(fā)動(dòng)機節氣門(mén)位置信號的測量,同時(shí)利用智能數字傳感器DS18B20對發(fā)動(dòng)機的水溫信號進(jìn)行測量。利用藍牙模塊把測量的信號無(wú)線(xiàn)傳給上位機,利用VC++編寫(xiě)數據接收與處理的程序實(shí)現數據的實(shí)時(shí)顯示與存儲,并可顯示數據值隨時(shí)間的變化關(guān)系曲線(xiàn)圖,測量結果直觀(guān)。系統的硬件原理圖如圖2所示。
圖2 測量系統原理圖
3 發(fā)動(dòng)機節氣門(mén)位置信號與水溫信號的測量
3.1 節氣門(mén)信號信號的測量
這里測量的汽車(chē)發(fā)動(dòng)機上節氣門(mén)位置傳感器為一可調電阻型,節氣門(mén)位置輸出信號為0~5V的電壓信號,根據節氣門(mén)的實(shí)際開(kāi)度與輸出電壓的關(guān)系,對測量的電壓信號進(jìn)行標定,根據實(shí)測的電壓信號即可換算成節氣門(mén)的開(kāi)度。所以這里用PIC18F4580單片機內嵌的10位AD轉換電路完成對節氣門(mén)位置傳感器輸出電壓的測量,為提高測量精度,對單片機AD的5V基準電壓進(jìn)行了與系統電源隔離穩壓處理。
本系統利用Microchip公司的MPLAB開(kāi)發(fā)環(huán)境嵌入PICC18C程序編譯器,用C程序編寫(xiě)了數據采集與CAN數據的收發(fā)程序,其中AD轉換子程序用匯編語(yǔ)言編寫(xiě),程序兼顧了C程序的模塊化和可維護性好的優(yōu)點(diǎn),同時(shí)具有了匯編語(yǔ)言高效率的優(yōu)點(diǎn)。
信號通過(guò)CAN控制器用擴展幀格式發(fā)送到CAN網(wǎng)絡(luò )上。其中數據采集與CAN數據的發(fā)送子程序如下:
InitSPI();//SPI接口初始化
Init_MCP2515();//MCP2515初始化
……
TRISA=0B00000001;//AN0>>>>DCinputDC通道上輸入,打開(kāi)RA0
ADCON0=0B00000001;//AN0通道,允許ADC工作,
ADCON1=0B00001110;//除RA0為模擬輸入口外,其他RA口跟RE口均為普通數字口
ADCON2=0B10100001;//轉換結果右對齊,8TAD,1/8FOSC。
#asm
ADCON0 EQU 0FC2H
GO EQU 001H
bsf ADCON0, GO //開(kāi)始轉換
ADWAIT:
btfscADCON0,GO
gotoADWAIT//等待轉換完成
#endasm
write_MCP2515(TXB0CTRL,0x03);//設置為發(fā)送最高優(yōu)先級
write_MCP2515(TXB0SIDH,0xFF);//EID28--21
write_MCP2515(TXB0SIDL,0xEB);//EID20--EID18,擴展幀使能,EID17--EID16
write_MCP2515(TXB0EID8,0xFF);//EID15--EID8
write_MCP2515(TXB0EID0,0xFF);//EID7--EID0
write_MCP2515(TXB0DLC,0x02);//發(fā)送數據長(cháng)度為8字節
write_MCP2515(TXB0D0,ADRESH);//發(fā)送的數據
write_MCP2515(TXB0D1,ADRESL);
……
send_TXB0();//請求發(fā)送
while((read_MCP2515(TXB0CTRL)0x08)==0x08);//等待
發(fā)送完畢
……
3.2 水溫信號的測量
本文中的水溫信號利用DALLAS公司的DS18B20智能數字傳感器測量。DS1820是世界上第一片支持“一線(xiàn)總線(xiàn)”接口的溫度傳感器。一線(xiàn)總線(xiàn)獨特而且經(jīng)濟的特點(diǎn),使用戶(hù)可輕松地組建傳感器網(wǎng)絡(luò ),為測量系統的構建引入全新概念。測量溫度范圍為-55℃~+125℃,在-10~+85℃范圍內,精度為±015℃?,F場(chǎng)溫度直接以“一線(xiàn)總線(xiàn)”的數字方式傳輸,大大提高了系統的抗干擾性。適合于惡劣環(huán)境的現場(chǎng)溫度測量,如:環(huán)境控制、設備或過(guò)程控制、測溫類(lèi)消費電子產(chǎn)品等。DS1820采集溫度信號完成后,通過(guò)PIC18F4580芯片接收數據,并通過(guò)內嵌CAN控制器把數據以8位二制數的格式用標準幀格式發(fā)送到CAN總線(xiàn)上。
4 CAN網(wǎng)絡(luò )的傳輸系統
采集到的信號通過(guò)PIC18F4580內嵌的CAN控制器發(fā)出。這里選用MICROCHIP公司出品的MCP2551CAN收發(fā)器完成網(wǎng)絡(luò )信號的傳遞,在CAN網(wǎng)絡(luò )終端加入阻值為120歐的終端電阻。CAN網(wǎng)絡(luò )接收端的收發(fā)器接收到的信號后傳遞給另一片PIC18F4580芯片,通過(guò)基內部的CAN控制器取出網(wǎng)絡(luò )信號,如果接收到擴展幀,則接收到的數據為節氣門(mén)的位置信號;接收到標準幀,則接收到的數據為水溫信號。對信號處理后以數據包的方式通過(guò)基自身的UART口發(fā)給MAX232芯片,把TTL信號電平轉換成232電平。節氣門(mén)部分的CAN通訊板硬件原理圖如圖3所示。
圖3 節氣門(mén)位置信號測量CAN通信板原理圖
5 藍牙無(wú)線(xiàn)傳輸系統
MAX232芯片把轉換后的信號傳給由CSR公司的BC417構成的藍牙主(發(fā)射)模塊。BC417藍牙模塊可以設定數據傳輸速率,在保證發(fā)射信號的質(zhì)量的情況下,可以盡量采用高速率的傳輸。本文中的傳輸速率為38400bps。另一塊BC417藍牙芯片構成的從(接收)模塊在接收到數據信號后,通過(guò)MAX232芯片轉換電平傳給上位機微機的串口。
6 上位機信號接收處理系統
上位機微機的串口接到信號后,用VC++開(kāi)發(fā)工具編寫(xiě)了面向對象的程序對數據包進(jìn)行處理。為了直觀(guān)的顯示數據的數值和其隨時(shí)間的變化關(guān)系,本程序可顯示實(shí)際節氣門(mén)位置信號與水溫的數值,另可顯示節氣門(mén)位置信號的變化曲線(xiàn)。上位機程序的界面如圖4所示。
本文利用的是SerialPort類(lèi)來(lái)實(shí)現此功能,這種方法對使用者來(lái)說(shuō)只要關(guān)心設定相關(guān)的通訊參數,而不用關(guān)心封裝的實(shí)現方法,程序的模塊化和維護性好[5]。在使用中采用串口事件響應方式工作。為了更直觀(guān)的顯示出數據隨時(shí)間變化的曲線(xiàn),編寫(xiě)了一個(gè)利用封裝的BUTTON類(lèi)控件實(shí)現的顯示界面。此控件可方便地實(shí)現對數據的坐標、背景、數據的單位與數據的更新速度等屬性進(jìn)行設定,顯示效果良好。
圖4 上位機界面圖
7 結論
該系統運行良好,能方便、快速、可靠地實(shí)現汽車(chē)運行參數的測量,為實(shí)現汽車(chē)網(wǎng)絡(luò )參數的無(wú)線(xiàn)實(shí)時(shí)測量與汽車(chē)故障診斷提供了一個(gè)較好的平臺。程序運行結果顯示此藍牙無(wú)線(xiàn)傳輸CAN測量系統有如下優(yōu)點(diǎn):
1)在測量汽車(chē)運行參數時(shí),可利用多個(gè)單片機構成CAN測量網(wǎng)絡(luò ),充分利用了CAN網(wǎng)絡(luò )的優(yōu)點(diǎn):信號抗干擾能力強、數據速率快、數據可靠性高與系統連接線(xiàn)少等。
2)無(wú)線(xiàn)數據傳輸系統充分體現了藍牙系統的高速和藍牙協(xié)議的高可靠性,理論上數據的成功率為100%,實(shí)現了高速和可靠的數據傳遞。
3)在用上位機測量汽車(chē)運行參數時(shí),在汽車(chē)與電腦之間無(wú)需任何線(xiàn)纜的連接,方便測量系統的組建,降低了系統組建的時(shí)間和成本。
4)可充分利用上位機計算與處理的優(yōu)勢,相比于傳統的汽車(chē)檢測儀器,可實(shí)現功能更強大的數據處理能力。
接地電阻相關(guān)文章:接地電阻測試方法
評論