【正文】
學(xué)生簽名: 日 期:基于CAN技術(shù)的發(fā)動機(jī)數(shù)據(jù)采集系統(tǒng)研究與實(shí)現(xiàn)摘 要隨著汽車電子技術(shù)的迅速發(fā)展,先進(jìn)的通信網(wǎng)絡(luò)技術(shù)CAN總線被應(yīng)用到汽車儀表系統(tǒng)中,并將逐漸替代原有的機(jī)械式、電氣式傳統(tǒng)的儀表設(shè)計(jì)。對兩個(gè)節(jié)點(diǎn)進(jìn)行軟件設(shè)計(jì)后,通過 CAN通訊接口卡來實(shí)現(xiàn)相互之間的通訊和數(shù)據(jù)收發(fā),同時(shí)在汽車的CAN應(yīng)用層協(xié)議基礎(chǔ)上,上位機(jī)節(jié)點(diǎn)對接收的CAN報(bào)文進(jìn)行處理,得到虛擬儀表系統(tǒng)各控件所對應(yīng)的數(shù)據(jù),并對這些數(shù)據(jù)按要求進(jìn)行存儲。 the node two is upper node which is designed on personal puter. When we have the software designed with them, they CAN find each other and transmit or receive date in two ways in controlling the CAN munication interface card. When the upper node received a CAN signal, it will deal with the signal, and we CAN get the key information from it based on application layer protocol of CAN. The instruments in the vitual instrument system are drived by the real data we got, also we will save these signals. It is the most important and difficult that we design the virtual instrument system with LabVIEW. In the system, not only the advantages of traditional instrument arereserved in emulational way, but also it has the digital display, many kinds of informations in Chinese letters caution, and sound alarm informing. It is easy that we need upgrading or extending the system. The research of this system has been proved to be of great signification by practice. However, we need more improvements before application.Key words:CAN bus, node, automotive vitual instrument, LabVIEW, Engine data acquisitionIV目錄摘 要 IAbstract II第一章 緒論 1 課題背景及意義 1 虛擬儀器概述 1 虛擬儀器技術(shù)的概念 1 虛擬儀器的組成 1 虛擬儀器的特點(diǎn) 2 LabVIEW軟件介紹 3 LabVIEW軟件的組成 3 本課題主要研究任務(wù) 4第二章 CAN技術(shù) 5 CAN技術(shù) 5 CAN總線系統(tǒng)智能節(jié)點(diǎn)設(shè)計(jì) 5 CAN總線最小系統(tǒng)和節(jié)點(diǎn)通信的建立 7第三章 氧傳感器 18 18 18 18第四章 方案設(shè)計(jì) 20 系統(tǒng)方案設(shè)計(jì) 20 數(shù)據(jù)采集方案 21 軟件結(jié)構(gòu)方案設(shè)計(jì) 22第五章 軟件設(shè)計(jì) 23 界面與程序結(jié)構(gòu)設(shè)計(jì) 23 程序的結(jié)構(gòu)設(shè)計(jì): 25 Init狀態(tài) 25 Wait狀態(tài) 26 Run狀態(tài) 27 Exit狀態(tài) 28第六章 主要數(shù)據(jù)處理模塊解析 29 波形文件的儲存和回放 29 波形數(shù)據(jù)的測量與標(biāo)定 30 信號的數(shù)據(jù)流分析 31 基于LabVIEW的CAN接口信號采集 32 LabVIEW程序打包成安裝文件 33第七章 結(jié)束語 34致 謝 35參考文獻(xiàn) 36東南大學(xué)成賢學(xué)院畢業(yè)論文第一章 緒論 課題背景及意義CAN總線是當(dāng)前最有影響的現(xiàn)場總線之一,它具有較高的性價(jià)比,在自動控制領(lǐng)域得到廣泛的應(yīng)用,同時(shí)也用到了嵌入式系統(tǒng)中。應(yīng)用現(xiàn)場總線與虛擬儀表技術(shù)相融合的測控系統(tǒng)將會充分發(fā)揮這兩種技術(shù)的優(yōu)勢,形成互補(bǔ)。本課題提出了在LabVIEW開發(fā)平臺上實(shí)現(xiàn)基于CAN的發(fā)動機(jī)數(shù)據(jù)采集系統(tǒng)研究的方案。與傳統(tǒng)儀器技術(shù)不同,虛擬儀器技術(shù)指在包含數(shù)據(jù)采集設(shè)備的通用計(jì)算機(jī)平臺上,根據(jù)需求可以高效率地構(gòu)件起形形色色的測量系統(tǒng)。 虛擬儀器的組成成熟的虛擬儀器技術(shù)由三大部分組成:高效的軟件、模塊化I/O硬件和標(biāo)準(zhǔn)的軟硬件平臺。此外,不斷發(fā)展的因特網(wǎng)和越來越快的計(jì)算機(jī)網(wǎng)絡(luò)使得虛擬儀器技術(shù)展現(xiàn)其更強(qiáng)大的優(yōu)勢。在驅(qū)動和應(yīng)用兩個(gè)層面上,NI高效的軟件構(gòu)架能與計(jì)算機(jī)、儀器儀表和通訊方面的最新技術(shù)結(jié)合在一起。NI的虛擬儀器軟件平臺為所有的I/O設(shè)備提供了標(biāo)準(zhǔn)的接口,幫助用戶輕松地將多個(gè)測量設(shè)備集成到單個(gè)系統(tǒng),減少了任務(wù)的復(fù)雜性。以LabVIEW為代表的圖形化程序語言,又稱為“G”語言。所有的VI都包含前面板(Front panel)、框圖(Block diagram)以及圖標(biāo)和連接器窗口(Icon and connector pane)??驁D是定義VI功能的圖形化源代碼。一個(gè)VI可以作為另一個(gè)VI的子程序被調(diào)用。工具模版提供了各種用于創(chuàng)建、修改和調(diào)試VI程序的工具。;難點(diǎn)之一。CAN總線最先由德國 Bosch公司提出,當(dāng)時(shí),由于消費(fèi)者對于汽車功能的要求越來越多,而這些功能的實(shí)現(xiàn)大多是基于電子操作的,這就使得電子裝置之間的通訊越來越復(fù)雜,同時(shí)意味著需要更多的連接信號線。CAN是一種多主方式的串行通訊總線,基本設(shè)計(jì)規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測出產(chǎn)生的任何錯(cuò)誤。其特點(diǎn)可以概括如下:(1)通信方式靈活。(3)CAN采用4種非壞性總線仲裁技術(shù),當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)向總線發(fā)送信息時(shí),優(yōu)先級較低的節(jié)點(diǎn)會主動的退出發(fā)送,而最高優(yōu)先級的節(jié)點(diǎn)可不受影響的繼續(xù)傳輸數(shù)據(jù),從而大大節(jié)省了總線沖突仲裁時(shí)間,尤其是在網(wǎng)絡(luò)負(fù)載很重的情況下也不會出現(xiàn)網(wǎng)絡(luò)癱瘓情況。從圖中可以看出電路主要由四部分所構(gòu)成:微控制器89C5獨(dú)立CAN通信控制器SJA1000、CAN總線收發(fā)器82C250和高速光電耦合器6N137 。 89C51 也可通過中斷方式訪問SJA1000。這些部分雖然增加了節(jié)點(diǎn)的復(fù)雜,但是卻提高了節(jié)點(diǎn)的穩(wěn)定性和安全性。另外在兩根CAN總線接入端與地之間分別反接了一個(gè)保護(hù)二極管,當(dāng)CAN總線有較高的負(fù)電壓時(shí),通過二極管的短路可起到一定的過壓保護(hù)作用。CAN總線的連接電纜一般使用雙絞線,對抗干擾要求較高可以使用屏蔽雙絞線或者光纖。在自動化電子領(lǐng)域的汽車發(fā)動機(jī)控制部件、傳感器、抗滑系統(tǒng)、工業(yè)自動化、建筑物環(huán)境控制、機(jī)床或電梯控制、醫(yī)療設(shè)備等領(lǐng)域得到了較為廣泛的應(yīng)用。CAN支持多主方式工作,網(wǎng)絡(luò)上任何節(jié)點(diǎn)均可在任意時(shí)刻主動向其它節(jié)點(diǎn)發(fā)送信息,支持點(diǎn)對點(diǎn)、一點(diǎn)對多點(diǎn)和全局廣播方式接收/發(fā)送數(shù)據(jù)。主程序的流程圖如圖所示。后文對這一點(diǎn)不再作特別說明。 發(fā)送子程序流程圖TDATA MOV DPTR,SR ;狀態(tài)寄存器 MOVX A,DPTR ;從SJA1000讀入狀態(tài)寄存器值 JB ,TDATA ;判斷是否正在接收 正在接收則等待TS0 MOVX A,DPTR JNB ,TS0 ;判斷上次發(fā)送是否完成,未則等待發(fā)送完成TS1 MOVX A,DPTR JNB ,TS1 ;判斷發(fā)送緩沖區(qū)是否鎖定 鎖定則等待TS2 MOV DPTR,CANTXB ;SJA1000發(fā)送緩存區(qū)首址 MOV A,88H ; 發(fā)送數(shù)據(jù)長度為 8 個(gè)字節(jié)的擴(kuò)展幀格式報(bào)文 MOVX DPTR,A INC DPTR MOV A ,ID0 ;4個(gè)字節(jié)的標(biāo)識符ID0ID3,依據(jù)實(shí)際情況賦值 MOVX DPTR;A INC DPTR MOV A,ID1 MOVX DPTR,A INC DPTR MOV A,ID2 MOVX DPTR,A INC DPTR MOV A,ID3 MOVX DPTR,A MOV R0,TRDATA ;CPU發(fā)送數(shù)據(jù)區(qū)首址,MTBF: MOV A,R0 INC DPTR MOVX DPT,A INC R0 CJNE R0,TRDATA+8,MTBF ;向發(fā)送緩沖區(qū)寫 8 個(gè)字節(jié) MOV DPTR,CMR ;命令寄存器地址 MOV A,01H MOVX DPTR,A ;啟動SJA1000發(fā)送 RET 接收子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收以及其它情況處理。 接受子程序流程圖SEARCH: MOV DPTR,SR ;狀態(tài)寄存器地址 MOVX A,DPTR ANL A,0C3H ;讀取總線脫離,錯(cuò)誤狀態(tài),接收溢出,有數(shù)據(jù)等位 JNZ PROC RET ;上述狀態(tài) 結(jié)束PROC: JNB ,PROCIBUSERR: MOV DPTR,IR ;IR 中斷寄存器 出現(xiàn)總線脫離 MOVX A,DPTR ;讀中斷寄存器 清除中斷位. MOV DPTR,MODE ;方式寄存器地址 MOV A,08H MOVX DPTR,A ;將方式寄存器復(fù)位請求位清 0