【《基于CAN數(shù)據(jù)采集系統(tǒng)的乘用車智能故障診斷盒設(shè)計(jì)》10000字】_第1頁
【《基于CAN數(shù)據(jù)采集系統(tǒng)的乘用車智能故障診斷盒設(shè)計(jì)》10000字】_第2頁
【《基于CAN數(shù)據(jù)采集系統(tǒng)的乘用車智能故障診斷盒設(shè)計(jì)》10000字】_第3頁
【《基于CAN數(shù)據(jù)采集系統(tǒng)的乘用車智能故障診斷盒設(shè)計(jì)》10000字】_第4頁
【《基于CAN數(shù)據(jù)采集系統(tǒng)的乘用車智能故障診斷盒設(shè)計(jì)》10000字】_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于CAN數(shù)據(jù)采集系統(tǒng)的乘用車通用智能故障診斷盒設(shè)計(jì)摘要:如今汽車已非常智能化,汽車中有著眾多的傳感器與ECU,汽車故障的診斷已不再完全依靠認(rèn)為的感知以及經(jīng)驗(yàn),設(shè)計(jì)一款智能診斷盒有益于對(duì)汽車的工作狀況進(jìn)行監(jiān)督。本文主要從硬件與軟件兩個(gè)方面對(duì)故障診斷盒進(jìn)行設(shè)計(jì)。該診斷盒通過CAN數(shù)據(jù)采集系統(tǒng),采集汽車ECU中存儲(chǔ)的信息,并通過解析,當(dāng)有故障時(shí),將故障信息發(fā)送給報(bào)警器,顯示器,顯示器通過處理顯示故障代碼,相關(guān)使用人員通過查詢數(shù)據(jù)庫(kù)得到車輛狀態(tài)、故障碼等信息,并解析故障點(diǎn)和故障原因。關(guān)鍵技術(shù)主要是CAN總線技術(shù),汽車電器與電子技術(shù)、微機(jī)原理等。根據(jù)綜合綜合實(shí)驗(yàn)的需要進(jìn)行電源模塊、MC9S12XS128主控模塊、CAN總線通訊模塊、報(bào)警蜂鳴器模塊、顯示屏模塊和按鍵模塊的設(shè)計(jì),通過C語言的代碼的編寫,進(jìn)行車輛數(shù)據(jù)的采集與對(duì)采集信號(hào)的數(shù)據(jù)解析。在硬件方面,基于飛思卡爾單片機(jī)等芯片、CAN總線通訊與報(bào)警蜂鳴器等硬件電路及實(shí)物。使用AltiumDesigner完成電路圖的設(shè)計(jì)工作,在軟件方面,用CodeWarrior軟件對(duì)相關(guān)代碼進(jìn)行編寫,同時(shí)對(duì)CAN總線通訊模塊、報(bào)警蜂鳴器模塊進(jìn)行測(cè)試。關(guān)鍵詞:乘用車、通用、智能、診斷目錄TOC\o"1-3"\h\u1372第1章緒論 1168151.1課題研究背景及意義 190251.2國(guó)外內(nèi)現(xiàn)狀 1273551.3目前存在主要問題 2325931.4本文主要研究?jī)?nèi)容 212176第2章設(shè)計(jì)方案及相關(guān)技術(shù) 2286632.1設(shè)計(jì)總體要求分析 238342.2系統(tǒng)總體方案設(shè)計(jì) 3300152.3OBD-Ⅱ簡(jiǎn)介 3181982.3.1OBD-Ⅱ通訊協(xié)議 4134522.3.2OBD-Ⅱ工作原理及及接口 4123972.3.3OBD-Ⅱ模式介紹 5267362.3.4OBD-Ⅱ通用故障碼 551572.4主要診斷參數(shù) 625354第3章硬件設(shè)計(jì) 6214553.1電源模塊 7315943.2MC9S12XS128主控模塊 8216123.3CAN總線模塊 10161253.4報(bào)警蜂鳴器模塊 11287263.512864液晶接口模塊492 12138573.6按鍵模塊 1231420第4章軟件設(shè)計(jì) 12125324.1型號(hào)為TJA1050的CAN的軟件驅(qū)動(dòng) 12167764.1.1CAN程序初始化 1241624.1.2CAN的接收與發(fā)送 1340874.2讀取信息 15145834.2.1讀取車輛信息 16145834.2.2診斷故障碼的獲取 1645634.3故障信息數(shù)據(jù)解析 17306714.4蜂鳴器與顯示屏 186454.4.1蜂鳴器報(bào)警 18172664.4.2顯示屏顯示故障碼 19284764.5按鍵 2050第5章實(shí)驗(yàn)測(cè)試 2189245.1開發(fā)板硬件實(shí)體 21184345.2信息獲取測(cè)試 2123432第6章結(jié)論 2289246.1本文結(jié)論 2289246.2未來展望 2210973參考文獻(xiàn) 23第1章緒論1.1課題研究背景及意義這幾年來,國(guó)家的發(fā)展越來越好,各家的收入水平提高,每個(gè)人不僅追求物質(zhì)上的享受,同時(shí)還追求精神上的享受,因此許多家庭為了旅游等出行方便,都購(gòu)買了私家車,汽車的需求量也不斷增加,經(jīng)過問卷調(diào)查,許多家庭不止擁有一輛機(jī)動(dòng)車,而由此也帶來許多問題,例如空氣污染,交通事故等??諝庵械腃O、CO2、HC、NOX等有害氣體大都來自汽車的尾氣得排放。同時(shí)隨著汽車的增多,由汽車故障所引起的交通事故也隨之增多,為了解決這一問題,本課題合理的設(shè)計(jì)了一款智能診斷盒,該診斷盒通過連接汽車中的ECU獲得車輛的故障數(shù)據(jù)以及行車信息,可以實(shí)時(shí)的檢測(cè)到汽車的故障所在,同時(shí)還能檢測(cè)到尾氣的排放指數(shù),從而判斷該車輛的排放是否符合國(guó)家的標(biāo)準(zhǔn),這不僅減少的尾氣排放還減少了每年由于車輛在高速上突發(fā)故障而造成的危害。1.2國(guó)外內(nèi)現(xiàn)狀智能診斷盒主要是OBD系統(tǒng),OBD系統(tǒng)能夠?qū)崟r(shí)的檢測(cè)到車輛的故障以及尾氣排放問題,該系統(tǒng)結(jié)構(gòu)比較復(fù)雜,它檢測(cè)車輛的功能能夠?qū)崿F(xiàn)主要是由硬件電路和軟件代碼共同實(shí)現(xiàn)的。美國(guó)的OBD系統(tǒng)共經(jīng)歷了兩個(gè)階段,分別是OBD-Ⅰ、OBD-Ⅱ。起初OBD-Ⅰ被研究出,但經(jīng)過一系列的實(shí)驗(yàn),發(fā)現(xiàn)有很多不足的地方,而且能夠測(cè)量到的數(shù)據(jù)很少,因此在此基礎(chǔ)上又研發(fā)了OBD-Ⅱ,OBD-Ⅱ相對(duì)于OBD-Ⅰ來說測(cè)量的數(shù)據(jù)更加全面,但是這兩個(gè)階段的系統(tǒng)都有各自的特點(diǎn)。OBD-Ⅰ最早起源于八十年代的美國(guó),此時(shí)的系統(tǒng)主要能夠診斷車輛的個(gè)別硬件系統(tǒng),但同時(shí)它有些缺陷,如標(biāo)準(zhǔn)不統(tǒng)一,每輛車都有不能的標(biāo)準(zhǔn)與解碼器,而且該系統(tǒng)非常昂貴,同時(shí)它所檢測(cè)到的故障信息很有限,不能及時(shí)診斷出故障,為了彌補(bǔ)OBD-Ⅰ的缺陷,美國(guó)公司又研發(fā)了OBD-Ⅱ,相對(duì)于OBD-Ⅰ系統(tǒng)來說,OBD-Ⅱ系統(tǒng)規(guī)范統(tǒng)一的標(biāo)準(zhǔn),擴(kuò)大了檢測(cè)數(shù)據(jù),提高了爭(zhēng)端的質(zhì)量,能夠及時(shí)檢測(cè)出故障問題,大大減少了經(jīng)濟(jì)的損失。從2000年開始,歐共體要求歐洲各國(guó)汽車制造商生產(chǎn)的轎車都相應(yīng)配置歐洲電控汽車故障診斷系統(tǒng),及EOBD。2001年歐洲所有新生產(chǎn)的轎車都要配置EOBD系統(tǒng),而對(duì)于柴油發(fā)動(dòng)機(jī)轎車要求在2004年強(qiáng)制配置EOBD系統(tǒng)。[1]我國(guó)對(duì)該項(xiàng)技術(shù)的研發(fā)較晚,但是發(fā)展趨勢(shì)很迅猛。在90年代底,就開始涉獵OBD相關(guān)技術(shù)的研究了,許多科研機(jī)構(gòu)分分研發(fā)OBD系統(tǒng),并取得了一定的成果。隨著我國(guó)Ⅲ排放標(biāo)準(zhǔn)在全國(guó)范圍內(nèi)的逐步實(shí)施,OBD技術(shù)的研究已經(jīng)全面展開,包括低排放車輛OBD檢測(cè)原理,歐洲法規(guī)對(duì)OBD系統(tǒng)的技術(shù)要求,OBD功能性演示試驗(yàn)失效零部件或模擬器的研制,OBD試驗(yàn)認(rèn)證程序制訂和OBD與在用車排放管理、排放缺陷召回等制度方面的相關(guān)研究。如今OBD技術(shù)已經(jīng)很成熟,從原始的OBD診斷盒到云客戶端診斷,這一系列的發(fā)展,大大減少了行車的故障問題。[1]1.3目前存在主要問題市場(chǎng)上OBD診斷盒價(jià)格昂貴,相對(duì)體積過大,普通擁有車輛的人很少會(huì)單獨(dú)購(gòu)買該終端。個(gè)別診斷盒讀取的故障數(shù)據(jù)較少。個(gè)別診斷盒所用到的芯片的功能有缺陷,在測(cè)量時(shí)并不能及時(shí)顯示故障結(jié)果,反應(yīng)遲鈍。1.4本文主要研究?jī)?nèi)容本課題主要任務(wù)是根據(jù)綜合實(shí)驗(yàn)的需要進(jìn)行通信模塊、顯示模塊、報(bào)警模塊設(shè)計(jì),并完成相應(yīng)程序設(shè)計(jì)同時(shí)完成對(duì)采集信號(hào)的數(shù)據(jù)解析,一種基于OBD-Ⅱ診斷盒的車輛故障診斷系統(tǒng),實(shí)時(shí)獲取車輛的識(shí)別的信息,故障碼等數(shù)據(jù),并進(jìn)行報(bào)警處理,實(shí)現(xiàn)故障診斷功能。第2章設(shè)計(jì)方案及相關(guān)技術(shù)該章節(jié)主要從系統(tǒng)的總體設(shè)計(jì)方案和方案中涉及的關(guān)鍵技術(shù)兩個(gè)方面做出了詳細(xì)的介紹。該系統(tǒng)主要是能夠通過連接汽車中的ECU,及時(shí)完成故障數(shù)據(jù)以及行車信息的采集、報(bào)警以及顯示故障碼功能。因此,解決方案的設(shè)計(jì)必須考慮如何實(shí)現(xiàn)各個(gè)部分的工作。具體所涉及的技術(shù)如下:OBD-Ⅱ技術(shù)、報(bào)警技術(shù)和顯示技術(shù)。2.1設(shè)計(jì)總體要求分析汽車故障診斷系統(tǒng)的主要功能是在及時(shí)獲取汽車ECU系統(tǒng)中的故障信息和行車數(shù)據(jù)等,從而使使用者能夠及時(shí)的掌握好自己所擁有車輛的信息,及時(shí)將車輛送往汽車保養(yǎng)公司,對(duì)汽車進(jìn)行全面性的檢查,這大大減少了由于突發(fā)故障而造成的人身安全以及交通堵塞問題。通過設(shè)計(jì)前的實(shí)習(xí)過程中,大致了解了診斷系統(tǒng)診斷過程以及它所必備的一系列共功能:及時(shí)取得車輛ECU的故障以及行車數(shù)據(jù)首先,系統(tǒng)需要與汽車中的ECU系統(tǒng)獲取聯(lián)系,用連接線一端連接ECU一端連接OBD系統(tǒng);OBD系統(tǒng)大概由三種通訊協(xié)議,每個(gè)生產(chǎn)廠家會(huì)有他們自己相應(yīng)的通訊協(xié)議,所以不同類型的車輛對(duì)應(yīng)不同通訊協(xié)議,因此為了獲得車輛ECU的信息,該系統(tǒng)必須支持不同類型的車輛;因?yàn)?,車輛ECU中包含大量的車輛信息數(shù)據(jù),而本次所設(shè)計(jì)的系統(tǒng)只需要獲取ECU中的基本故障信息并對(duì)其進(jìn)行解析報(bào)警顯示等。因此,需要運(yùn)用CodeWarrior軟件對(duì)所設(shè)計(jì)的每個(gè)模塊進(jìn)行編程和調(diào)試處理,從而獲得所需要的數(shù)據(jù)信息。正確分析和處理車輛信息當(dāng)該系統(tǒng)及時(shí)獲取車輛ECU中的大量故障信息時(shí),就要對(duì)對(duì)應(yīng)的CAN系統(tǒng)編程,對(duì)提取到的信息,如故障代碼等,進(jìn)行分析處理,及時(shí)發(fā)送到報(bào)警系統(tǒng)以及顯示系統(tǒng)中。故障報(bào)警通過對(duì)蜂鳴器進(jìn)行編程,使系統(tǒng)發(fā)現(xiàn)車輛發(fā)生故障時(shí),及時(shí)進(jìn)行報(bào)警,提醒使用者該車輛有故障發(fā)生,及時(shí)送往保險(xiǎn)維修公司進(jìn)行維修。顯示故障碼顯示屏LED顯示故障碼,用戶通過查詢通用故障碼,初步了解故障原因,大致對(duì)車輛進(jìn)行自我維修。2.2系統(tǒng)總體方案設(shè)計(jì)根據(jù)上面的要求分析,對(duì)總體方案做了粗略的設(shè)計(jì),該系統(tǒng)主要由故障檢測(cè)終端組成。只能故障診斷盒的OBD接口通過連接線與汽車中的ECU相連接,MC9S12XS128主控芯片定時(shí)的將獲取信息的指令送給TJA1050車輛數(shù)據(jù)采集模塊,及時(shí)采集車輛ECU的數(shù)據(jù)流,在完成數(shù)據(jù)采集之后,發(fā)現(xiàn)故障時(shí)蜂鳴器進(jìn)行報(bào)警處理,顯示屏LED顯示故障代碼,根據(jù)國(guó)際標(biāo)準(zhǔn)的故障碼,確定故障原因,具體框架圖如圖1所示。圖1檢測(cè)時(shí)的框架圖2.3OBD-Ⅱ簡(jiǎn)介20世紀(jì)80年代,許多發(fā)達(dá)國(guó)家的汽車制造商就廣泛使用電動(dòng)發(fā)動(dòng)機(jī)。第一代車載診斷系統(tǒng)集成在電控噴氣發(fā)動(dòng)機(jī)控制系統(tǒng)中。隨后,車載故障診斷系統(tǒng)逐漸應(yīng)用于微機(jī)控制的自動(dòng)變速器、防抱死制動(dòng)系統(tǒng)、安全氣囊和巡航系統(tǒng)。該系統(tǒng)可在電子控制裝置運(yùn)行過程中隨時(shí)控制系統(tǒng)各部分的運(yùn)行狀態(tài),當(dāng)電子控制系統(tǒng)出現(xiàn)故障時(shí),故障有關(guān)的資料都儲(chǔ)存在微電腦中,車輛的維修人員的連接端子的開關(guān)接頭,同時(shí)按規(guī)定的方法來分析和診斷整車電子控制系統(tǒng)的故障。OBD系統(tǒng)是一種可擴(kuò)展的機(jī)動(dòng)車故障診斷和檢測(cè)系統(tǒng)。起初由于汽車尾氣的大量排放而造成的污染,為了控制尾氣的排放指標(biāo)以及排放量,從而起到保護(hù)環(huán)境的作用,才設(shè)計(jì)了OBD系統(tǒng)。OBD技術(shù)目前已經(jīng)發(fā)展的很成熟,被廣泛應(yīng)用于機(jī)動(dòng)車故障診斷的過程中。OBD系統(tǒng)通過CAN模塊獲取存儲(chǔ)在ECU中的故障信息及行駛數(shù)據(jù)庫(kù),車輛維修人員通過查找通用故障碼,以確定故障的原因和位置。2.3.1OBD-Ⅱ通訊協(xié)議 不同的車輛制造商有不同的通訊協(xié)議,因此,每個(gè)廠商所設(shè)計(jì)的每個(gè)種類的車都有他們相應(yīng)的通訊協(xié)議。OBD-Ⅱ標(biāo)準(zhǔn)使用的通訊協(xié)議一般有:ISO9141-2、ISO14230-4(KWP2000)、SAEJ1850PWM、SAEJ1850VPM、ISO15765-4(CAN-BUS)。ISO9141-2總線的協(xié)議IS09141-2協(xié)議是汽車行業(yè)最常用的通信協(xié)議之一,屬于標(biāo)準(zhǔn)OBD-Ⅱ協(xié)議的一種,它的物理層空閑電平通常為12V,數(shù)據(jù)幀有兩種分別為命令幀和響應(yīng)幀。(2)ISO14230總線的協(xié)議在汽車故障領(lǐng)域,各汽車公司都制定了診斷設(shè)備與汽車ECU之間數(shù)據(jù)交換的相關(guān)標(biāo)準(zhǔn)和協(xié)議。其中,在歐洲汽車領(lǐng)域廣泛使用的車載診斷協(xié)議標(biāo)準(zhǔn)KWP2000實(shí)現(xiàn)了一整套車載診斷服務(wù),符合E-OBD標(biāo)準(zhǔn)。KWP2000最初是基于K線的診斷協(xié)議。由于K線物理層和數(shù)據(jù)鏈路層在網(wǎng)絡(luò)管理和通信速率方面的限制,k線不能滿足日益復(fù)雜的車載診斷網(wǎng)絡(luò)需求。CAN網(wǎng)絡(luò)以其非破壞性的網(wǎng)絡(luò)仲裁機(jī)制、高通信速率和靈活可靠的通信方式,在車輛網(wǎng)絡(luò)領(lǐng)域受到廣泛青睞。越來越多的汽車廠商將CAN總線應(yīng)用于汽車的控制、診斷和通信。近年來,基于CAN總線的KWP2000即ISO15765協(xié)議在歐洲汽車領(lǐng)域得到了廣泛應(yīng)用,而基于K線的KWP2000物理層和數(shù)據(jù)鏈路層協(xié)議將逐步淘汰。(3)ISO15765總線的協(xié)議基于CAN總線的KWP2000協(xié)議實(shí)際引用ISO/WD15765-1~15765-4。該協(xié)議將KWP2000應(yīng)用層的診斷服務(wù)傳輸?shù)紺AN總線。數(shù)據(jù)鏈路層采用ISO11898-1協(xié)議,是對(duì)CAN2.0B協(xié)議的進(jìn)一步標(biāo)準(zhǔn)化和規(guī)范化。應(yīng)用層采用ISO15765-3協(xié)議,完全兼容基于K線的應(yīng)用層協(xié)議14230-3,并加入CAN總線診斷功能組;網(wǎng)絡(luò)層使用ISO15765-2協(xié)議,它定義了網(wǎng)絡(luò)層協(xié)議數(shù)據(jù)單元之間的映射關(guān)系,數(shù)據(jù)幀,底部和上部KWP2000服務(wù),并提供同步控制、順序控制、流控制和錯(cuò)誤恢復(fù)功能的多包長(zhǎng)消息的數(shù)據(jù)傳輸過程。2.3.2OBD-Ⅱ工作原理及及接口OBD-Ⅱ系統(tǒng)對(duì)ECU接口和外部設(shè)備連接的統(tǒng)一規(guī)定,OBD跳線盒原理具體如圖2所示。圖2OBD跳線盒原理汽車OBD診斷座的位置并不是很確定,每個(gè)生產(chǎn)廠家有不同的設(shè)計(jì),大概有4個(gè)位置,如位于方向盤左下角,位于方向盤右下腳,位于中控臺(tái)下方點(diǎn)火器附近,位于中央扶手箱里,但是最常見的位置位于方向盤左下角,有16針孔,不好測(cè)量,OBD診斷盒設(shè)置16個(gè)檢測(cè)孔。分別測(cè)試每一根線,4為車身搭鐵,5為信號(hào)搭鐵,16為蓄電池正極,其余引腳由家自行設(shè)定。具體如圖3所示。圖3OBD診斷接口圖2.3.3OBD-Ⅱ模式介紹通過OBD-Ⅱ模式我們可以去請(qǐng)求車輛上動(dòng)力系統(tǒng)的一些數(shù)據(jù),但是這些數(shù)據(jù)都是需要預(yù)先定義好的,ISO標(biāo)準(zhǔn)規(guī)定了一些參數(shù)表示即PID,每一份PID代表一個(gè)變量參數(shù),目前OBD-Ⅱ共有9種服務(wù)模式,具體如表4服務(wù)功能01請(qǐng)求動(dòng)力系統(tǒng)當(dāng)前數(shù)據(jù)(速度、里程、溫度等)02請(qǐng)求凍結(jié)幀數(shù)據(jù)03請(qǐng)求排放相關(guān)的故障碼04請(qǐng)求排放相關(guān)故障信息05請(qǐng)求氧傳感器的檢測(cè)結(jié)果06請(qǐng)求指定監(jiān)控系統(tǒng)的測(cè)試結(jié)果07請(qǐng)求當(dāng)前或上一驅(qū)動(dòng)周期檢測(cè)到的排放相關(guān)的故障碼08請(qǐng)求控制在線系統(tǒng)或組件09請(qǐng)求整車信息表4OBD-Ⅱ服務(wù)狀況2.3.4OBD-Ⅱ通用故障碼 要對(duì)CAN系統(tǒng)進(jìn)行編程,從而處理從ECU系統(tǒng)中獲得的故障信息,最終在顯示屏顯示故障代碼,故障代碼一般五位數(shù)組成,第一位為字母,分別為P、B、C、U,P為動(dòng)力總成系統(tǒng),B為車身系統(tǒng),C為底盤懸掛系統(tǒng),U為網(wǎng)絡(luò)通訊系統(tǒng);第二、三、四、五位位數(shù)字;第二位的數(shù)字一般有0、1、2、3;0為通用故障碼,1為制造商自定義故障碼,2為通用故障碼,故障碼詳細(xì)解析如圖5圖5故障碼詳細(xì)解析ISO標(biāo)準(zhǔn)規(guī)定了一些參數(shù)標(biāo)識(shí)即PID,每一個(gè)PID代表一個(gè)變量參數(shù),表6列舉了01模式下個(gè)別的PID參數(shù),如下所示。PID長(zhǎng)度字節(jié)描述數(shù)據(jù)類型014故障碼清除之后的檢測(cè)狀態(tài)\041引擎負(fù)載\051發(fā)動(dòng)機(jī)冷卻液溫度\0C2發(fā)動(dòng)機(jī)轉(zhuǎn)速Data/4rpm(0<data<1638375)0D1車速Datakm/h(0<data<255)1F2啟動(dòng)后運(yùn)行的時(shí)間\表601模式下PID參數(shù)2.4主要診斷參數(shù)OBD診斷盒的設(shè)計(jì)主要是為了監(jiān)控尾氣排放,在一定的標(biāo)準(zhǔn)下,可以排放到大自然,而本次設(shè)計(jì)主要是診斷車輛發(fā)生的故障,從而減少交通事故的發(fā)生。能夠測(cè)量的參數(shù):發(fā)動(dòng)機(jī)轉(zhuǎn)速、發(fā)動(dòng)機(jī)溫度、發(fā)動(dòng)機(jī)負(fù)荷、燃油壓力、點(diǎn)火正時(shí)角度、角度節(jié)氣門開度、歧管真空度、油軌壓力、進(jìn)氣管壓力、進(jìn)氣溫度、空氣流量、電瓶電壓、冷卻液壓溫度、蒸發(fā)系統(tǒng)壓力、長(zhǎng)時(shí)燃油修正百分比、時(shí)燃油修正百分比、EGR開度、蒸發(fā)沖洗控制百分比等。第3章硬件設(shè)計(jì)智能診斷盒的硬件設(shè)計(jì)主要包括電源模塊,MC9S12XS128主控模塊、型號(hào)為TJA1050的CAN收發(fā)信息模塊、報(bào)警蜂鳴器模塊、顯示屏LED模塊,具體結(jié)構(gòu)如下圖7所示圖7硬件總體設(shè)計(jì)故障診斷盒與車輛的OBD接口相連接,從汽車蓄電池中獲取電量,供應(yīng)診斷盒各個(gè)模塊工作,車輛蓄電池的額定電壓為12V~24 V左右,而所設(shè)計(jì)的故障診斷盒各個(gè)模塊能夠通過的最大電壓并不能達(dá)到這種電伏,所以獲取的電壓要經(jīng)過硬件的電源模塊進(jìn)行降壓處理,然后分別供給型號(hào)為TJA1050的CAN收發(fā)信號(hào)模塊、MC9S12X128主控模塊、報(bào)警蜂鳴器模塊和顯示屏模塊使用,型號(hào)為JTA1050的CAN收發(fā)信號(hào)模塊通過編寫正確代碼與車輛ECU建立聯(lián)系,從車輛中獲取正確的故障和行車信息,報(bào)警蜂鳴器負(fù)責(zé)收到故障時(shí)發(fā)出報(bào)警警告使用人員,顯示屏顯示故障代碼,MC9S12XS128主控模塊負(fù)責(zé)控制JTA1050收發(fā)信號(hào)模塊采集車輛信息,進(jìn)行數(shù)據(jù)的處理以及提醒報(bào)警蜂鳴器模塊發(fā)出警報(bào)。3.1電源模塊車輛蓄電池的額定電壓為12V~24 V左右,但是MC9S12XS128單片機(jī)和蜂鳴器報(bào)警器的工作電壓為5V,JTA1050的工作電壓為5V,所以為了滿足各個(gè)模塊的不同供電要求,就要對(duì)獲取來的電壓進(jìn)行降壓處理。該電源模塊要將獲取來的電壓進(jìn)行降壓處理,因此設(shè)計(jì)時(shí)就要開關(guān)后設(shè)計(jì)一個(gè)750mA的保險(xiǎn)絲。C11、C12、C13分別是100μF/25V、0.1μF和220μF/16V的電容,對(duì)電路起到穩(wěn)定電壓和過濾雜波的作用,具體電路如圖8所示。圖8電源降壓模塊3.2MC9S12XS128主控模塊MC9S12XS128單片機(jī)是一款比較特別的單片機(jī)系列,它的內(nèi)核是以速度更快的CUP12為核心,它是MC9S12X系列的單片機(jī),16位微控制器112pin,16MHZ晶振,內(nèi)部總線頻率可超頻至64MHZ-96MHZ,有4位LED指示燈,CPU12是16位高速處理單元,內(nèi)部有5個(gè)16位寄存器和一個(gè)8位的狀態(tài)寄存器,內(nèi)部再用全16為數(shù)據(jù)總線,外部數(shù)據(jù)總線8位/16位可選,包括CPU寄存器、CPU控制電路和ALU算數(shù)/邏輯運(yùn)算等操作,用途十分廣泛其主要功能如下:存儲(chǔ)器:128KBFLASH;2KBEEPROM;8KBRAM增強(qiáng)型捕捉定時(shí)器;CAN總線:3個(gè)1Mbps的CAN總線,兼容CAN2.0A/B;背景調(diào)試模式(BDM);MC9S12XS128主控模塊的PK4引腳向外連接一個(gè)電阻為1K的電阻器,來控制LED燈。低電平時(shí)LED燈點(diǎn)亮。JA1為BDM調(diào)試接口,KA1為復(fù)位按鍵,具體電路如圖9所示,個(gè)別引腳功能如表10所示。圖9MC9S12XS128主控模塊表10是MC9S12XS128個(gè)別引腳功能說明引腳號(hào)功能功能說明功能1功能2功能3功能4功能51PP3KWP3PWM3端口P:通用1/O,中斷,PWM通道2PP2KWP2PWM2IOC1TXD1端口P:通用1/O,中斷,PWM/TIM通道,SCI1的TXD3PP1KWP1PWM1IOC1端口P:通用1/O,中斷,PWM/TIM通道4PP0KWP0PWM0IOC0RXD1端口P:通用1/O,中斷,PWM/TIM通道,SCI1的RXD9PT0IOC0端口T:通用I/O,TIM通道10PT1IOC111PT2I0C212PT3IOC315PT4IOC4PWM4端口T:通用I/O,PWM/TIM通道17PT6IOC6PWM618PT7IOC7PWM716PT5IOC5PWM5VREGAPI端口T:通用I/O,PWM/TIM通道,API輸出24PB0端口B:通用I/O29PB530PB631PB757PA0端口A:通用I/O58PA159PA260PA33.3CAN總線模塊該診斷盒CAN總線模塊選用TJA1050的芯片,該芯片與芯片內(nèi)的CAN模塊相連來實(shí)現(xiàn)CAN通信的功能,芯片使用的是5V的電源供電,因此需要電源模塊對(duì)收到的電壓進(jìn)行降壓處理,TJA1050收發(fā)器的引腳1號(hào)與4號(hào)分別與MC9S12XS128主控模塊的PM1與PM0相連;引腳2號(hào)和引腳8號(hào)接地;引腳3號(hào)與電源線連接;引腳7號(hào)與引腳6號(hào)分別于CANH和CANL相連接。具體電路如圖11所示。圖11CAN總線模塊3.4報(bào)警蜂鳴器模塊報(bào)警蜂鳴器模塊的功能主要是在得知有故障發(fā)生是進(jìn)行警報(bào)提醒,硬件主要運(yùn)用到了型號(hào)為8050的三極管,當(dāng)有故障發(fā)生時(shí),它的輸入端BUZZ為1,這是電路接通,電壓經(jīng)過三極管通向蜂鳴器,BUZZER開始報(bào)警;當(dāng)故障數(shù)目為1時(shí),即輸入端BUZZ為0,此時(shí)電壓無法經(jīng)過三極管,只能通向地面。蜂鳴器不發(fā)生聲響,具體電路如圖12所示。圖12報(bào)警蜂鳴器模塊3.512864液晶接口模塊該設(shè)計(jì)的診斷盒要實(shí)時(shí)的顯示故障個(gè)數(shù)與故障碼,因此硬件部分要選用12864液晶接口,外接一個(gè)顯示屏。該模塊有20個(gè)引腳,其中引腳3外接兩個(gè)分別為1K和10K的電阻,一端接地另一端接電源,這兩個(gè)電阻主要起到分壓的作用;引腳17外接一個(gè)10K的電阻并與電源相連,這里電阻的作用是保護(hù)電路。具體電路如圖13所示。圖1312864液晶接口模塊3.6按鍵模塊設(shè)計(jì)一個(gè)按鍵模塊,并連接一個(gè)10K的電阻,并聯(lián)一個(gè)0.1μF的電容,同時(shí)與最小模塊中的第27個(gè)引腳PH3連接,該按鍵的主要功能是控制信號(hào)的發(fā)送,即當(dāng)按鍵按下時(shí),CAN模塊開始接收汽車ECU中的信號(hào)并解析故障個(gè)數(shù)與故障碼。具體電路如圖14所示。圖14按鍵模塊第4章軟件設(shè)計(jì)4.1型號(hào)為TJA1050的CAN的軟件驅(qū)動(dòng)CAN總線主要功能是接收信號(hào)和發(fā)送信號(hào),同時(shí)能夠有效的采集信號(hào),應(yīng)用的領(lǐng)域很廣,而本次設(shè)計(jì)的診斷盒是以型號(hào)為TJA1050的CAN總線,主要包括CAN程序初始化和CAN的接收與發(fā)送。4.1.1CAN程序初始化CAN的初始化主要包括五個(gè)部分,分別為:CAN的初始化、CAN波特率的設(shè)置、關(guān)閉波特率、使CAN模塊進(jìn)入一般模式、設(shè)置能夠使接收中斷,具體步驟如下:第一步:查詢是否進(jìn)入初始化狀態(tài),如果不是,及設(shè)置CAN0CTL0_INITRQ為1,CAN0CTL1_INITAK為0,使CAN進(jìn)入初始化。第二步:設(shè)置CAN的波特率。首先設(shè)置同步,即CAN0BTR0_SJW為0,然后設(shè)置波特率,即CAN0BTR0_BRP為7,設(shè)置時(shí)段1和時(shí)段2的Tq個(gè)數(shù),總線頻率為250KB/s,即CAN0BTR1為0x1c。第三步:關(guān)閉濾波器。將一系列的CAN0IDMR0、CAN0IDMR1、CAN0IDMR2、CAN0IDMR3、CAN0IDMR4、CAN0IDMR5、CAN0IDMR6、CAN0IDMR7都設(shè)置為0xFF。第四步:使MSCAN模塊進(jìn)入一般模式,選擇時(shí)鐘,即將CAN0CTL1設(shè)置為0xC0,其次返回一般模式運(yùn)行,即CAN0CTL0為0x00,最后等待回到一般運(yùn)行模式并等待總線時(shí)鐘同步。第五步:設(shè)置能夠使接收中斷,即CAN0RIER_RXFIE為1。具體流程如圖15所示。圖15CAN初始化4.1.2CAN的接收與發(fā)送MSCCAN在接受信號(hào)時(shí),首先要檢測(cè)接受標(biāo)志,這里就要設(shè)置CAN0RFLG_PXF寄存器,接著要檢測(cè)CAN協(xié)議報(bào)文模式,設(shè)置CAN0RXIDR1_IDE寄存器來加測(cè)標(biāo)識(shí)符,隨后要讀標(biāo)識(shí)符,這里要用到CAN0RXIDR0和CAN0PXIDR1兩個(gè)寄存器,其次要判斷幀的格式,然后讀取數(shù)據(jù)長(zhǎng)度,通過讀取CAN0RXIDLR寄存器獲取數(shù)據(jù)長(zhǎng)度,接著就是要讀取數(shù)據(jù),通過查詢CAN0RXDSR0寄存器來讀取數(shù)據(jù)。最后清除RXF標(biāo)志位,緩沖器準(zhǔn)備接收,即設(shè)置CAN0RFLG為0x01。具體接收流程圖如圖16所示。圖16CAN接收信號(hào)流程圖MSCCAN在發(fā)送信號(hào)時(shí),首先要檢查數(shù)據(jù)長(zhǎng)度如果數(shù)據(jù)長(zhǎng)度超過8個(gè),CAN就不發(fā)送該數(shù)據(jù),接著要檢查總線時(shí)鐘,使用外部晶振時(shí)鐘,設(shè)置CAN0CTL0_SYNCH寄存器為0,隨后要尋找空閑緩沖器,其次要寫入標(biāo)識(shí)符,此處要用到CANIDR寄存器,然后判斷幀類型,即判斷是遠(yuǎn)程幀還是數(shù)據(jù)幀,接著就是要寫入數(shù)據(jù)以、數(shù)據(jù)長(zhǎng)度和優(yōu)先級(jí),分別用到了CANDSR、CANDLR和CANTBPR三種寄存器。最后,清除發(fā)送標(biāo)志,即設(shè)置CAN0TFLG為send_buf。具體發(fā)送流程圖如圖17所示。圖17CAN發(fā)送信號(hào)流程4.2讀取信息通過與車輛ECU建立聯(lián)系,讀取一系列的車輛信息以及故障碼信息,并對(duì)這些信息進(jìn)行解析,通過查表,最終得知故障原因。4.2.1讀取車輛信息每次發(fā)動(dòng)機(jī)啟動(dòng)時(shí),ECU都必須開始一系列的診斷檢測(cè),OBD系統(tǒng)通過09服務(wù)器下的三項(xiàng)數(shù)據(jù)來獲取信息,并分析發(fā)送數(shù)據(jù)置報(bào)警器和顯示屏中,這三項(xiàng)數(shù)據(jù)主要是車輛識(shí)別、校標(biāo)準(zhǔn)識(shí)別、校準(zhǔn)檢定碼,讀取車輛信息具體流程圖如圖18所示。圖18讀取車輛信息4.2.2診斷故障碼的獲取OBD系統(tǒng)通過連接線獲取車輛ECU中的故障信息,判斷個(gè)帳嗎數(shù)量,并解析每個(gè)故障,最終發(fā)送給蜂鳴器和顯示屏。首先,診斷盒要發(fā)送指令給服務(wù)器01中的 PID$01,獲取DTC指示情況并解析,判斷故障碼數(shù)量,若為0時(shí),即系統(tǒng)正常,若不為0時(shí),及說明系統(tǒng)有故障發(fā)生,這時(shí)就要發(fā)送03模式指令獲取故障碼詳細(xì)信息,并解析故障碼總數(shù)以及每個(gè)故障號(hào)碼,最后將故障發(fā)送至報(bào)警器和顯示屏中,報(bào)警器收到故障時(shí)發(fā)生報(bào)警,顯示屏顯示故障碼,便于查詢故障原因。具體流程圖如圖19所示。圖19診斷故障碼獲取流程圖4.3故障信息數(shù)據(jù)解析OBD-Ⅱ的ISO15765-2網(wǎng)絡(luò)層協(xié)議,一次性只能發(fā)送長(zhǎng)度為8的報(bào)文,而車載信息報(bào)文不止8個(gè),所以要分為單幀和多幀傳輸方式,硬件設(shè)備與車輛ECU建立聯(lián)系后,首先車輛要發(fā)送連接成功的信號(hào)給硬件系統(tǒng),然后硬件系統(tǒng)要發(fā)送0101給車輛來判斷是否存在故障,當(dāng)收到的數(shù)據(jù)幀中第4個(gè)字節(jié)為00是,即無故障發(fā)生,當(dāng)數(shù)據(jù)幀中第4個(gè)字節(jié)不為00時(shí),則說明有故障發(fā)生,并能夠判斷出故障的個(gè)數(shù),此時(shí)硬件系統(tǒng)要將收到的信息反饋給車輛,這是車輛將具體的數(shù)據(jù)幀發(fā)送給硬件系統(tǒng)。假設(shè)收到的數(shù)據(jù)幀為0641018268264600,這組數(shù)據(jù)幀中的0x06表示它有效的數(shù)據(jù)長(zhǎng)度為6,0x41與表示對(duì)0x01的成功響應(yīng),0x01表示有1個(gè)故障發(fā)生,如假設(shè)收到的數(shù)據(jù)幀為0643020703164100,則0x06表示它的有效長(zhǎng)度為6個(gè),0x43表示對(duì)0x03的成功響應(yīng),0x02表示有2個(gè)故障發(fā)生,0x07與0x03則表示第一個(gè)故障碼信息,0x16與0x41則表示第二個(gè)故障碼信息。0x07與0x03轉(zhuǎn)化為二進(jìn)制分別為00000111與00000011,通過查表18~20可知具體的故障碼為P0703,將0x16和0x14轉(zhuǎn)化為二進(jìn)制分別為00010000和00001110,通過查表20~22可知具體故障碼為P1641。表20五位標(biāo)準(zhǔn)故障碼故障內(nèi)碼DTCHighByte(Hex)DTCMiddleByte(Hex)Bit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8Bit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0五位標(biāo)準(zhǔn)故障碼第一位第二位第三位第四、五位表21第一位字母所表示故障所示系統(tǒng)故障內(nèi)碼(Bit15Bit14)標(biāo)準(zhǔn)故障碼的表示字符1所屬系統(tǒng)00P動(dòng)力系統(tǒng)故障01C底盤故障10B車身故障11U網(wǎng)絡(luò)故障表22第二位數(shù)字表示故障類型故障內(nèi)碼(Bit13Bit12)標(biāo)準(zhǔn)故障碼的表示字符2故障類型000ISO/SAE標(biāo)準(zhǔn)定義的故障碼011制造商自定義的故障碼102ISO/SAE預(yù)留113ISO/SAE預(yù)留4.4蜂鳴器與顯示屏經(jīng)過一系列的信號(hào)接收、發(fā)送以及解析等步驟,為了具體了解故障原因以及及時(shí)提醒該車輛已經(jīng)發(fā)生故障,因此要對(duì)蜂鳴器以及顯示屏硬件模塊進(jìn)行程序編寫,當(dāng)檢測(cè)到故障時(shí),蜂鳴器能夠報(bào)警以及顯示屏能夠顯示出故障個(gè)數(shù)和具體的故障碼。4.4.1蜂鳴器報(bào)警首先將蜂鳴器初始化,將BUZZ_dir設(shè)置為1,LEDCPU_dir設(shè)置為1,然后設(shè)置計(jì)時(shí)中斷函數(shù),即當(dāng)檢測(cè)到故障時(shí),蜂鳴器每相隔5s響一次。主要流程圖如圖23所示。圖23蜂鳴器報(bào)警流程圖4.4.2顯示屏顯示故障碼首先將液晶接口初始化,即PSB_dir=1,SCL_dir=1,SDA_dir=1,CS_dir=1,PSB=0,SCL=0,SDA=0,CS=0;然后向液晶發(fā)送數(shù)據(jù),即CS=1,SCL=0,write_byte(0xFA),write_byte(C&0xF0),write_byte(0xF0&(C<<4)),CS=0;其次是向液晶發(fā)送命令,即CS=1,SCL=0,write_byte(0xF8),write_byte(B&0xF0),write_byte(0xF0&(B<<4)),CS=0,接著在液晶上顯示接收到的數(shù)據(jù),即unsignedcharl,write_command(0x8A),for(l=0,l<msg_get,len,i++),write_Data(msg_get,data[1]),最后清屏。具體流程圖如圖24所示。圖24顯示屏顯示流程圖4.5按鍵此處按鍵的作用主要是按下按鍵時(shí),CAN模塊開始接收發(fā)送處理ECU的信息。首先要初始化按鍵,即KEY1_dir=0,PPSH=0x00,PIFH=0x0f,PIEH=0x0f,然后要設(shè)置按鍵中斷函數(shù),即要判斷中斷標(biāo)志,然后要清除中斷標(biāo)志,最終在主函數(shù)中調(diào)用。具體流程圖如圖25所示。圖25按鍵流程圖實(shí)驗(yàn)測(cè)試5.1開發(fā)板硬件實(shí)體硬件板塊如圖27所示,其中主要運(yùn)用到最小單元芯片,CAN模塊,顯示屏,蜂鳴器,按鍵等模塊。圖26硬件圖5.2信息獲取測(cè)試將所編寫的代碼導(dǎo)入設(shè)計(jì)的硬件板塊中,能夠準(zhǔn)確獲取故障碼,同時(shí)當(dāng)檢測(cè)到故障時(shí),蜂鳴器能夠?qū)崿F(xiàn)報(bào)警。實(shí)驗(yàn)成果如圖27所示。圖27實(shí)驗(yàn)成果第6章結(jié)論6.1本文結(jié)論隨著經(jīng)濟(jì)的快速發(fā)展,汽車已經(jīng)成為通用的交通工具,但如今由于汽車本身故障原因而引起大量的交通事故,為了減少該現(xiàn)象的發(fā)生,人們開始研究一種能夠檢測(cè)出故障的儀器,而本文研究的是基于Freescale單片機(jī)的診斷盒。(1)理論階段:從網(wǎng)上查閱了診斷盒的相關(guān)資料,初步了解到了診斷盒主要是設(shè)計(jì)到的相關(guān)知識(shí)以及能夠測(cè)量的相關(guān)參數(shù),接著了解了大量的國(guó)內(nèi)外發(fā)展?fàn)顩r和OBD-Ⅱ相關(guān)協(xié)議,并通過前期的工廠實(shí)習(xí)以及對(duì)相關(guān)事物的拆除,進(jìn)一步完成了前期材料。(2)設(shè)計(jì)階段:該階段主要分為兩個(gè)部分,一為硬件設(shè)計(jì)部分,二為軟件設(shè)計(jì)部分。硬件設(shè)計(jì)部分,考慮到車輛電源與設(shè)計(jì)時(shí)用到的電路元件電壓不符合,因此設(shè)計(jì)了一個(gè)能夠?qū)⒏唠妷航档偷哪K,要從汽車ECU中獲取故障信息,即選用了CAN模塊,對(duì)信息的獲取、解析和發(fā)送,同時(shí)設(shè)計(jì)了一個(gè)顯示屏和蜂鳴器模塊,顯示屏顯示車輛故障代碼,蜂鳴器在診斷出故障時(shí)及時(shí)向使用者發(fā)出警示報(bào)警;軟件部分,主要是對(duì)運(yùn)用CodeWarrior軟件,對(duì)每個(gè)模塊進(jìn)行代碼的編寫,從而實(shí)現(xiàn)一系列的診斷過程。(3)實(shí)驗(yàn)階段:將編寫好的代碼導(dǎo)入設(shè)計(jì)好的電路板塊中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論