《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 一種新型汽車OBD信息無線發(fā)射機設(shè)計
一種新型汽車OBD信息無線發(fā)射機設(shè)計
來源:電子技術(shù)應(yīng)用2012年第11期
代妮娜1,, 蔡 黎1,, 邱 剛1,, 鄧 明2
1. 重慶三峽學(xué)院 數(shù)字與信號處理重點實驗室,,重慶 404000,; 2. 長安汽車研發(fā)中心系統(tǒng)所5室,, 重慶 400023
摘要: 提出了一種新型汽車OBD信息無線發(fā)射機的設(shè)計方法,。發(fā)射機以PIC18F2480單片機和MCP2551車載CAN總線收發(fā)模塊為核心,連接器硬件讀取OBD接口的CAN總線實時數(shù)據(jù),,解析相關(guān)參數(shù)值,,最后通過藍牙模塊發(fā)射進行無線傳輸。具體闡述了硬件模塊電路圖和工作原理,、給出了軟件流程圖,。該方案已經(jīng)實現(xiàn)。工程實測證明,,此種設(shè)計方案高效可靠,,能夠達到無線發(fā)射汽車OBD接口信息的目的。
關(guān)鍵詞: PIC18F2480 藍牙 OBD MCP2551 BC417
中圖分類號: TP274
文獻標識碼: A
文章編號: 0258-7998(2012)11-0097-04
Design of new car′s OBD information wireless transmitter
Dai Nina1, Cai Li1, Qiu Gang1, Deng Ming2
1. Key Lab of Digital Signal and Information Processing, Chongqing Three Gorges University, Chongqing 404000, China; 2. Room 5 of System Department, Chang-an Automobile R & D Center, Chongqing 404000, China
Abstract: A new type of wireless transmitter of the vehicle OBD information is introduced in this paper. The core of the transmitter is the microchip PIC18F2480 and vehicle CAN bus transceiver module MCP2551. Connector hardware gets the real-time data from the CAN bus of the OBD interface, resolves the relevant parameter values, and then transmits them with Bluetooth module. The circuit diagram and working principle of the hardware module and the software flow chart are elaborated specifically. The scheme has been realized and proved that it is efficient and reliable to achieve the purpose of transmitting the information from vehicle OBD interface wirelessly and directly.
Key words : PIC18F2480,; Bluetooth,; OBD; MCP2551,; BC417

    OBD(On Board Diagnostics)即“車載診斷系統(tǒng)”,,2000年以后生產(chǎn)的汽車都配置有OBD接口[1],。OBD接口能夠輸出汽車各項運行參數(shù)和故障碼,廣泛應(yīng)用在安全駕駛,、行駛預(yù)警,、汽車維修等領(lǐng)域。

    OBD接口是美國汽車工程師協(xié)會(SAE)制定的汽車行業(yè)標準,,有獨立的電氣和信息定義規(guī)范,OBD信息讀取終端通常要配置專用的接口與OBD接口對接,,這極大地限制了OBD接口的應(yīng)用,。
    本文介紹一種新型的汽車OBD信息無線發(fā)射機設(shè)計方案,它不需要OBD連接電纜,,利用藍牙模塊無線傳輸OBD信息,使配置藍牙接收功能的終端如PC機,、筆記本電腦、智能手機,、車載導(dǎo)航儀等都能接收到OBD信號,。
1 方案總體設(shè)計
    用系統(tǒng)工程知識劃分發(fā)射機設(shè)計工作,參照模塊化硬件,、軟件開發(fā)規(guī)范,,按照以下模塊劃分發(fā)射機的總體設(shè)計:
    (1)發(fā)射機硬件:提供供電,讀取CAN總線信號并進行OBD解析轉(zhuǎn)換,,通過藍牙模塊和天線發(fā)送輸出,;
    (2)發(fā)射機軟件:對CAN總線進行命令控制并解析CAN總線信息。方案總體框圖如圖1所示,。

2 硬件設(shè)計
2.1 供電模塊

    供電模塊給整個發(fā)射機提供+5 V工作電壓環(huán)境,。
    OBD接口電氣規(guī)范定義規(guī)定:接口4號引腳為電源負,16號引腳為電源正,,電源正負電壓與車載蓄電池電壓一致[1],,乘用車車載蓄電池電壓為12 V。汽車啟動后,因為發(fā)電機的作用,,其實際電壓約在12.5 V~14 V之間,,所以需要構(gòu)造穩(wěn)壓降壓電路,將蓄電池電壓降壓并穩(wěn)定在+5 V,。此處選用LTC3340穩(wěn)壓芯片搭建穩(wěn)壓降壓電路,,設(shè)計供電電路如圖2所示。

    圖2中,,LTC3340從OBD接口4號,、 16號引腳提取12 V電壓,轉(zhuǎn)換成穩(wěn)定的TTL電平電壓從Vout引腳輸出供整個發(fā)射機使用,。
