當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]1 引言現(xiàn)在總線技術(shù)有很多種。從成本上講,RS-232/485的成本都比CAN低;速度上講,工業(yè)以太網(wǎng)等也都不錯(cuò)。為什么唯獨(dú)CAN在汽車電子中得到親睞?從成本上來(lái)說(shuō),CAN比UART、RS-

1 引言

現(xiàn)在總線技術(shù)有很多種。從成本上講,RS-232/485的成本都比CAN低;速度上講,工業(yè)以太網(wǎng)等也都不錯(cuò)。為什么唯獨(dú)CAN在汽車電子中得到親睞?

從成本上來(lái)說(shuō),CAN比UART、RS-232/485高,但比以太網(wǎng)低;從實(shí)時(shí)性來(lái)說(shuō):CAN的實(shí)時(shí)性比UART和以太網(wǎng)高,為了保證安全,車用通信協(xié)議都是按周期性主動(dòng)發(fā)送,不論是CAN還是LIN,對(duì)實(shí)時(shí)性要求高的消息其發(fā)送周期都小于10ms(每輛車都有好幾條這樣的消息),發(fā)動(dòng)機(jī)、 ABS和變速器都有幾條這樣的消息;從可靠性來(lái)說(shuō),CAN有一系列事故安全措施,這是UART和以太網(wǎng)都不具備的,多點(diǎn)冗余也是UART(點(diǎn)對(duì)點(diǎn)傳輸)和工業(yè)以太網(wǎng)(數(shù)據(jù)傳輸距離短)難于實(shí)現(xiàn)的,所以CAN出現(xiàn)后,由于價(jià)格的原因,最初應(yīng)用得最多的地方并不是汽車,而是對(duì)成本不敏感的工業(yè)控制和醫(yī)療設(shè)備,如:工業(yè)上的DEVICENET、SDS、CANOPEN,醫(yī)療上MRI等。至于工業(yè)以太網(wǎng)的產(chǎn)生,其背景與個(gè)人PC的普及是分不開的,現(xiàn)在工業(yè)控制中的 PCBASED就是一個(gè)例子,但汽車控制是不能用一臺(tái)PC的,要達(dá)到汽車控制的要求,成本上也不容許。而LIN的傳輸過(guò)程只有20Kbps,顯然不能作為獨(dú)立的汽車總線控制要求,一般它只配合CAN在汽車上做輔助之用。

車輛是一個(gè)特殊的應(yīng)用環(huán)境,車輛自動(dòng)化程度的不斷提高給車輛儀表提出了更高的要求,傳統(tǒng)的動(dòng)磁式儀表已經(jīng)越來(lái)越不適應(yīng)現(xiàn)代智能交通工具發(fā)展的需要,而虛擬儀表因其具有交互、智能和便于擴(kuò)展等特點(diǎn)而受到廣泛重視。本課題要求為某車設(shè)計(jì)一套虛擬儀表,上位機(jī)采用基于RTOS開發(fā)環(huán)境的PC104嵌入式微機(jī)。車輛環(huán)境數(shù)據(jù)采集系統(tǒng)作為虛擬儀表的一個(gè)最重要的子系統(tǒng),要求完成數(shù)據(jù)的采集和通信功能,而且具有較高的適時(shí)性和可靠性。本文根據(jù)作者體會(huì)介紹了用 Philips公司的高性能單片機(jī)P80C592設(shè)計(jì)車輛數(shù)據(jù)采集系統(tǒng)的方法,重點(diǎn)介紹了系統(tǒng)設(shè)計(jì)和CAN通信編程。

2 系統(tǒng)簡(jiǎn)介

