一種基于單片機的車輛虛擬儀表數據采集系統設計
現在總線技術有很多種。從成本上講,RS-232/485的成本都比CAN低;速度上講,工業以太網等也都不錯。為什么唯獨CAN在汽車電子中得到親睞?
本文引用地址:http://www.104case.com/article/201611/323773.htm從成本上來說,CAN比UART、RS-232/485高,但比以太網低;從實時性來說:CAN的實時性比UART和以太網高,為了保證安全,車用通信協議都是按周期性主動發送,不論是CAN還是LIN,對實時性要求高的消息其發送周期都小于10ms(每輛車都有好幾條這樣的消息),發動機、 ABS和變速器都有幾條這樣的消息;從可靠性來說,CAN有一系列事故安全措施,這是UART和以太網都不具備的,多點冗余也是UART(點對點傳輸)和工業以太網(數據傳輸距離短)難于實現的,所以CAN出現后,由于價格的原因,最初應用得最多的地方并不是汽車,而是對成本不敏感的工業控制和醫療設備,如:工業上的DEVICENET、SDS、CANOPEN,醫療上MRI等。至于工業以太網的產生,其背景與個人PC的普及是分不開的,現在工業控制中的 PCBASED就是一個例子,但汽車控制是不能用一臺PC的,要達到汽車控制的要求,成本上也不容許。而LIN的傳輸過程只有20Kbps,顯然不能作為獨立的汽車總線控制要求,一般它只配合CAN在汽車上做輔助之用。
車輛是一個特殊的應用環境,車輛自動化程度的不斷提高給車輛儀表提出了更高的要求,傳統的動磁式儀表已經越來越不適應現代智能交通工具發展的需要,而虛擬儀表因其具有交互、智能和便于擴展等特點而受到廣泛重視。本課題要求為某車設計一套虛擬儀表,上位機采用基于RTOS開發環境的PC104嵌入式微機。車輛環境數據采集系統作為虛擬儀表的一個最重要的子系統,要求完成數據的采集和通信功能,而且具有較高的適時性和可靠性。本文根據作者體會介紹了用 Philips公司的高性能單片機P80C592設計車輛數據采集系統的方法,重點介紹了系統設計和CAN通信編程。
2 系統簡介
根據設計要求,本系統主要完成傳感信號的處理以及車輛的工況數據采集并將數據通過CAN總線送上位機,要求處理16路模擬信號、4路頻率信號和32路擴展 IO信號,采集參數主要有:發動機機油壓力、水溫、油溫、轉速、車速、變速箱油壓、油箱油量以及電網電壓、車門狀態、轉向燈指示、車體超寬指示以及車內環境示警等,信號的形式有電壓、頻率、以及開關量信號,信號頻率范圍為0~ 6KHZ.
2.1 系統硬件結構設計
圖1給出了系統硬件結構圖。系統采用的核心器件為Philips公司的8位高性能微控制器P80C592,它與標準80C51完全兼容,其主要特性有:內建能與內部RAM進行DMA數據傳送的CAN控制器;4個捕獲端口和2個標準的16位定時/計數器;8路模擬量輸入的10位ADC變換器;2×256字節在片RAM和一個Watch Dog.P80C592的在片CAN控制器可以完全實現CAN協議,減少了系統連線,增強了診斷功能和監控能力。數模轉換器件選用12位的 AD1674A,分辨率為0.02%,轉換時間為25uS.為了提高系統抗干擾能力,在模-數電路之間和系統到CAN總線之間采用了光電隔離,并且將模擬電路和數字電路分別設計成兩塊獨立的PCB板,兩板通過棧接組成一個完整的系統。

圖1 系統硬件結構圖
硬件工作過程:溫度、壓力以及電壓信號,經相關處理電路送至16路模擬開關MAX306EP,經電壓跟隨電路輸入AD1674A進行A/D轉換,為了提高可靠性和穩定性,系統沒有采用微控制器的在片ADC變換器。在程序控制下對16路信號順序選通,采集得到的數據在CAN控制器內完成CAN協議包的封裝,由發送端口經光電隔離和發送器傳送到CAN總線上。油量信號經光電隔離、整形和分頻后送P80C592的捕獲端口進行頻率測量,轉速車速信號經整形后被分為兩路,一路經分頻電路去單片機捕獲端口,另一路經F/V轉換后送ADC采樣。對ADC和I/O擴展端口的訪問通過GAL譯碼器的編程邏輯輸出來控制。
評論