2.2 CAN總線采集收發(fā)模塊
    CAN總線采集收發(fā)模塊的作用是發(fā)送查詢請求到行車電腦,,然后讀取返回的CAN總線信息,。
    不同型號汽車的OBD接口總線傳輸速率不一定相同,但傳輸速率一般限制為CAN2.0協(xié)議規(guī)定的1 MB/s,,為了擴大發(fā)射機的應(yīng)用范圍,,需要向下兼容所有低速率,所以選用支持1 MB/s傳輸速率的MCP2551高速CAN總線信號收發(fā)芯片作為本模塊的主芯片,。
    MCP2551作為CAN協(xié)議控制器和物理總線接口,,分別從OBD的7號、15號引腳收發(fā)高速CAN信號和低速CAN信號[2],,兩組信號差分收發(fā),、鎖存而后送PIC18F2480單片機解析。
    在實際工作中,, 藍牙無線信號電磁波頻率高達2.45 GHz,,易干擾MCP2551使其不能工作在正常狀態(tài),對電路稍加改造,,在輸入輸出引腳都連接可調(diào)電容進行濾波抗干擾處理,,如圖3。微調(diào)電容使其達到最佳狀態(tài)后,,用4路跟蹤示波器檢測經(jīng)過抗干擾處理后的差分收發(fā)后的CAN總線信號,,時序圖如圖4所示。

    圖4中上,、下部兩組信號分別為發(fā)送,、接收模式下CAN總線的TXD和RXD信號。顯而易見,,發(fā)送和接收時序波形信息位相同,,觸發(fā)位不同,證明該模塊完成了讀取CAN信息并中斷觸發(fā)后送PIC18F2480的功能,,具有較強的抗干擾能力,。
2.3 CAN總線控制和OBD解析模塊
     CAN總線控制和OBD解析模塊由專用單片機實現(xiàn),一般的單片機如單獨進行CAN總線控制,,則需要很高的主頻和專門的程序,,不適合選用,因此選用PIC18系列的F2480單片機,。
    PIC18F2480內(nèi)部自帶CAN控制器和16 KB Flash儲存,,并提供專用CAN總線操作指令集,只需對其內(nèi)部的CAN控制器進行簡單的指令操作,,就能實現(xiàn)CAN總線控制和OBD模塊解析,。
2.4 藍牙發(fā)射模塊
    藍牙電路實現(xiàn)將解析后的OBD信號處理并無線發(fā)射到終端機的功能。
    方案選用BC417143B作為主芯片, 如圖5解析模塊輸出的信號為TTL電平,,將其直接連入BC417143B芯片的數(shù)據(jù)輸入端口D+和D-,,經(jīng)芯片基帶層編碼和分組處理,傳入無線層完成頻率合成,,最后傳入RF射頻模塊予以發(fā)射[3],。雖然2.2節(jié)中的信息為差分收發(fā),但BC417143B發(fā)射電路中帶鎖相環(huán),所以發(fā)射可以在不同的時隙進行,,提高了發(fā)射的效率,。

    為提高發(fā)射效果,方案硬件實現(xiàn)時使用大增益全向天線,,而不使用印刷版電路布線的隱藏天線,。為了防止發(fā)射時出錯中斷,硬件實現(xiàn)時需連接RESET開關(guān),。
3 軟件設(shè)計
3.1 CAN報文格式

    根據(jù)ISO 15765標準,CAN報文信息主要集中在數(shù)據(jù)幀中,,數(shù)據(jù)分為顯性和隱性,,顯性時表示有CAN信息出現(xiàn)[4]。數(shù)據(jù)按幀發(fā)送,,每幀數(shù)據(jù)格式如圖6所示,。

