基於CAN總線的溫度檢測設計
發布時間:2010-07-08
中心議題:
在zai對dui電dian子zi點dian火huo模mo塊kuai的de測ce試shi中zhong,為wei了le模mo擬ni電dian子zi點dian火huo係xi統tong的de真zhen實shi工gong況kuang,電dian子zi點dian火huo模mo塊kuai往wang往wang被bei置zhi於yu高gao於yu常chang溫wen的de環huan境jing下xia進jin行xing電dian子zi點dian火huo實shi驗yan,以yi獲huo得de最zui接jie近jin真zhen實shi汽qi車che運yun行xing工gong況kuang的de點dian火huo參can數shu數shu據ju。由you於yu電dian子zi點dian火huo模mo塊kuai自zi身shen的de發fa熱re,其qi核he心xin元yuan件jian的de溫wen度du成cheng為wei影ying響xiang電dian子zi模mo塊kuai性xing能neng的de重zhong要yao因yin素su;另外,還要考慮環境溫度是否達到模擬真實工況的要求等。
本文介紹了一種應用LM35溫度傳感器和PICMicro的溫度檢測節點的設計方案,用於檢測在模擬汽車電子點火的過程中,電子點火模塊的核心模塊溫度和環境溫度,將闡明模塊結構、工作原理及采樣值量化的方法。
節點原理與結構
該溫度檢測節點由傳感器電路、信號調理電路、單片機應用係統、CAN總線接口等構成。電路基本工作原理是:傳感器電路將感應到的溫度信號以電壓的形式輸出到信號調理電路,信號經過調理後輸入到A/D采樣電路,由ADCjiangshuziliangzhisonggeidanpianjixitong。danpianjixitongjiangjiankongshishiwendu,dangwenduchaoguojingjiezhiheweixianzhishi,danpianjijiangzhudongfasongjinggaoxinxidaoshangweiji,tixingcaozuorenyuanjianzha。mokuailuojijiegourutu1所示。

圖1溫度檢測節點邏輯結構
傳感器電路采用溫度傳感器LM35,供電電壓為15V直流,工作電流為120mA,功耗極低,在全溫度範圍工作時,電流變化很小,電壓輸出采用差動信號方式,由2、3引腳直接輸出。LM35輸出信號經過一個由RC組成的LP濾波器,濾除高頻的噪聲幹擾。
本節點的核心MCU是PIC16F87x,是Microchip公司推出的低功耗8位單片機。PIC16F87x擁有精簡指令集,執行速度為200ns。CAN控製器采用Microchip公司的MCP2510,總線驅動器采用PCA82C250,總線隔離電路采用光耦6N317,信號調理電路采用LF412。溫度監測模塊的硬件結構如圖2所示。

圖2溫度監測模塊硬件結構
信號調理電路主要完成對傳感器信號放大和限幅的功能,將傳感器電路輸出的變化範圍為2V左右的直流電壓,調理為符合PICMicro的AD接口的電壓範圍,既不能超過AD采樣的量程,又要有相當的信號精度。單片機通過A/D采樣通道采集傳感器的溫度數據,並計算溫度範圍。
外圍設備電路為PIC16F87x最小係統運行所需要的必要外設。PIC16F87x通過SPI總線與MCP2510進行數據交換,完成CAN總線數據包的發送和接收,其接口電路如圖3所示。

圖3PIC16F877與MCP2510的接口電路
其中,SCK為SPI總線時鍾,PIC16F87x模塊的SPI接口接MCP2510的SI、SO、SCK,RA4與RA1分別控製MCP2510的芯片複位和片選。INT接受MCP2510的中斷請求。
係統軟件設計
係統軟件流程
為了避免因幹擾而產生誤動作,軟件采取了一些冗餘和容錯處理,在A/D模塊處理采樣數據時,采用了軟件濾波措施,以濾除電路中可能會出現的尖峰幹擾。
方法為連續采樣五次,通過比較判斷,去掉其中的最大值和最小值,其餘三次的值求和後取平均值,把平均值作為CPU用來劃分溫度範圍的有效數據。數據包的解析和封裝都遵循CAN的應用層協議,主程序流程如圖4所示。

