技術(shù)頻道

娓娓工業(yè)
您現(xiàn)在的位置: 中國傳動網(wǎng) > 技術(shù)頻道 > 技術(shù)百科 > 基于CAN總線技術(shù)的車輛虛擬儀表數(shù)據(jù)采集系統(tǒng)的設(shè)計

基于CAN總線技術(shù)的車輛虛擬儀表數(shù)據(jù)采集系統(tǒng)的設(shè)計

時間:2009-01-19 11:54:44來源:ronggang

導(dǎo)語:?介紹了基于CAN總線的車輛虛擬儀表多路數(shù)據(jù)采集系統(tǒng)的設(shè)計方法,給出了系統(tǒng)詳細(xì)框圖和關(guān)鍵電路圖.詳細(xì)分析了CAN通信子程序,并給出了CAN通信初始化子程序、數(shù)據(jù)發(fā)送和中斷服務(wù)程序流程圖
摘 要:介紹了基于CAN總線的車輛虛擬儀表多路數(shù)據(jù)采集系統(tǒng)的設(shè)計方法,給出了系統(tǒng)詳細(xì)框圖和關(guān)鍵電路圖.詳細(xì)分析了CAN通信子程序,并給出了CAN通信初始化子程序、數(shù)據(jù)發(fā)送和中斷服務(wù)程序流程圖。 關(guān)鍵詞:虛擬儀表 CAN總線 數(shù)據(jù)采集系統(tǒng) F/V轉(zhuǎn)換 Abstract: This paper introduces the design of multi-channel data acquisition system for vehicle Virtual Instrument based on CAN Bus , and offers system structure diagram and key schematic. It analyzes the subprogram of CAN communication in detail, and presents program flow chart for CAN initialization, data transmit and interrupt servicing. Key words: Virtual Instrument CAN BUS Data Acquisition System F/V conversion 1 前言   車輛是一個特殊的應(yīng)用環(huán)境,車輛自動化程度的不斷提高給車輛儀表提出了更高的要求,傳統(tǒng)的動磁式儀表已經(jīng)越來越不適應(yīng)現(xiàn)代智能交通工具發(fā)展的需要,而虛擬儀表因其具有交互、智能和便于擴(kuò)展等特點而受到廣泛重視。本課題要求為某車設(shè)計一套虛擬儀表,上位機(jī)采用基于RTOS開發(fā)環(huán)境的PC104嵌入式微機(jī)。車輛環(huán)境數(shù)據(jù)采集系統(tǒng)作為虛擬儀表的一個最重要的子系統(tǒng),要求完成數(shù)據(jù)的采集和通信功能,而且具有較高的適時性和可靠性。本文根據(jù)作者體會介紹了用Philips公司的高性能單片機(jī)P80C592設(shè)計車輛數(shù)據(jù)采集系統(tǒng)的方法,重點介紹了系統(tǒng)設(shè)計和CAN通信編程。 2 系統(tǒng)簡介   根據(jù)設(shè)計要求,本系統(tǒng)主要完成傳感信號的處理以及車輛的工況數(shù)據(jù)采集并將數(shù)據(jù)通過CAN總線送上位機(jī),要求處理16路模擬信號、4路頻率信號和32路擴(kuò)展IO信號,采集參數(shù)主要有:發(fā)動機(jī)機(jī)油壓力、水溫、油溫、轉(zhuǎn)速、車速、變速箱油壓、油箱油量以及電網(wǎng)電壓、車門狀態(tài)、轉(zhuǎn)向燈指示、車體超寬指示以及車內(nèi)環(huán)境示警等,信號的形式有電壓、頻率、以及開關(guān)量信號,信號頻率范圍為0~ 6KHZ。   2.1 系統(tǒng)硬件結(jié)構(gòu)設(shè)計   圖1給出了系統(tǒng)硬件結(jié)構(gòu)圖。系統(tǒng)采用的核心器件為Philips公司的8位高性能微控制器P80C592,它與標(biāo)準(zhǔn)80C51完全兼容,其主要特性有:內(nèi)建能與內(nèi)部RAM進(jìn)行DMA數(shù)據(jù)傳送的CAN控制器;4個捕獲端口和2個標(biāo)準(zhǔn)的16位定時/計數(shù)器;8路模擬量輸入的10位ADC變換器;2×256字節(jié)在片RAM和一個Watch Dog。P80C592的在片CAN控制器可以完全實現(xiàn)CAN協(xié)議,因此減少了系統(tǒng)連線,增強(qiáng)了診斷功能和監(jiān)控能力。數(shù)模轉(zhuǎn)換器件選用12位的AD1674A,分辨率為0.02%,轉(zhuǎn)換時間為25uS。為了提高系統(tǒng)抗干擾能力,在模-數(shù)電路之間和系統(tǒng)到CAN總線之間采用了光電隔離,并且將模擬電路和數(shù)字電路分別設(shè)計成兩塊獨立的PCB板,兩板通過棧接組成一個完整的系統(tǒng)。   硬件工作過程:溫度、壓力以及電壓信號,經(jīng)相關(guān)處理電路送至16路模擬開關(guān)MAX306EP,經(jīng)電壓跟隨電路輸入AD1674A進(jìn)行A/D轉(zhuǎn)換,為了提高可靠性和穩(wěn)定性,系統(tǒng)沒有采用微控制器的在片ADC變換器。在程序控制下對16路信號順序選通,采集得到的數(shù)據(jù)在CAN控制器內(nèi)完成CAN協(xié)議包的封裝,由發(fā)送端口經(jīng)光電隔離和發(fā)送器傳送到CAN總線上。油量信號經(jīng)光電隔離、整形和分頻后送P80C592的捕獲端口進(jìn)行頻率測量,轉(zhuǎn)速車速信號經(jīng)整形后被分為兩路,一路經(jīng)分頻電路去單片機(jī)捕獲端口,另一路經(jīng)F/V轉(zhuǎn)換后送ADC采樣。對ADC和I/O擴(kuò)展端口的訪問通過GAL譯碼器的編程邏輯輸出來控制。 [align=center] 圖1[/align]   2.2 頻率信號測量   頻率信號測量是本系統(tǒng)的一個設(shè)計難點,在本課題中,對于不同的車型所選用的傳感器不同,因此對轉(zhuǎn)速和車速頻率信號的處理可以有兩種方法:一是當(dāng)選用輸出頻率范圍為0-100HZ的接觸式傳感器時,采用CS289頻壓轉(zhuǎn)換芯片,將頻率信號轉(zhuǎn)換成2.2~7.2V的電壓信號然后送ADC采集;二是當(dāng)選用輸出信號頻率范圍為0~3000HZ的非接觸式傳感器時,通過單片機(jī)捕獲端口用脈沖計數(shù)的方法進(jìn)行頻率測量。為提高系統(tǒng)的通用性,可以同時采用了這兩種方法,具體采用哪一種方法得到的數(shù)據(jù)通過上微機(jī)軟件設(shè)定。圖2為F/V轉(zhuǎn)換電路圖; [align=center] 圖2[/align]   CS289是美國Cherry公司生產(chǎn)的單片高精度專用轉(zhuǎn)速測量芯片,在-400至+850溫度范圍內(nèi)都能有很好的線性輸出。它不僅可以用于F/V、V/F轉(zhuǎn)換,還可以用作函數(shù)發(fā)生器以及動磁式儀表驅(qū)動。由其構(gòu)成的F/V轉(zhuǎn)換電路外圍元件少,調(diào)試容易,工作穩(wěn)定可靠。圖2所示,整形后的轉(zhuǎn)速脈沖信號經(jīng)濾波網(wǎng)絡(luò)和限幅輸入CS289第10腳,電壓信號由第8腳輸出,經(jīng)濾波消除可能的工頻干擾后送采樣電路。本電路中,輸出電壓和輸入頻率的關(guān)系由下式?jīng)Q定:上位機(jī)據(jù)此線性關(guān)系解算出頻率值。為保證F/V變換具有足夠高的線性度,應(yīng)合理選取的值。 3 系統(tǒng)軟件設(shè)計   系統(tǒng)軟件主要完成三項任務(wù):1、傳感器信號的采樣與解算;2、上位機(jī)請求數(shù)據(jù)時將采集的數(shù)據(jù)傳送給上位機(jī);3、接收到上位機(jī)自檢命令時,上傳數(shù)據(jù)完成傳感器信號到標(biāo)準(zhǔn)信號的切換。程序流程如圖3所示: [align=center] 圖3[/align]   . 主程序采用模塊化編程。具有故障自診斷功能是虛擬儀表的重要特征之一,為此數(shù)據(jù)采集系統(tǒng)中設(shè)計了3組標(biāo)準(zhǔn)信號,分別是頻率信號、電壓信號和電阻信號,自檢模塊的主要功能是:當(dāng)接收到上位機(jī)發(fā)出的自檢命令后,微控制器斷開傳感器輸入,標(biāo)準(zhǔn)信號被接入數(shù)據(jù)采集系統(tǒng),將得到的數(shù)據(jù)上傳到上位機(jī)與標(biāo)準(zhǔn)值進(jìn)行比較,以確定故障點是傳感器系統(tǒng)還是數(shù)據(jù)采集系統(tǒng),若自檢通過則表示數(shù)據(jù)采集系統(tǒng)工作正常。數(shù)據(jù)發(fā)送模塊主要實現(xiàn)對上位機(jī)的數(shù)據(jù)通信,本系統(tǒng)設(shè)計為每隔20毫秒將數(shù)據(jù)分組發(fā)送到上位機(jī)。數(shù)據(jù)轉(zhuǎn)存模塊完成各種數(shù)據(jù)寫入在片主RAM的操作,為了區(qū)分?jǐn)?shù)據(jù)類型,需要在數(shù)據(jù)塊中添加相應(yīng)的類型標(biāo)識碼,該碼由用戶層協(xié)議自行定義。A/D采樣模塊控制系統(tǒng)采樣過程,并將每一路12位采樣數(shù)據(jù)分兩次讀入指定的RAM單元中。   頻率信號處理模塊完成對捕獲端口頻率的測量,其基本思想是:在被測信號的一個周期時間內(nèi),2次脈沖下降沿分別啟動和停止定時器T2計數(shù),兩次計數(shù)值之差的倒數(shù)即為頻率值,本模塊只需計算差值,頻率值由上位機(jī)解算。   3.1 CAN控制器編程   本系統(tǒng)軟件設(shè)計的一個難點在于關(guān)于CAN的編程。本系統(tǒng)處理的CAN程序模塊有:CAN初始化子程序、CAN中斷程序和CAN數(shù)據(jù)收發(fā)子程序。   CAN控制器是以CPU存儲器映像外圍設(shè)備出現(xiàn)的。P80C592的CPU與CAN控制器之間的數(shù)據(jù)傳輸通過4個特殊功能寄存器來實現(xiàn),即: CANADR、CANCON、CANSTA和CANDAT,通過這四個特殊功能寄存器,CPU可以訪問CAN控制器內(nèi)部的任一寄存器(地址為0~29)和DMA邏輯。表2給出了這四個SFR的功能簡述,其中CANCON和CANSTA的讀寫操作含義不同。CAN控制器內(nèi)部所有寄存器詳細(xì)介紹請參閱參考文獻(xiàn)[1]。 [align=center] 表1[/align]   CAN控制器初始化(圖4)是CAN通信中一個非常重要的子程序,程序是否合理將直接影響整個通信過程。CAN控制器的初始化首先必須通過置位CAN控制寄存器的“復(fù)位請求”位,置位“復(fù)位請求”并不影響正在進(jìn)行的一個收發(fā)作業(yè),特別需要注意的是,只有當(dāng)復(fù)位請求被置位時,CAN內(nèi)部地址為4-8的寄存器方可被訪問,在復(fù)位操作結(jié)束后必須將該位置0以保持所進(jìn)行的設(shè)置并使CAN返回工作狀態(tài)。 [align=center] 圖4[/align]   P80C592和其在片CAN控制器都具有中斷寄存器,必須注意兩者的區(qū)別。CAN中斷子程序(圖5)首先讀CAN中斷寄存器(IR)以判斷中斷類型,據(jù)此轉(zhuǎn)入相應(yīng)的操作。如果接收緩存器滿而另一個報文的首字節(jié)又需要被存儲時,數(shù)據(jù)超限位被置位,此時應(yīng)清除超限并釋放接收緩存,然后重新發(fā)送數(shù)據(jù)請求。在數(shù)據(jù)接受子程序中當(dāng)數(shù)據(jù)被轉(zhuǎn)入RAM區(qū)后,應(yīng)及時釋放接受緩存器,以便為接收下一幀數(shù)據(jù)做好準(zhǔn)備。 [align=center] 圖5[/align] [align=center] 圖6[/align]   數(shù)據(jù)發(fā)送子程序見圖6。CAN控制器向總線發(fā)送數(shù)據(jù)時,首先將在片主RAM中數(shù)據(jù)存放的首地址寫入CANSTA,然后讀取CANSTA.6的值(讀CANSTA的操作其實是對CAN控制器內(nèi)部狀態(tài)寄存器的讀操作,CANSTA.6是錯誤顯示位,當(dāng)至少有一個總線錯誤計數(shù)器計數(shù)達(dá)到CPU告警極限時,該位將被CAN控制器置位。),若檢測出錯,則執(zhí)行CAN初始化子程序,若正常,則繼續(xù)檢測接收狀態(tài)和發(fā)送緩沖器狀態(tài),若發(fā)送條件滿足則在CANADR中寫入發(fā)送緩存器地址并置位DMA控制位(MOV CANADR , 8AH),DMA傳送隨即被啟動,數(shù)據(jù)場由RAM拷貝到發(fā)送緩存器,置發(fā)送請求位(CANCON.0)后數(shù)據(jù)開始發(fā)送。 4 結(jié)束語   用高性能的P80C592和AD1674A數(shù)據(jù)采集模塊組成車輛環(huán)境數(shù)據(jù)采集系統(tǒng)具有較高的性價比,目前該系統(tǒng)已投入試用階段,運(yùn)行狀況良好。CAN總線非常適合分布式控制或適時控制的串行通信網(wǎng)絡(luò),本課題只涉及了數(shù)據(jù)采集,如果在此基礎(chǔ)上擴(kuò)展車輛輔助控制和重要數(shù)據(jù)備份功能,系統(tǒng)將會有更廣闊的應(yīng)用前景。 參考文獻(xiàn):   [1] 鄔寬明. CAN總線原理和應(yīng)用系統(tǒng)設(shè)計. 北京航空航天大學(xué)出版社. 1996

標(biāo)簽:

點贊

分享到:

上一篇:輕軌精整PLC智能控制系統(tǒng)

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網(wǎng)版權(quán)與免責(zé)聲明:凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權(quán)均為中國傳動網(wǎng)(www.surachana.com)獨家所有。如需轉(zhuǎn)載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉(zhuǎn)載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責(zé)任。

本網(wǎng)轉(zhuǎn)載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權(quán)屬于原版權(quán)人。轉(zhuǎn)載請保留稿件來源及作者,禁止擅自篡改,違者自負(fù)版權(quán)法律責(zé)任。

網(wǎng)站簡介|會員服務(wù)|聯(lián)系方式|幫助信息|版權(quán)信息|網(wǎng)站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網(wǎng)-工業(yè)自動化與智能制造的全媒體“互聯(lián)網(wǎng)+”創(chuàng)新服務(wù)平臺

網(wǎng)站客服服務(wù)咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權(quán)所有
粵ICP備 14004826號 | 營業(yè)執(zhí)照證書 | 不良信息舉報中心 | 粵公網(wǎng)安備 44030402000946號