3.2 OBD報文解析
    3.1節(jié)所述數(shù)據(jù)存放在CAN總線控制和OBD解析模塊的核心器件PIC18F2480單片機的CAN控制器中,編程依次解析各域的值即可,。軟件流程圖如圖7所示,。

    (1)初始化:設(shè)定MCP2551和PIC18F2480單片機的端口、工作模式,、傳輸速率,、數(shù)據(jù)格式等信息,關(guān)鍵代碼如下:
        Init_PIC18F2480();
    //PIC18F2480接口初始化
     Init_MCP2515();           //MCP2515初始化
     TRISA=0B00000001;                                  //打開通道
     ADCON1=0B00001110;                        //定義輸如引腳
     ADCON2=0B10100001;              //轉(zhuǎn)換結(jié)果按格式對齊
     write_MCP2515(TXB0CTRL,0x03),;
                                 //設(shè)置為發(fā)送最高優(yōu)先級
     write_MCP25150(TXB0SIDL,0xEB),;                  //擴展幀
     write_MCP2515(TXB0DLC,0x02);
                                                //發(fā)送數(shù)據(jù)長度為8字節(jié)
     write_MCP2515Write(TXB0DLC, 0x80);    //配置工作模式
    (2)發(fā)送查詢請求:MCP2551提供專門的發(fā)送請求指令,,關(guān)鍵指令如下:
     void   MCP2515ReqTx (TXB0SIDL,0xEB);
     當查詢請求達到OBD接口送入行車電腦后,,則會反饋當前CAN總線數(shù)據(jù)報文至OBD接口。
    (3)接收數(shù)據(jù):MCP2551提供專門的接收請求指令,,關(guān)鍵指令如下:
    BOOL CANGetMsg(int Channel, TXB0SIDL,
0xEB)
    OBD接口數(shù)據(jù)按幀發(fā)送,,此時應(yīng)該監(jiān)視接收數(shù)據(jù)的緩沖區(qū),當接收緩沖區(qū)的數(shù)據(jù)滿時,,代表接收數(shù)據(jù)完畢,,即開始解析數(shù)據(jù)流程[5]。
    (4)解析數(shù)據(jù):如3.1節(jié)所述,每幀數(shù)據(jù)分為多位,,按位處理即可解析數(shù)據(jù),。關(guān)鍵代碼如下:
    do
    {
    uint8  MCP2515RdStus  (void);                        //讀狀態(tài)
    void   MCP2515BitModify (TXB0DLC, 0x03); //按位讀取
    }while(MCP2515ReadRXBuf  (TXB0DLC, 0x80));
                                   //當接收緩沖區(qū)滿的時候開始解析
    解析過程中,每解析一位,,數(shù)據(jù)關(guān)鍵寄存器減1,,直至0,表示數(shù)據(jù)解析完畢,。
    (5)出錯處理:錯誤幀為顯性,,則出錯,此時點亮出錯報警LED并閃爍,,提醒使用者按下復(fù)位按鈕重新啟動發(fā)射機,。
4 工程實測

 


    以Android2.3.2版本設(shè)備摩托羅拉ME722作為測試終端,以長安福特CAF7180A48轎車作為實測車輛,。開啟終端藍牙端口,,將前述藍牙發(fā)射機實物安裝在OBD接口并開啟,運行三方OBD信息提取顯示軟件Torque軟件,。
    在汽車怠速和行駛狀態(tài)下,,終端均通過藍牙端口成功接收發(fā)射機傳輸?shù)钠嚂r速、發(fā)動機轉(zhuǎn)速等參數(shù)信息,,在拔下響應(yīng)傳感器模擬故障的情況下,,終端能夠讀取故障碼。
    新型汽車OBD信息無線發(fā)射機設(shè)計方案真實有效,,其通用性好,、實用性強,特別是無線傳輸?shù)哪J?,極大地擴展了可以接收OBD信息的終端類型,。
    新型汽車OBD信息無線發(fā)射機可以直接用于小型載客汽車,也可以在對電源模塊稍作改造后用于重型汽車或其他支持OBD協(xié)議的交通工具,。
參考文獻
[1] BOSCH Company. CAN Specification Version2.0[EB/OL]. http://www.bosch. Com. Germany.2011.
[2] 呂立亞, 王兆伍. 基于藍牙的汽車CAN網(wǎng)絡(luò)信號無線測量系統(tǒng)[J]. 計算機測量與控制,2009,17(2):281-283, 286.
[3] IDWAN S A. Developing a mobile application via bluetooth wireless technology for enhancing Communication[J]. International Journal of Interactive Mobile Technologies, 2009:34-37.
[4] Wu Jianjun, Hu Juan. Application of CAN-bus network in  Intelligent parking[J]. Physics Procedia, 2009:615-628.
[5]  蔡黎,代妮娜,鄧明,等.基于OBD協(xié)議的Android平臺汽車虛擬儀表設(shè)計[J].電子技術(shù)應(yīng)用,2012,38(1):69-72.

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載。