圖4主程序流程[page]
當CPU檢測到溫度出現異常,會根據溫度異常範圍向上位機發出溫度異常警報,這是該節點CPU唯(wei)一(yi)主(zhu)動(dong)向(xiang)上(shang)位(wei)機(ji)發(fa)出(chu)的(de)數(shu)據(ju)幀(zhen)。該(gai)節(jie)點(dian)的(de)溫(wen)度(du)相(xiang)關(guan)數(shu)據(ju)存(cun)放(fang)在(zai)緩(huan)衝(chong)區(qu),在(zai)沒(mei)有(you)收(shou)到(dao)上(shang)位(wei)機(ji)數(shu)據(ju)請(qing)求(qiu)的(de)時(shi)候(hou),該(gai)緩(huan)衝(chong)區(qu)的(de)數(shu)據(ju)會(hui)不(bu)斷(duan)的(de)被(bei)新(xin)的(de)數(shu)據(ju)刷(shua)新(xin),以(yi)保(bao)證(zheng)該(gai)節(jie)點(dian)數(shu)據(ju)的(de)實(shi)時(shi)性(xing),中(zhong)斷(duan)流(liu)程(cheng)如(ru)圖(tu)5所示。

圖5CAN接收中斷流程
采樣值的量化方法
采樣值的準確量化是溫控電路正常工作的關鍵,這裏采用以下換算辦法來進行量化。設經過信號調理後的電壓為Ui,則-10V<Ui<10V,已知-10V對應的溫度是-55℃,10V對應的溫度為125℃,易求得比例因數Kt=0.111V/℃。溫度為0℃時,ΔT=55℃(相當於-55℃時的變化量)。
Ui=-10V+ΔT•Kt=-10V+55℃×0.111V/℃=-3.895V。
Ui轉換為數字量後,每個數字量對應電壓值為19.531mV,用Ks表示。可以求得數字量變化和溫度變化之間的對應關係:Kt/Ks=(0.111V/℃)/(19.531mV/數字量)=5.683數字量/℃。
其他溫度對應的數字量也可以通過以上方法算出。
SPI接口通信
PIC16F87x通過SPI接口和MCP2510進行數據交換。
MCP2510設計可與許多微控製器的串行外設接口(SPI)直接相連。外部數據和命令通過SI引腳傳送到器件中,而數據在SCK時鍾信號的上升沿傳送進去。
MCP2510在SCK下降沿通過SO引腳發送表1列出了所有操作的指令字節。

以PIC16F87x向MCP2510發送讀指令為例,來說明SPI接口通信過程。
在讀操作開始時,CS引腳將被置為低電平。隨後讀指令和8位地址碼(A7~A0)將被依次送入MCP2510。在接收到讀指令和地址碼之後,MCP2510指定地址寄存器中的數據將被移出通過SO引yin腳jiao進jin行xing發fa送song。每mei一yi數shu據ju字zi節jie移yi出chu後hou,器qi件jian內nei部bu的de地di址zhi指zhi針zhen將jiang自zi動dong加jia一yi以yi指zhi向xiang下xia一yi地di址zhi。因yin此ci可ke以yi對dui下xia一yi個ge連lian續xu地di址zhi寄ji存cun器qi進jin行xing讀du操cao作zuo。通tong過guo該gai方fang法fa可ke以yi順shun序xu讀du取qu任ren意yi一yi個ge連lian續xu地di址zhi寄ji存cun器qi中zhong的de數shu據ju。通tong過guo拉la高gaoCS引腳電平可以結束讀操作,如圖6所示。