根據(jù)設(shè)計(jì)要求,本系統(tǒng)主要完成傳感信號(hào)的處理以及車輛的工況數(shù)據(jù)采集并將數(shù)據(jù)通過(guò)CAN總線送上位機(jī),要求處理16路模擬信號(hào)、4路頻率信號(hào)和32路擴(kuò)展 IO信號(hào),采集參數(shù)主要有:發(fā)動(dòng)機(jī)機(jī)油壓力、水溫、油溫、轉(zhuǎn)速、車速、變速箱油壓、油箱油量以及電網(wǎng)電壓、車門狀態(tài)、轉(zhuǎn)向燈指示、車體超寬指示以及車內(nèi)環(huán)境示警等,信號(hào)的形式有電壓、頻率、以及開關(guān)量信號(hào),信號(hào)頻率范圍為0~ 6KHZ.

2.1 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)

圖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個(gè)捕獲端口和2個(gè)標(biāo)準(zhǔn)的16位定時(shí)/計(jì)數(shù)器;8路模擬量輸入的10位ADC變換器;2×256字節(jié)在片RAM和一個(gè)Watch Dog.P80C592的在片CAN控制器可以完全實(shí)現(xiàn)CAN協(xié)議,減少了系統(tǒng)連線,增強(qiáng)了診斷功能和監(jiān)控能力。數(shù)模轉(zhuǎn)換器件選用12位的 AD1674A,分辨率為0.02%,轉(zhuǎn)換時(shí)間為25uS.為了提高系統(tǒng)抗干擾能力,在模-數(shù)電路之間和系統(tǒng)到CAN總線之間采用了光電隔離,并且將模擬電路和數(shù)字電路分別設(shè)計(jì)成兩塊獨(dú)立的PCB板,兩板通過(guò)棧接組成一個(gè)完整的系統(tǒng)。

 


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

硬件工作過(guò)程:溫度、壓力以及電壓信號(hào),經(jīng)相關(guān)處理電路送至16路模擬開關(guān)MAX306EP,經(jīng)電壓跟隨電路輸入AD1674A進(jìn)行A/D轉(zhuǎn)換,為了提高可靠性和穩(wěn)定性,系統(tǒng)沒(méi)有采用微控制器的在片ADC變換器。在程序控制下對(duì)16路信號(hào)順序選通,采集得到的數(shù)據(jù)在CAN控制器內(nèi)完成CAN協(xié)議包的封裝,由發(fā)送端口經(jīng)光電隔離和發(fā)送器傳送到CAN總線上。油量信號(hào)經(jīng)光電隔離、整形和分頻后送P80C592的捕獲端口進(jìn)行頻率測(cè)量,轉(zhuǎn)速車速信號(hào)經(jīng)整形后被分為兩路,一路經(jīng)分頻電路去單片機(jī)捕獲端口,另一路經(jīng)F/V轉(zhuǎn)換后送ADC采樣。對(duì)ADC和I/O擴(kuò)展端口的訪問(wèn)通過(guò)GAL譯碼器的編程邏輯輸出來(lái)控制。

2.2 頻率信號(hào)測(cè)量

頻率信號(hào)測(cè)量是本系統(tǒng)的一個(gè)設(shè)計(jì)難點(diǎn),在本課題中,對(duì)于不同的車型所選用的傳感器不同,因此對(duì)轉(zhuǎn)速和車速頻率信號(hào)的處理可以有兩種方法:一是當(dāng)選用輸出頻率范圍為0-100HZ的接觸式傳感器時(shí),采用CS289頻壓轉(zhuǎn)換芯片,將頻率信號(hào)轉(zhuǎn)換成2.2~7.2V的電壓信號(hào)然后送ADC采集;二是當(dāng)選用輸出信號(hào)頻率范圍為0~3000HZ的非接觸式傳感器時(shí),通過(guò)單片機(jī)捕獲端口用脈沖計(jì)數(shù)的方法進(jìn)行頻率測(cè)量。為提高系統(tǒng)的通用性,可以同時(shí)采用了這兩種方法,具體采用哪一種方法得到的數(shù)據(jù)通過(guò)上微機(jī)軟件設(shè)定。圖2為F/V轉(zhuǎn)換電路圖。

 


