新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于藍(lán)牙的汽車CAN網(wǎng)絡(luò)信號無線測量系統(tǒng)

基于藍(lán)牙的汽車CAN網(wǎng)絡(luò)信號無線測量系統(tǒng)

作者: 時間:2011-10-10 來源:網(wǎng)絡(luò) 收藏

1 引言

汽車工作過程中,對各系統(tǒng)的運(yùn)行參數(shù)的實(shí)時測量可方便地實(shí)現(xiàn)對汽車運(yùn)行狀態(tài)的分析與故障診斷。用傳統(tǒng)的有線方式連接汽車診斷接口或檢測傳感器輸出值的方法存在著布線和設(shè)備使用等方面的不方便。如果能把汽車各系統(tǒng)中的參數(shù)值無線、快速、準(zhǔn)確地測量出來,利用功能強(qiáng)大的微機(jī)系統(tǒng)進(jìn)行分析和處理將大大方便汽車運(yùn)行狀態(tài)的監(jiān)控。本文提出并實(shí)現(xiàn)了一種利用單片機(jī)組成CAN系統(tǒng),利用無線傳輸技術(shù)對汽車運(yùn)行數(shù)據(jù)進(jìn)行采集與處理的方法。

隨著汽車電子的發(fā)展,汽車內(nèi)電子產(chǎn)品越來越多,汽車發(fā)動機(jī)、底盤和車身等電控系統(tǒng)中的電控單元數(shù)量不斷增加,同時它們之間的通信也越來越重要。在汽車內(nèi)利用網(wǎng)絡(luò)技術(shù),可大大提高系統(tǒng)之間信息傳遞的可靠性,同時可大大減少汽車線束的數(shù)量,降低汽車電氣系統(tǒng)的成本。近年來,CAN系統(tǒng)在汽車內(nèi)的應(yīng)用越來越廣泛。CAN(ControllerAreaNetwork)是控制局域網(wǎng)的簡稱,最早由德國BOSCH公司推出,用于汽車內(nèi)部測量與執(zhí)行部件的數(shù)據(jù)通信。由于其高性能、高可靠性、實(shí)時性好和獨(dú)特的設(shè)計(jì),已廣泛的應(yīng)用于控制系統(tǒng)的各檢測和執(zhí)行機(jī)構(gòu)之間的數(shù)據(jù)通信。CAN總線符合ISO11898標(biāo)準(zhǔn),最大傳輸速率可達(dá)1Mbps,最大傳輸距離為10km,傳輸介質(zhì)可為雙絞線。它具有如下的一些技術(shù)特性:

1)多主方式工作,非破壞性的基于優(yōu)先權(quán)的總線仲裁技術(shù);

2)采用短幀結(jié)構(gòu),受干擾概率低,每幀信息都有CRC檢驗(yàn)及其他檢錯措施;

3)對嚴(yán)重錯誤具有自動關(guān)閉總線的功能,使總線的其他操作不受影響。

在汽車運(yùn)行過程中,車載射頻裝置如汽車立體聲系統(tǒng)、GPS導(dǎo)航設(shè)備、衛(wèi)星數(shù)字音頻無線電業(yè)務(wù)(SDARS)裝置、GSM無線電收發(fā)器以及其它電器設(shè)備均可能造成干擾或受到干擾,這些射頻干擾信號會對汽車無線系統(tǒng)的數(shù)據(jù)流造成不良影響。如果應(yīng)用傳統(tǒng)的無線數(shù)據(jù)傳輸技術(shù),傳輸?shù)臄?shù)據(jù)的速率和準(zhǔn)確率都不能很高,從而不能實(shí)現(xiàn)快速、準(zhǔn)確地進(jìn)行數(shù)據(jù)的傳輸,而把無線傳輸技術(shù)用在汽車上可以很好地解決這個問題。
本文所用模塊采用英國CSR公司的BC417芯片,并與SST公司的8M的FLASH芯片39VF800A構(gòu)成了模塊。

圖1 藍(lán)牙模塊原理圖

此模塊的主要特點(diǎn)如下:

1)采用CSR主流藍(lán)牙芯片,符合藍(lán)牙V210標(biāo)準(zhǔn)。

2)串口模塊上底板帶有RS232接口和TTL接口,任選一種接口使用,使用313~5V電源。串口對用戶而言是透明的。