圖6SPI接口通信時序
基於LM35開發的溫控節點工作穩定性強、可靠性高、且具有體積小、靈敏度高、響應時間短、抗幹擾能力強等特點。該節點成本低廉,器件均為常規元件,有較高的工程價值。本節點擁有CAN接口,既可以作為一個獨立的檢測係統,也可以作為分布式測試係統的一個關鍵部分。CAN的上層協議都可以在軟件中實現,使得本節點接口靈活,不受上層協議的限製。
- 溫度檢測節點原理與結構
- 係統控製軟件流程設計
- 數據交換SPI接口通信
- 單片機係統將監控實時溫度
- 軟件采取冗餘和容錯處理
- 信號調理電路對傳感器信號放大和限幅的功能
在zai對dui電dian子zi點dian火huo模mo塊kuai的de測ce試shi中zhong,為wei了le模mo擬ni電dian子zi點dian火huo係xi統tong的de真zhen實shi工gong況kuang,電dian子zi點dian火huo模mo塊kuai往wang往wang被bei置zhi於yu高gao於yu常chang溫wen的de環huan境jing下xia進jin行xing電dian子zi點dian火huo實shi驗yan,以yi獲huo得de最zui接jie近jin真zhen實shi汽qi車che運yun行xing工gong況kuang的de點dian火huo參can數shu數shu據ju。由you於yu電dian子zi點dian火huo模mo塊kuai自zi身shen的de發fa熱re,其qi核he心xin元yuan件jian的de溫wen度du成cheng為wei影ying響xiang電dian子zi模mo塊kuai性xing能neng的de重zhong要yao因yin素su;另外,還要考慮環境溫度是否達到模擬真實工況的要求等。
本文介紹了一種應用LM35溫度傳感器和PICMicro的溫度檢測節點的設計方案,用於檢測在模擬汽車電子點火的過程中,電子點火模塊的核心模塊溫度和環境溫度,將闡明模塊結構、工作原理及采樣值量化的方法。
節點原理與結構
該溫度檢測節點由傳感器電路、信號調理電路、單片機應用係統、CAN總線接口等構成。電路基本工作原理是:傳感器電路將感應到的溫度信號以電壓的形式輸出到信號調理電路,信號經過調理後輸入到A/D采樣電路,由ADCjiangshuziliangzhisonggeidanpianjixitong。danpianjixitongjiangjiankongshishiwendu,dangwenduchaoguojingjiezhiheweixianzhishi,danpianjijiangzhudongfasongjinggaoxinxidaoshangweiji,tixingcaozuorenyuanjianzha。mokuailuojijiegourutu1所示。

圖1溫度檢測節點邏輯結構
傳感器電路采用溫度傳感器LM35,供電電壓為15V直流,工作電流為120mA,功耗極低,在全溫度範圍工作時,電流變化很小,電壓輸出采用差動信號方式,由2、3引腳直接輸出。LM35輸出信號經過一個由RC組成的LP濾波器,濾除高頻的噪聲幹擾。
本節點的核心MCU是PIC16F87x,是Microchip公司推出的低功耗8位單片機。PIC16F87x擁有精簡指令集,執行速度為200ns。CAN控製器采用Microchip公司的MCP2510,總線驅動器采用PCA82C250,總線隔離電路采用光耦6N317,信號調理電路采用LF412。溫度監測模塊的硬件結構如圖2所示。

圖2溫度監測模塊硬件結構
信號調理電路主要完成對傳感器信號放大和限幅的功能,將傳感器電路輸出的變化範圍為2V左右的直流電壓,調理為符合PICMicro的AD接口的電壓範圍,既不能超過AD采樣的量程,又要有相當的信號精度。單片機通過A/D采樣通道采集傳感器的溫度數據,並計算溫度範圍。
外圍設備電路為PIC16F87x最小係統運行所需要的必要外設。PIC16F87x通過SPI總線與MCP2510進行數據交換,完成CAN總線數據包的發送和接收,其接口電路如圖3所示。

圖3PIC16F877與MCP2510的接口電路
其中,SCK為SPI總線時鍾,PIC16F87x模塊的SPI接口接MCP2510的SI、SO、SCK,RA4與RA1分別控製MCP2510的芯片複位和片選。INT接受MCP2510的中斷請求。
係統軟件設計
係統軟件流程
為了避免因幹擾而產生誤動作,軟件采取了一些冗餘和容錯處理,在A/D模塊處理采樣數據時,采用了軟件濾波措施,以濾除電路中可能會出現的尖峰幹擾。
方法為連續采樣五次,通過比較判斷,去掉其中的最大值和最小值,其餘三次的值求和後取平均值,把平均值作為CPU用來劃分溫度範圍的有效數據。數據包的解析和封裝都遵循CAN的應用層協議,主程序流程如圖4所示。