圖2 F/V轉(zhuǎn)換電路圖

CS289是美國(guó)Cherry公司生產(chǎn)的單片高精度專用轉(zhuǎn)速測(cè)量芯片,在-400至+850溫度范圍內(nèi)都能有很好的線性輸出。它不僅可以用于 F/V、V /F轉(zhuǎn)換,還可以用作函數(shù)發(fā)生器以及動(dòng)磁式儀表驅(qū)動(dòng)。由其構(gòu)成的F/V轉(zhuǎn)換電路外圍元件少,調(diào)試容易,工作穩(wěn)定可靠。圖2所示,整形后的轉(zhuǎn)速脈沖信號(hào)經(jīng)濾波網(wǎng)絡(luò)和限幅輸入CS289第10腳,電壓信號(hào)由第8腳輸出,經(jīng)濾波消除可能的工頻干擾后送采樣電路。本電路中,輸出電壓和輸入頻率的關(guān)系由下式?jīng)Q定:上位機(jī)據(jù)此線性關(guān)系解算出頻率值。為保證F/V變換具有足夠高的線性度,應(yīng)合理選取的值。

3 系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)軟件主要完成三項(xiàng)任務(wù):1、傳感器信號(hào)的采樣與解算;2、上位機(jī)請(qǐng)求數(shù)據(jù)時(shí)將采集的數(shù)據(jù)傳送給上位機(jī);3、接收到上位機(jī)自檢命令時(shí),上傳數(shù)據(jù)完成傳感器信號(hào)到標(biāo)準(zhǔn)信號(hào)的切換。程序流程如圖3所示。

 


圖3 程序流程如圖

主程序采用模塊化編程。具有故障自診斷功能是虛擬儀表的重要特征之一,為此數(shù)據(jù)采集系統(tǒng)中設(shè)計(jì)了3組標(biāo)準(zhǔn)信號(hào),分別是頻率信號(hào)、電壓信號(hào)和電阻信號(hào),自檢模塊的主要功能是:當(dāng)接收到上位機(jī)發(fā)出的自檢命令后,微控制器斷開傳感器輸入,標(biāo)準(zhǔn)信號(hào)被接入數(shù)據(jù)采集系統(tǒng),將得到的數(shù)據(jù)上傳到上位機(jī)與標(biāo)準(zhǔn)值進(jìn)行比較,以確定故障點(diǎn)是傳感器系統(tǒng)還是數(shù)據(jù)采集系統(tǒng),若自檢通過(guò)則表示數(shù)據(jù)采集系統(tǒng)工作正常。數(shù)據(jù)發(fā)送模塊主要實(shí)現(xiàn)對(duì)上位機(jī)的數(shù)據(jù)通信,本系統(tǒng)設(shè)計(jì)為每隔20毫秒將數(shù)據(jù)分組發(fā)送到上位機(jī)。數(shù)據(jù)轉(zhuǎn)存模塊完成各種數(shù)據(jù)寫入在片主RAM的操作,為了區(qū)分?jǐn)?shù)據(jù)類型,需要在數(shù)據(jù)塊中添加相應(yīng)的類型標(biāo)識(shí)碼,該碼由用戶層協(xié)議自行定義。A/D采樣模塊控制系統(tǒng)采樣過(guò)程,并將每一路12位采樣數(shù)據(jù)分兩次讀入指定的RAM單元中。[!--empirenews.page--]

頻率信號(hào)處理模塊完成對(duì)捕獲端口頻率的測(cè)量,其基本思想是:在被測(cè)信號(hào)的一個(gè)周期時(shí)間內(nèi),2次脈沖下降沿分別啟動(dòng)和停止定時(shí)器T2計(jì)數(shù),兩次計(jì)數(shù)值之差的倒數(shù)即為頻率值,本模塊只需計(jì)算差值,頻率值由上位機(jī)解算。