3)藍(lán)牙芯片采用向前糾錯編碼,通信效率高,自動跳頻,抗干擾能力強(qiáng)。

4)波特率為1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600,1382400,可在程序中根據(jù)實(shí)際需要設(shè)置。

5)休眠電流:小于1MA,工作電流:40MA。

2 系統(tǒng)硬件結(jié)構(gòu)原理圖

本文利用MICROCHIP公司的內(nèi)嵌CAN控制器的18F4580芯片與CAN收發(fā)器芯片MCP2515構(gòu)成CAN網(wǎng)絡(luò)系統(tǒng),并用18F4580芯片自帶的10位AD傳感器實(shí)現(xiàn)了對汽車發(fā)動機(jī)節(jié)氣門位置信號的測量,同時利用智能數(shù)字傳感器DS18B20對發(fā)動機(jī)的水溫信號進(jìn)行測量。利用藍(lán)牙模塊把測量的信號無線傳給,利用VC++編寫數(shù)據(jù)接收與處理的程序?qū)崿F(xiàn)數(shù)據(jù)的實(shí)時顯示與存儲,并可顯示數(shù)據(jù)值隨時間的變化關(guān)系曲線圖,測量結(jié)果直觀。系統(tǒng)的硬件原理圖如圖2所示。

圖2 測量系統(tǒng)原理圖

3 發(fā)動機(jī)節(jié)氣門位置信號與水溫信號的測量

3.1 節(jié)氣門信號信號的測量

這里測量的汽車發(fā)動機(jī)上節(jié)氣門位置傳感器為一可調(diào)電阻型,節(jié)氣門位置輸出信號為0~5V的電壓信號,根據(jù)節(jié)氣門的實(shí)際開度與輸出電壓的關(guān)系,對測量的電壓信號進(jìn)行標(biāo)定,根據(jù)實(shí)測的電壓信號即可換算成節(jié)氣門的開度。所以這里用PIC18F4580單片機(jī)內(nèi)嵌的10位AD轉(zhuǎn)換電路完成對節(jié)氣門位置傳感器輸出電壓的測量,為提高測量精度,對單片機(jī)AD的5V基準(zhǔn)電壓進(jìn)行了與系統(tǒng)電源隔離穩(wěn)壓處理。

本系統(tǒng)利用Microchip公司的MPLAB開發(fā)環(huán)境嵌入PICC18C程序編譯器,用C程序編寫了數(shù)據(jù)采集與CAN數(shù)據(jù)的收發(fā)程序,其中AD轉(zhuǎn)換子程序用匯編語言編寫,程序兼顧了C程序的模塊化和可維護(hù)性好的優(yōu)點(diǎn),同時具有了匯編語言高效率的優(yōu)點(diǎn)。

信號通過CAN控制器用擴(kuò)展幀格式發(fā)送到CAN網(wǎng)絡(luò)上。其中數(shù)據(jù)采集與CAN數(shù)據(jù)的發(fā)送子程序如下:

InitSPI();//SPI接口初始化

Init_MCP2515();//MCP2515初始化

……

TRISA=0B00000001;//AN0>>>>DCinputDC通道上輸入,打開RA0

ADCON0=0B00000001;//AN0通道,允許ADC工作,

ADCON1=0B00001110;//除RA0為模擬輸入口外,其他RA口跟RE口均為普通數(shù)字口

ADCON2=0B10100001;//轉(zhuǎn)換結(jié)果右對齊,8TAD,1/8FOSC。

#asm

ADCON0EQU0FC2H

GOEQU001H

bsfADCON0,GO//開始轉(zhuǎn)換

ADWAIT:

btfscADCON0,GO

gotoADWAIT//等待轉(zhuǎn)換完成

#endasm

write_MCP2515(TXB0CTRL,0x03);//設(shè)置為發(fā)送最高優(yōu)先級

write_MCP2515(TXB0SIDH,0xFF);//EID28--21

write_MCP2515(TXB0SIDL,0xEB);//EID20--EID18,擴(kuò)展幀使能,EID17--EID16

write_MCP2515(TXB0EID8,0xFF);//EID15--EID8

write_MCP2515(TXB0EID0,0xFF);//EID7--EID0

write_MCP2515(TXB0DLC,0x02);//發(fā)送數(shù)據(jù)長度為8字節(jié)


上一頁 1 2 下一頁

評論


相關(guān)推薦

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

關(guān)閉