圖4主程序流程[page]
當CPU檢測到溫度出現異常,會根據溫度異常範圍向上位機發出溫度異常警報,這是該節點CPU唯(wei)一(yi)主(zhu)動(dong)向(xiang)上(shang)位(wei)機(ji)發(fa)出(chu)的(de)數(shu)據(ju)幀(zhen)。該(gai)節(jie)點(dian)的(de)溫(wen)度(du)相(xiang)關(guan)數(shu)據(ju)存(cun)放(fang)在(zai)緩(huan)衝(chong)區(qu),在(zai)沒(mei)有(you)收(shou)到(dao)上(shang)位(wei)機(ji)數(shu)據(ju)請(qing)求(qiu)的(de)時(shi)候(hou),該(gai)緩(huan)衝(chong)區(qu)的(de)數(shu)據(ju)會(hui)不(bu)斷(duan)的(de)被(bei)新(xin)的(de)數(shu)據(ju)刷(shua)新(xin),以(yi)保(bao)證(zheng)該(gai)節(jie)點(dian)數(shu)據(ju)的(de)實(shi)時(shi)性(xing),中(zhong)斷(duan)流(liu)程(cheng)如(ru)圖(tu)5所示。

圖5CAN接收中斷流程
采樣值的量化方法
采樣值的準確量化是溫控電路正常工作的關鍵,這裏采用以下換算辦法來進行量化。設經過信號調理後的電壓為Ui,則-10V<Ui<10V,已知-10V對應的溫度是-55℃,10V對應的溫度為125℃,易求得比例因數Kt=0.111V/℃。溫度為0℃時,ΔT=55℃(相當於-55℃時的變化量)。
Ui=-10V+ΔT•Kt=-10V+55℃×0.111V/℃=-3.895V。
Ui轉換為數字量後,每個數字量對應電壓值為19.531mV,用Ks表示。可以求得數字量變化和溫度變化之間的對應關係:Kt/Ks=(0.111V/℃)/(19.531mV/數字量)=5.683數字量/℃。
其他溫度對應的數字量也可以通過以上方法算出。
SPI接口通信
PIC16F87x通過SPI接口和MCP2510進行數據交換。
MCP2510設計可與許多微控製器的串行外設接口(SPI)直接相連。外部數據和命令通過SI引腳傳送到器件中,而數據在SCK時鍾信號的上升沿傳送進去。
MCP2510在SCK下降沿通過SO引腳發送表1列出了所有操作的指令字節。

以PIC16F87x向MCP2510發送讀指令為例,來說明SPI接口通信過程。
在讀操作開始時,CS引腳將被置為低電平。隨後讀指令和8位地址碼(A7~A0)將被依次送入MCP2510。在接收到讀指令和地址碼之後,MCP2510指定地址寄存器中的數據將被移出通過SO引yin腳jiao進jin行xing發fa送song。每mei一yi數shu據ju字zi節jie移yi出chu後hou,器qi件jian內nei部bu的de地di址zhi指zhi針zhen將jiang自zi動dong加jia一yi以yi指zhi向xiang下xia一yi地di址zhi。因yin此ci可ke以yi對dui下xia一yi個ge連lian續xu地di址zhi寄ji存cun器qi進jin行xing讀du操cao作zuo。通tong過guo該gai方fang法fa可ke以yi順shun序xu讀du取qu任ren意yi一yi個ge連lian續xu地di址zhi寄ji存cun器qi中zhong的de數shu據ju。通tong過guo拉la高gaoCS引腳電平可以結束讀操作,如圖6所示。

圖6SPI接口通信時序
基於LM35開發的溫控節點工作穩定性強、可靠性高、且具有體積小、靈敏度高、響應時間短、抗幹擾能力強等特點。該節點成本低廉,器件均為常規元件,有較高的工程價值。本節點擁有CAN接口,既可以作為一個獨立的檢測係統,也可以作為分布式測試係統的一個關鍵部分。CAN的上層協議都可以在軟件中實現,使得本節點接口靈活,不受上層協議的限製。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 構建具有網絡彈性的嵌入式係統:來自行業領袖的洞見
- 數字化的線性穩壓器
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
SATA連接器
SD連接器
SII
SIM卡連接器
SMT設備
SMU
SOC
SPANSION
SRAM
SSD
ST
ST-ERICSSON
Sunlord
SynQor
s端子線
Taiyo Yuden
TDK-EPC
TD-SCDMA功放
TD-SCDMA基帶
TE
Tektronix
Thunderbolt
TI
TOREX
TTI
TVS
UPS電源
USB3.0
USB 3.0主控芯片
USB傳輸速度