3.1 CAN控制器編程

本系統(tǒng)軟件設(shè)計(jì)的一個(gè)難點(diǎn)在于關(guān)于CAN的編程。本系統(tǒng)處理的CAN程序模塊有:CAN初始化子程序、CAN中斷程序和CAN數(shù)據(jù)收發(fā)子程序。

CAN 是Controller Area Network 的縮寫,是國(guó)際標(biāo)準(zhǔn)化的串行通信協(xié)議。在當(dāng)前的汽車產(chǎn)業(yè)中,出于對(duì)安全性、舒適性、方便性、低公害、低成本的要求,各種各樣的電子控制系統(tǒng)被開發(fā)了出來(lái)。由于這些系統(tǒng)之間通信所用的數(shù)據(jù)類型及對(duì)可靠性的要求不盡相同,由多條總線構(gòu)成的情況很多,線束的數(shù)量也隨之增加。為適應(yīng)"減少線束的數(shù)量"、"通過(guò)多個(gè) LAN,進(jìn)行大量數(shù)據(jù)的高速通信"的需要,1986 年德國(guó)電氣商博世公司開發(fā)出面向汽車的CAN 通信協(xié)議。此后,CAN 通過(guò)ISO11898 及ISO11519 進(jìn)行了標(biāo)準(zhǔn)化,現(xiàn)在在歐洲已是汽車網(wǎng)絡(luò)的標(biāo)準(zhǔn)協(xié)議。

CAN總線的基本特點(diǎn):

*CAN協(xié)議廢除了傳統(tǒng)的站地址編碼,采用數(shù)據(jù)通信數(shù)據(jù)塊進(jìn)行編程,可以多主方式工作。

*CAN采用非破壞性仲裁技術(shù),當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)向網(wǎng)絡(luò)上傳送數(shù)據(jù)時(shí),優(yōu)先級(jí)低的節(jié)點(diǎn)主動(dòng)停止數(shù)據(jù)發(fā)送,而優(yōu)先級(jí)高的節(jié)點(diǎn)可不受影響地繼續(xù)傳輸數(shù)據(jù),有效避免了總線沖突。

*CAN采用短幀結(jié)構(gòu),每一幀的 有效字節(jié)為8個(gè)(CAN技術(shù)規(guī)范2.0A),數(shù)據(jù)傳輸時(shí)間短,受干擾的概率低,重新發(fā)送的時(shí)間短。

*CAN的每幀數(shù)據(jù)都有CRC效驗(yàn)及其他檢錯(cuò)措施,保證了數(shù)據(jù)傳輸?shù)母呖煽啃?,適于在高干擾環(huán)境中使用。

*適用于現(xiàn)場(chǎng)設(shè)備與儀表之間或者與其上位設(shè)備間的通信網(wǎng)絡(luò),可以統(tǒng)一組態(tài),相互操作,控制功能分散到最底層。

*CAN節(jié)點(diǎn)在錯(cuò)誤嚴(yán)重的情況下,具有自動(dòng)關(guān)閉總線的功能,切斷它與總線的聯(lián)系,以使總線上其它操作不受影響。

*CAN可以點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)(成組)及全局廣播集中方式傳送和接受數(shù)據(jù)

*CAN總線直接通訊距離最遠(yuǎn)可達(dá)10km/5Kbps,通訊速率最高可達(dá)1Mbps/40m.

*采用不歸零碼(NRZ-Non-Return-to-Zero)編碼/解碼方式,并采用位填充(插入)技術(shù)。

CAN控制器是以CPU存儲(chǔ)器映像外圍設(shè)備出現(xiàn)的。P80C592的CPU與CAN控制器之間的數(shù)據(jù)傳輸通過(guò)4個(gè)特殊功能寄存器來(lái)實(shí)現(xiàn),即: CANADR、CANCON、CANSTA和CANDAT,通過(guò)這四個(gè)特殊功能寄存器,CPU可以訪問(wèn)CAN控制器內(nèi)部的任一寄存器(地址為0~29)和 DMA邏輯。表1給出了這四個(gè)SFR的功能簡(jiǎn)述,其中CANCON和CANSTA的讀寫操作含義不同。

