新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于CAN總線的溫度檢測設(shè)計

基于CAN總線的溫度檢測設(shè)計

作者: 時間:2012-07-06 來源:網(wǎng)絡(luò) 收藏

為了避免因干擾而產(chǎn)生誤動作,軟件采取了一些冗余和容錯處理,在A/D模塊處理采樣數(shù)據(jù)時,采用了軟件濾波措施,以濾除電路中可能會出現(xiàn)的尖峰干擾。

方法為連續(xù)采樣五次,通過比較判斷,去掉其中的最大值和最小值,其余三次的值求和后取平均值,把平均值作為CPU用來劃分溫度范圍的有效數(shù)據(jù)。數(shù)據(jù)包的解析和封裝都遵循CAN的應(yīng)用層協(xié)議,主程序流程如圖4所示。


圖4主程序流程


當(dāng)CPU檢測到溫度出現(xiàn)異常,會根據(jù)溫度異常范圍向上位機發(fā)出溫度異常警報,這是該節(jié)點CPU唯一主動向上位機發(fā)出的數(shù)據(jù)幀。該節(jié)點的溫度相關(guān)數(shù)據(jù)存放在緩沖區(qū),在沒有收到上位機數(shù)據(jù)請求的時候,該緩沖區(qū)的數(shù)據(jù)會不斷的被新的數(shù)據(jù)刷新,以保證該節(jié)點數(shù)據(jù)的實時性,中斷流程如圖5所示。


圖5CAN接收中斷流程

采樣值的量化方法

采樣值的準確量化是溫控電路正常工作的關(guān)鍵,這里采用以下?lián)Q算辦法來進行量化。設(shè)經(jīng)過信號調(diào)理后的電壓為Ui,則-10V
Ui=-10V+ΔT?Kt=-10V+55℃×0.111V/℃=-3.895V。

Ui轉(zhuǎn)換為數(shù)字量后,每個數(shù)字量對應(yīng)電壓值為19.531mV,用Ks表示。可以求得數(shù)字量變化和溫度變化之間的對應(yīng)關(guān)系:Kt/Ks=(0.111V/℃)/(19.531mV/數(shù)字量)=5.683數(shù)字量/℃。

其他溫度對應(yīng)的數(shù)字量也可以通過以上方法算出。

SPI接口通信

PIC16F87x通過SPI接口和MCP2510進行數(shù)據(jù)交換。

MCP2510設(shè)計可與許多微控制器的串行外設(shè)接口(SPI)直接相連。外部數(shù)據(jù)和命令通過SI引腳傳送到器件中,而數(shù)據(jù)在SCK時鐘信號的上升沿傳送進去。



關(guān)鍵詞: CAN總線 溫度檢測 LM35

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