《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 一種新型汽車OBD信息無線發(fā)射機設計
一種新型汽車OBD信息無線發(fā)射機設計
來源:電子技術應用2012年第11期
代妮娜1,, 蔡 黎1, 邱 剛1,, 鄧 明2
1. 重慶三峽學院 數(shù)字與信號處理重點實驗室,,重慶 404000,; 2. 長安汽車研發(fā)中心系統(tǒng)所5室, 重慶 400023
摘要: 提出了一種新型汽車OBD信息無線發(fā)射機的設計方法,。發(fā)射機以PIC18F2480單片機和MCP2551車載CAN總線收發(fā)模塊為核心,,連接器硬件讀取OBD接口的CAN總線實時數(shù)據,解析相關參數(shù)值,,最后通過藍牙模塊發(fā)射進行無線傳輸,。具體闡述了硬件模塊電路圖和工作原理、給出了軟件流程圖,。該方案已經實現(xiàn),。工程實測證明,此種設計方案高效可靠,,能夠達到無線發(fā)射汽車OBD接口信息的目的,。
中圖分類號: 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年以后生產的汽車都配置有OBD接口[1],。OBD接口能夠輸出汽車各項運行參數(shù)和故障碼,,廣泛應用在安全駕駛、行駛預警,、汽車維修等領域,。

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

2 硬件設計
2.1 供電模塊

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

    圖2中,,LTC3340從OBD接口4號,、 16號引腳提取12 V電壓,轉換成穩(wěn)定的TTL電平電壓從Vout引腳輸出供整個發(fā)射機使用,。
2.2 CAN總線采集收發(fā)模塊
    CAN總線采集收發(fā)模塊的作用是發(fā)送查詢請求到行車電腦,,然后讀取返回的CAN總線信息。
    不同型號汽車的OBD接口總線傳輸速率不一定相同,,但傳輸速率一般限制為CAN2.0協(xié)議規(guī)定的1 MB/s,,為了擴大發(fā)射機的應用范圍,,需要向下兼容所有低速率,,所以選用支持1 MB/s傳輸速率的MCP2551高速CAN總線信號收發(fā)芯片作為本模塊的主芯片。
    MCP2551作為CAN協(xié)議控制器和物理總線接口,,分別從OBD的7號,、15號引腳收發(fā)高速CAN信號和低速CAN信號[2],兩組信號差分收發(fā),、鎖存而后送PIC18F2480單片機解析,。
    在實際工作中, 藍牙無線信號電磁波頻率高達2.45 GHz,,易干擾MCP2551使其不能工作在正常狀態(tài),,對電路稍加改造,在輸入輸出引腳都連接可調電容進行濾波抗干擾處理,,如圖3,。微調電容使其達到最佳狀態(tài)后,用4路跟蹤示波器檢測經過抗干擾處理后的差分收發(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內部自帶CAN控制器和16 KB Flash儲存,,并提供專用CAN總線操作指令集,,只需對其內部的CAN控制器進行簡單的指令操作,,就能實現(xiàn)CAN總線控制和OBD模塊解析。
2.4 藍牙發(fā)射模塊
    藍牙電路實現(xiàn)將解析后的OBD信號處理并無線發(fā)射到終端機的功能,。
    方案選用BC417143B作為主芯片,, 如圖5解析模塊輸出的信號為TTL電平,將其直接連入BC417143B芯片的數(shù)據輸入端口D+和D-,,經芯片基帶層編碼和分組處理,,傳入無線層完成頻率合成,最后傳入RF射頻模塊予以發(fā)射[3],。雖然2.2節(jié)中的信息為差分收發(fā),但BC417143B發(fā)射電路中帶鎖相環(huán),,所以發(fā)射可以在不同的時隙進行,提高了發(fā)射的效率,。

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

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

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

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

 


    以Android2.3.2版本設備摩托羅拉ME722作為測試終端,,以長安福特CAF7180A48轎車作為實測車輛。開啟終端藍牙端口,,將前述藍牙發(fā)射機實物安裝在OBD接口并開啟,,運行三方OBD信息提取顯示軟件Torque軟件。
    在汽車怠速和行駛狀態(tài)下,,終端均通過藍牙端口成功接收發(fā)射機傳輸?shù)钠嚂r速,、發(fā)動機轉速等參數(shù)信息,在拔下響應傳感器模擬故障的情況下,,終端能夠讀取故障碼,。
    新型汽車OBD信息無線發(fā)射機設計方案真實有效,其通用性好,、實用性強,,特別是無線傳輸?shù)哪J剑瑯O大地擴展了可以接收OBD信息的終端類型,。
    新型汽車OBD信息無線發(fā)射機可以直接用于小型載客汽車,,也可以在對電源模塊稍作改造后用于重型汽車或其他支持OBD協(xié)議的交通工具。
參考文獻
[1] BOSCH Company. CAN Specification Version2.0[EB/OL]. http://www.bosch. Com. Germany.2011.
[2] 呂立亞, 王兆伍. 基于藍牙的汽車CAN網絡信號無線測量系統(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平臺汽車虛擬儀表設計[J].電子技術應用,2012,38(1):69-72.

此內容為AET網站原創(chuàng),,未經授權禁止轉載,。