表1 SFR功能簡(jiǎn)述

 


CAN控制器初始化(圖4)是CAN通信中一個(gè)非常重要的子程序,程序是否合理將直接影響整個(gè)通信過(guò)程。CAN控制器的初始化首先必須通過(guò)置位 CAN控制寄存器的"復(fù)位請(qǐng)求"位,置位"復(fù)位請(qǐng)求"并不影響正在進(jìn)行的一個(gè)收發(fā)作業(yè),特別需要注意的是,只有當(dāng)復(fù)位請(qǐng)求被置位時(shí),CAN內(nèi)部地址為 4-8的寄存器方可被訪問(wèn),在復(fù)位操作結(jié)束后必須將該位置0以保持所進(jìn)行的設(shè)置并使CAN返回工作狀態(tài)。

 


圖4 CAN通信中一個(gè)重要的子程序

P80C592和其在片CAN控制器都具有中斷寄存器,必須注意兩者的區(qū)別。CAN中斷子程序(圖5)首先讀CAN中斷寄存器(IR)以判斷中斷類型,據(jù)此轉(zhuǎn)入相應(yīng)的操作。如果接收緩存器滿而另一個(gè)報(bào)文的首字節(jié)又需要被存儲(chǔ)時(shí),數(shù)據(jù)超限位被置位,此時(shí)應(yīng)清除超限并釋放接收緩存,然后重新發(fā)送數(shù)據(jù)請(qǐng)求。在數(shù)據(jù)接受子程序中當(dāng)數(shù)據(jù)被轉(zhuǎn)入RAM區(qū)后,應(yīng)及時(shí)釋放接受緩存器,以便為接收下一幀數(shù)據(jù)做好準(zhǔn)備。

 


圖5 CAN中斷子程序

數(shù)據(jù)發(fā)送子程序見圖6.CAN控制器向總線發(fā)送數(shù)據(jù)時(shí),首先將在片主RAM中數(shù)據(jù)存放的首地址寫入CANSTA,然后讀取CANSTA.6的值(讀 CANSTA的操作其實(shí)是對(duì)CAN控制器內(nèi)部狀態(tài)寄存器的讀操作,CANSTA.6是錯(cuò)誤顯示位,當(dāng)至少有一個(gè)總線錯(cuò)誤計(jì)數(shù)器計(jì)數(shù)達(dá)到CPU告警極限時(shí),該位將被CAN控制器置位。),若檢測(cè)出錯(cuò),則執(zhí)行CAN初始化子程序,若正常,則繼續(xù)檢測(cè)接收狀態(tài)和發(fā)送緩沖器狀態(tài),若發(fā)送條件滿足則在CANADR中寫入發(fā)送緩存器地址并置位DMA控制位,DMA傳送隨即被啟動(dòng),數(shù)據(jù)場(chǎng)由RAM拷貝到發(fā)送緩存器,置發(fā)送請(qǐng)求位后數(shù)據(jù)開始發(fā)送。

4 結(jié)語(yǔ)

用高性能的P80C592和AD1674A數(shù)據(jù)采集模塊組成車輛環(huán)境數(shù)據(jù)采集系統(tǒng)具有較高的性價(jià)比,目前該系統(tǒng)已投入試用階段,運(yùn)行狀況良好。 CAN總線非常適合分布式控制或適時(shí)控制的串行通信網(wǎng)絡(luò),本課題只涉及了數(shù)據(jù)采集,如果在此基礎(chǔ)上擴(kuò)展車輛輔助控制和重要數(shù)據(jù)備份功能,系統(tǒng)將會(huì)有更廣闊的應(yīng)用前景。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