亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于OBD—II的故障診斷及數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)

        2017-12-02 09:04:48范黎周美嬌張軒雄
        軟件導(dǎo)刊 2017年11期

        范黎+周美嬌+張軒雄

        摘要:為了迅速地幫助車輛開發(fā)、測(cè)試人員獲取車輛排放數(shù)據(jù)和定位汽車故障原因,設(shè)計(jì)了一套基于OBD-II協(xié)議的車輛故障診斷系統(tǒng)。在系統(tǒng)硬件上,該故障診斷模塊采用STM32F103CBT6作為主控芯片,通過(guò)TJA1050CAN收發(fā)器與車輛的OBD接口進(jìn)行數(shù)據(jù)交互;軟件上下位機(jī)采用keil4開發(fā)環(huán)境完成固件開發(fā),上位機(jī)采用C#語(yǔ)言通過(guò)串口實(shí)時(shí)顯示診斷信息和信號(hào)值。通過(guò)軟硬件協(xié)同工作,最終實(shí)現(xiàn)上位機(jī)終端界面發(fā)送讀取故障請(qǐng)求或?qū)崟r(shí)數(shù)據(jù)流請(qǐng)求時(shí),終端界面會(huì)顯示響應(yīng)的回復(fù)值等功能。通過(guò)系統(tǒng)測(cè)試,證明了該診斷系統(tǒng)數(shù)據(jù)準(zhǔn)確、響應(yīng)速度快。

        關(guān)鍵詞關(guān)鍵詞:OBD-II;STM32;故障碼;故障診斷系統(tǒng);數(shù)據(jù)采集系統(tǒng)

        DOIDOI:10.11907/rjdk.171857

        中圖分類號(hào):TP319

        文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào)文章編號(hào):16727800(2017)011006804

        0引言

        當(dāng)汽車發(fā)生故障時(shí),有可能導(dǎo)致一氧化碳、碳?xì)浠衔铩⒌趸衔锘蛉加驼舭l(fā)污染量超過(guò)設(shè)定指標(biāo),這些有害氣體給人類、動(dòng)物、植物及整個(gè)自然界的生物帶來(lái)了極大傷害[1]。OBDII是第二代汽車診斷系統(tǒng)(OnBoardDiagnostics,OBD),用于隨時(shí)監(jiān)控發(fā)動(dòng)機(jī)運(yùn)行狀況和尾氣處理系統(tǒng)工作狀態(tài)并識(shí)別排放部件故障。當(dāng)排放超標(biāo)時(shí),車內(nèi)的故障燈則會(huì)點(diǎn)亮報(bào)警,汽車ECU會(huì)檢測(cè)和存儲(chǔ)相關(guān)故障信息[2]。與第一代診斷系統(tǒng)相比,OBDII標(biāo)準(zhǔn)化了通信協(xié)議和故障碼,也定義了更加嚴(yán)格的排放標(biāo)準(zhǔn),更加便于汽車開發(fā)、測(cè)試人員獲取車輛排放數(shù)據(jù)及定位汽車故障原因。

        1系統(tǒng)總體框架及硬件設(shè)計(jì)

        車輛故障診斷系統(tǒng)采用型號(hào)為STM32F103CBT6的單片機(jī)嵌入ISO15765協(xié)議完成車輛的故障診斷和傳感器信息獲取。單片機(jī)根據(jù)標(biāo)準(zhǔn)協(xié)議發(fā)送特定的CAN報(bào)文到車輛的總線網(wǎng)絡(luò)中,被檢測(cè)的車輛收到報(bào)文后根據(jù)命令回復(fù)故障代碼(DTC)和數(shù)據(jù)流(RDS)。診斷系統(tǒng)上位機(jī)通過(guò)串口和下位機(jī)通信,解析實(shí)際故障信息并實(shí)時(shí)顯示相關(guān)傳感器的信號(hào)值。該系統(tǒng)主要分為主控電路、電源電路、USB轉(zhuǎn)串口電路與CAN收發(fā)器通訊電路。在硬件設(shè)計(jì)中,選擇STM32F103CBT6芯片作為主控芯片,電源電路模塊采用622K芯片,CAN收發(fā)電路模塊采用TJA1050芯片,USB轉(zhuǎn)串口模塊采用CP2102芯片。系統(tǒng)結(jié)構(gòu)如圖1所示。

        圖1系統(tǒng)結(jié)構(gòu)

        1.1主控電路設(shè)計(jì)

        本系統(tǒng)采用基于CotexM3內(nèi)核的32位處理芯片STM32F103CBT6作為主控芯片。由于STM32F103xx系列擁有ARM核心,因此可以兼容ARM開發(fā)相關(guān)的各種軟件與工具。存儲(chǔ)方面擁有128K FLASH和多達(dá)64K的SRAM,保證了數(shù)據(jù)和程序存儲(chǔ)能力[3]。系統(tǒng)通過(guò)芯片倍頻技術(shù)可達(dá)到72MHz,非常適用于對(duì)處理速度和通訊速度要求很高的診斷系統(tǒng)。圖2是STM32F103CBT6的引腳分布圖。

        圖2STM32F103CBT6引腳分布

        1.2電源電路設(shè)計(jì)

        汽車供電系統(tǒng)為12V,而STM32F103CBT6芯片的供電額定電壓為3.3V,為了診斷系統(tǒng)的便捷性,需要設(shè)計(jì)降壓電路以滿足要求。采用622k直流穩(wěn)壓芯片將ECU電源轉(zhuǎn)化為1.5V~3.3V,電源效率高,輸入穩(wěn)定性好[4]。電源電路設(shè)計(jì)如圖3所示。電壓輸出端與主控芯片STM32F103CBT6的PA11相連,C6和C7為接地電容,可以防止高頻噪聲干擾,確保主控和通訊子系統(tǒng)穩(wěn)定工作。

        圖3電源電路設(shè)計(jì)

        1.3CAN收發(fā)電路

        系統(tǒng)的CAN收發(fā)電路采用TJA1050芯片作為診斷系統(tǒng)和汽車OBD的物理接口。TJA1050為總線提供數(shù)據(jù)發(fā)送和接收功能。如圖4所示,CAN收發(fā)電路中的RXD、TXD,與STM32F103CBT6控制芯片的PB5和PB6引腳連接,CAN_H、CAN_L和OBD中的對(duì)應(yīng)引腳連接。TJA1050使用5V供電,C4、C5為CAN_H、CAN_L對(duì)地匹配電容。接入的電容提高了電磁干擾性能,并且與相應(yīng)的噪聲源阻抗形成RC低通濾波[5]。

        圖4CAN收發(fā)器電路設(shè)計(jì)

        1.4USB轉(zhuǎn)串口電路

        下位機(jī)采集的數(shù)據(jù)通過(guò)USB轉(zhuǎn)串口方式與主控芯片進(jìn)行數(shù)據(jù)交互。本系統(tǒng)采用CP2102芯片將主控芯片的串口轉(zhuǎn)化為虛擬USB口。RXD、TDX與主控芯片STM32F103CBT6的PB13和PB14連接。C12為接地電容,抑制數(shù)據(jù)傳輸過(guò)程中的電磁干擾。當(dāng)與USB口連接成功后點(diǎn)亮D0,PC端上位機(jī)系統(tǒng)即可與下位機(jī)進(jìn)行通信。USB轉(zhuǎn)串口電路如圖5所示。

        圖5USB轉(zhuǎn)串口電路

        2軟件設(shè)計(jì)

        下位機(jī)單片機(jī)STM32F103CBT6的程序設(shè)計(jì)使用的keil4軟件平臺(tái)采用C語(yǔ)言開發(fā),主要包括對(duì)STM32F103CBT6的初始化,以及故障代碼和實(shí)時(shí)數(shù)據(jù)流的采集與解析。初始化主要包括延時(shí)程序、系統(tǒng)時(shí)鐘配置、串口、CAN口及中斷程序的初始化。其中數(shù)據(jù)的采集和解析參照OBDII協(xié)議標(biāo)準(zhǔn),實(shí)現(xiàn)對(duì)汽車故障碼和實(shí)時(shí)數(shù)據(jù)流獲取。圖6為主程序流程。上位機(jī)程序設(shè)計(jì)使用微軟Visual Studio軟件平臺(tái),采用C#語(yǔ)言開發(fā),主要包括讀取故障碼、讀取實(shí)時(shí)數(shù)據(jù)流和清除故障碼3大功能模塊,通過(guò)USB串口程序?qū)崿F(xiàn)與下位機(jī)的通信,最終顯示故障信息和信號(hào)值。

        圖6主程序流程

        2.1數(shù)據(jù)采集與解析

        OBDII系統(tǒng)支持的協(xié)議主要包括IOS9141、SAEJ1859(PWM)、SAEJ1859(VPM)、KWP200、ISO15765[6]。本系統(tǒng)的數(shù)據(jù)讀取和解析協(xié)議采用ISO15764,該協(xié)議是基于汽車CAN總線網(wǎng)絡(luò)的診斷協(xié)議,其CAN報(bào)文收發(fā)的核心代碼如下:

        u8* SendFrame(CanTxMsg* TxMessage,ErrorStatus* err)//定義CAN報(bào)文收發(fā)函數(shù)endprint

        {

        u8TransmitMailbox;

        u32i;

        CANRXMAIL = ERROR;

        TransmitMailbox = CAN_Transmit(CAN1, TxMessage);//發(fā)送CAN,若發(fā)送成功,返回存入信號(hào)箱

        while(CAN_TransmitStatus(CAN1,TransmitMailbox) != CANTXOK);//判斷是否發(fā)送成功

        for (i = 0;i < 10000000/3;i++)//延時(shí)大約1.5s

        {

        if (CANRXMAIL == SUCCESS) break;

        }

        *err = CANRXMAIL;

        return (u8*)&RXRAM[0];//返回CAN報(bào)文的數(shù)據(jù)域

        }

        ISO15764協(xié)議有標(biāo)準(zhǔn)幀和擴(kuò)展幀兩種不同的CAN報(bào)文,標(biāo)準(zhǔn)幀的標(biāo)識(shí)符ID為0X7DF,擴(kuò)展幀的標(biāo)識(shí)符ID為0X18DB33F1,其算法和格式相同。表1為標(biāo)準(zhǔn)幀CAN報(bào)文的傳輸格式,其中PCI表示協(xié)議控制字節(jié)數(shù)量,MODE為請(qǐng)求模式,PID為讀取數(shù)據(jù)流的參數(shù)標(biāo)志,PCI、MODE和PID組成CAN報(bào)文的數(shù)據(jù)域[7]。不同的PID對(duì)應(yīng)讀取不同的數(shù)據(jù)流條目,例如0x0C代表讀取發(fā)動(dòng)機(jī)轉(zhuǎn)速,0x0D代表讀取車速,0x15代表讀取氧傳感器輸出電壓,本系統(tǒng)總共實(shí)現(xiàn)了16條數(shù)據(jù)實(shí)時(shí)值的讀取。然后,根據(jù)返回的CAN報(bào)文的PID進(jìn)行數(shù)據(jù)解析,例如:車速為xx/3 km/h,氧傳感器輸出電壓(缸組1,傳感器2)為xx*0.005。

        2.2USB轉(zhuǎn)串口程序設(shè)計(jì)

        上位機(jī)采用C#語(yǔ)言通過(guò)串口實(shí)時(shí)顯示診斷信息和信號(hào)值。C#使用SerilPort類,可以方便地實(shí)現(xiàn)串口通信的多種功能[8]。IsOpen()函數(shù)判斷串行端口的開關(guān)狀態(tài),ReadBufferSize()函數(shù)設(shè)置串行端口輸入緩沖區(qū)大小,以防止數(shù)據(jù)傳輸過(guò)程中丟失。Read()和Write()函數(shù)實(shí)現(xiàn)串口的讀取和發(fā)送操作[9]。串口通信初始化如下:

        public boolSerialport_Config(int Baud, string COMx)//串口初始化函數(shù)

        {

        try

        {

        com.BaudRate = Baud; //獲取串行波特率

        com.PortName = COMx; //獲取通信端口

        com.DataBits = 8; //設(shè)置字節(jié)長(zhǎng)度

        com.Open();//打開新的串口連接

        }

        catch (System.Exception)

        {

        return false;//獲取系統(tǒng)異常返回false

        }

        return true;

        }

        3系統(tǒng)調(diào)試及實(shí)驗(yàn)結(jié)果

        系統(tǒng)硬件使用PADS畫出系統(tǒng)的PCD線路板后進(jìn)行打樣,焊接好元器件和貼片后,使用JInk,并采用SWD方式將程序燒錄到單片機(jī)中,然后進(jìn)行軟件調(diào)試。實(shí)物如圖8所示。

        圖8系統(tǒng)實(shí)物圖

        實(shí)驗(yàn)環(huán)境采用ECU模擬器模擬OBDII系統(tǒng)的ISO157654協(xié)議,通過(guò)CAN收發(fā)器的CAN_TXD1和CAN_RXD1與ECU模擬器OBD接口的6、14端口連接,然后將USB串口模塊與電腦連接。安裝串口驅(qū)動(dòng)后,選擇正確的COM口,故障診斷界面上的狀態(tài)燈會(huì)變成綠色。圖9、圖10分別為讀取故障碼和讀取實(shí)時(shí)數(shù)據(jù)流的測(cè)試結(jié)果。由結(jié)果可以看出,汽車發(fā)生故障的原因?yàn)槿加土糠€(wěn)壓控制電路開路、渦輪增壓渦輪機(jī)超速。測(cè)試、開發(fā)人員則可以通過(guò)響應(yīng)的回復(fù)值來(lái)迅速定位汽車故障原因,對(duì)相關(guān)硬件進(jìn)行排查。還可以讀取實(shí)時(shí)數(shù)據(jù)值,獲取汽車發(fā)動(dòng)機(jī)轉(zhuǎn)速、進(jìn)氣溫度、計(jì)算負(fù)荷值和發(fā)動(dòng)機(jī)冷卻溫度等實(shí)時(shí)數(shù)據(jù),幫助測(cè)試和開發(fā)人員獲取車輛排放數(shù)據(jù)。對(duì)相應(yīng)的硬件檢測(cè)完成后,可以通過(guò)清除故障碼按鈕,對(duì)汽車內(nèi)部的故障碼進(jìn)行清除。

        通過(guò)5組實(shí)驗(yàn)測(cè)試進(jìn)行對(duì)比,響應(yīng)的回復(fù)值均顯示正確,而且響應(yīng)時(shí)間都在5s內(nèi),滿足了設(shè)計(jì)要求,能夠?qū)崿F(xiàn)及時(shí)獲取響應(yīng)的回復(fù)值等功能。

        4結(jié)語(yǔ)

        基于OBDII的故障診斷及數(shù)據(jù)采集系統(tǒng),經(jīng)過(guò)各種功能測(cè)試,可以迅速獲取車輛實(shí)時(shí)排放數(shù)據(jù)并定位汽車故障原因。相比于市場(chǎng)上造價(jià)高、體積大的一些原廠汽車故障檢測(cè)儀,本文設(shè)計(jì)的系統(tǒng)造價(jià)低廉、響應(yīng)速度快,具有廣闊的市場(chǎng)前景。

        參考文獻(xiàn)參考文獻(xiàn):

        [1]劉揚(yáng),郭建斌.汽車對(duì)生態(tài)環(huán)境的分析研究與前景判斷[J].環(huán)境保護(hù)與經(jīng)濟(jì)循環(huán),2008(9):4446,50.

        [2]HERPEL N,SONG Y,SIMONOTLION F,et al.Trends in automotive communication systems[J].Proceedings of IEEE,2005,92(6):12041223.

        [3]STMicrorelecttonics.STM322 reference maunual[Z].2016:6061.

        [4]劉純虎,付斌,盛慶華.基于STM32的微型USBCAN適配器開發(fā)[J].計(jì)算機(jī)測(cè)量與控制,2013(4):996998.

        [5]蔡磊.基于STM32F103芯片的USB接口的研究與實(shí)現(xiàn)[D].上海:復(fù)旦大學(xué),2009.

        [6]孟磊.基于OBDⅡ的車載遠(yuǎn)程故障診斷系統(tǒng)設(shè)計(jì)[D].武漢:武漢理工大學(xué),2012.

        [7]Road vehiclesdiagnosetics on controller area network (CAN)Part4: requirement for emissionsrelated system[S].ISO57654,2005.

        [8]王鐵流,李宗方,陳東升.基于STM32的USB數(shù)據(jù)采集模塊的設(shè)計(jì)與實(shí)現(xiàn)[J].測(cè)控技術(shù),2009(8):3740.

        [9]陳思敏.基于USB通信設(shè)備類的虛擬串口的研究與設(shè)計(jì)[D].武漢:武漢科技大學(xué),2013.

        責(zé)任編輯(責(zé)任編輯:黃健)endprint

        最新亚洲视频一区二区| 亚洲精品自产拍在线观看| 无码日韩人妻AV一区免费| 日韩精品国产一区在线| av最新版天堂在资源在线| 少妇被爽到高潮喷水免费福利| 免费亚洲一区二区三区av| 国产亚洲精品成人aa片新蒲金| 大又大粗又爽又黄少妇毛片| 美女胸又www又黄的网站| 97在线视频免费| 成人免费丝袜美腿视频| 久久亚洲精品成人av观看| 国产中文字幕免费视频一区| 亚洲成人av一二三四区| 日本护士xxxx视频| 丰满岳妇乱一区二区三区| 色婷婷日日躁夜夜躁| 国产福利小视频91| 91精品国产综合久久国产| 蜜桃av精品一区二区三区| 久久精品无码一区二区三区免费| 18禁无遮挡羞羞污污污污网站| 亚洲欧美日韩综合中文字幕| 亚洲AV秘 无套一区二区三区| 天堂久久一区二区三区| 久久777国产线看观看精品| 亚洲成a∨人片在线观看不卡| 日韩a∨精品日韩在线观看| 国产目拍亚洲精品区一区| 亚洲中文字幕视频第一二区| 久久综合精品人妻一区二区三区| 亚洲av无码久久精品蜜桃| 国产黄页网站在线观看免费视频| 国产三级黄色片子看曰逼大片| 精品黑人一区二区三区久久hd| 国产一区二区视频免费在线观看| 色偷偷噜噜噜亚洲男人| 亚洲偷自拍另类图片二区| 国内精品熟女一区二区| 日本一区二区在线免费看 |