基于C8051F020單片機的汽車故障診斷儀的研究
隨著我國經(jīng)濟建設(shè)的不斷發(fā)展,裝有計算機控制系統(tǒng)的新型汽車已越來越多的應(yīng)用于人們的日常生活中,這使得汽車的動力性,經(jīng)濟性,安全性,可靠性等有了極大的提高。但同時也使得汽車的結(jié)構(gòu)復(fù)雜多了,也使一般汽車維修診斷與排除汽車故障困難多了,而利用汽車電腦存儲的信息,診斷與排除汽車故障的方法也應(yīng)運而生。儀器診斷是在經(jīng)驗的基礎(chǔ)上發(fā)展起來的現(xiàn)代檢驗方法。它是與車載故障自診斷系統(tǒng)配套使用的,從本質(zhì)上看,它相當(dāng)于自診斷系統(tǒng)的終端設(shè)備,起到人機交互的作用。該方法可在汽車不解體的情況下,用儀器或設(shè)備測試汽車性能和故障參數(shù),曲線或波形,甚至能自動分析和判斷汽車的技術(shù)狀況。隨著電噴發(fā)動機汽車的普及,汽車故障診斷儀已作為一種必備的維修工具被大多數(shù)行業(yè)人士所接受。
本文引用地址:http://m.butianyuan.cn/article/173907.htm本文設(shè)計的汽車故障診斷儀采用的是CYGNAL公司的低功耗單片機C8051F020作為核心,具有數(shù)據(jù)存儲,通訊以及LCD顯示等各種功能。該儀器具有低功耗,高精度,攜帶方便適用于多種場合等特點。
1、診斷儀原理與功能
1.1 硬件原理及作用
?。?)診斷電子控制系統(tǒng)的傳感器、執(zhí)行器狀態(tài)以及ECU的工作是否正常。通過判斷ECU的輸入、輸出電壓是否在規(guī)定的范圍內(nèi)變化時,可以判斷電子控制系統(tǒng)工作是否正常。
(2) 當(dāng)電子控制系統(tǒng)中的某一電路出現(xiàn)超出規(guī)定的信號時,該電路及相關(guān)的傳感器反映的故障信息以故障代碼的形式存儲到ECU內(nèi)部的存儲器中,維修人員可利用該診斷儀來讀取故障碼,使其顯示出來。
1.2 硬件支持的主要功能
?。?) 通過CAN、LIN通信模塊可以實現(xiàn)與車載內(nèi)各電子控制裝置ECU之間的對話,傳送故障代碼以及發(fā)動機的狀態(tài)信息。
?。?) 通過單片機的同步/異步收發(fā)器可以與PC機進行串行通信從而完成數(shù)據(jù)交換,下載程序,以及診斷儀升級等功能。
?。?) 通過液晶顯示器來顯示汽車運行的狀態(tài)數(shù)據(jù)及故障信息。
(4) 通過鍵盤電路來執(zhí)行不同的診斷功能。
(5) 通過一種具有串行接口的大容量FLASH存儲器來保存大量的故障代碼及其測量數(shù)據(jù)。
2、硬件電路及接口電路的設(shè)計
2.1 硬件電路的總體框架
該診斷儀硬件系統(tǒng)主要包括以下模塊:C8051F020處理器及其外圍擴展電路模塊,鍵盤、液晶顯示模塊,外擴存儲器模塊,CAN、LIN,通信模塊;與PC機的串行通信模塊;另外還有電源電路以及系統(tǒng)復(fù)位電路。總體框圖如圖1所示。
圖1 系統(tǒng)電路圖
設(shè)計中CPU選擇的是Cygnal公司的C8051F020單片機,它采用具有與MCS-51指令集完全兼容的Cygnal公司的專利CIP-51微處理器內(nèi)核,峰值速度可達25MIPS。并且在一個芯片內(nèi)集成了單片機數(shù)據(jù)采集或控制系統(tǒng)所需要的幾乎所有模擬和數(shù)字外設(shè)及其他功能部件(包括PGA、ADC、DAC、電壓比較器、電壓基準(zhǔn)、溫度傳感器、SMBus/I2C、UART、SPI、定時器、可編程計數(shù)器/定時器陣列、內(nèi)部振蕩器、看門狗定時器及電源監(jiān)視器等)。CIP-51對指令運行實行流水作業(yè),從而大大提高了指令運行速度。另外C8051F020單片機最獨特的改進是引入了數(shù)字交叉開關(guān)。允許將內(nèi)部數(shù)字系統(tǒng)資源映射到P0、P1、P2和P3的端口I/O引腳,同時C8051F020還在內(nèi)部增加了復(fù)位源,從而大大提高了系統(tǒng)的可靠性,完全可以滿足診斷儀的功能要求。
2.3 CAN、LIN總線接口電路的設(shè)計
2.3.1 CAN總線接口電路
CAN總線接口電路包括CAN 通信控制器與微處理器之間和CAN總線收發(fā)器與物理總線之間的接口電路的設(shè)計。C8051F020與CAN驅(qū)動芯片SJA1000T的接口電路如圖(2)所示本設(shè)計選取PHILIPS公司的SJA1000 CAN控制器以及82C250總線收發(fā)器。SJA1000 在電路中是一個總線接口芯片,通過它實現(xiàn)ECU與微處理器之間的數(shù)據(jù)通信。該電路的主要功能是完成CAN總線與單片機之間的通信。PCA82C250為CAN控制器和物理總線之間的接口,它可以提供向總線的差動發(fā)送能力和CAN控制器的差動接收能力,TXD和RXD引腳分別發(fā)送經(jīng)過驅(qū)動后的發(fā)送和接收信號。具體連接如圖2所示。
圖 2 CAN總線與單片機接口電路
2.3.2 LIN通信模塊的設(shè)計
LIN總線收發(fā)器選用PHILIPS公司的TJA1020,它直接與單片機的串口相連,電路連接圖如圖3, TJA1020 收發(fā)器是一個物理媒體連接,適合用于最高 20kBaud的LIN 傳輸速率,它的引腳TXD和NSLP 減小了輸入閥值, 輸出引腳 RXD和TXD 為漏極開路. 因此它可以和使用3.3V 或5V 電源的微控制器兼容, 而且收發(fā)器本身不需要額外的VCC電源. 為使引腳RXD和TXD達到高電平,當(dāng)微控制器的端口引腳沒有集成上拉電阻時,要加外部上拉電阻. 微控制器由 TX0向 TJA1020 的 TXD 引腳發(fā)送數(shù)據(jù),TJA1020的 RXD引腳向微控制器的 RX0 發(fā)送數(shù)據(jù)。LIN 收發(fā)器的睡眠控制輸入NSLP 可以通過微控制器的端口引腳來控制。
2.4 串行總線接口電路的設(shè)計
RS232串行通訊采用全雙工的模式,系統(tǒng)中配置一條數(shù)據(jù)發(fā)送線。在同一時刻系統(tǒng)既可以發(fā)送數(shù)據(jù)也可以接收數(shù)據(jù)。圖(4)給出了串行通信電路連接圖。通過交叉開關(guān)把C8051F020單片機的P0.0,P0.1設(shè)置為TX0,RX0.RS232邏輯電平對地是對稱的,與TTL,CMOS邏輯電平完全不同。邏輯“1”電平為-5~-15,邏輯“0”電平為+5~+15之間,其與單片機的邏輯電平不一致,必須進行電平轉(zhuǎn)換,圖4采用SP3223轉(zhuǎn)換器實現(xiàn)TTL電平與RS-232電平互相轉(zhuǎn)換。
評論