基于C8051和Atmega16的無(wú)線(xiàn)溫度測量系統設計
2.1 主控制模塊程序設計
主控制模塊程序主要完成的功能是對熱電偶的輸入模擬信號進(jìn)行采樣,然后進(jìn)行查表,以將查表數據轉換成溫度數據并打包。當發(fā)送標志允許時(shí),寫(xiě)入FLASH保存,同時(shí)通過(guò)串口發(fā)送給Atmegal6。其系統軟件模塊流程圖如圖3所示。

本系統在上電復位后,應首先對C8051F020的各功能模塊進(jìn)行初始化。包括串口0、串口1、AD轉換器、計數器TO、Tl、T2和中斷程序等。系統每50 ms通過(guò)12位AD轉換器對輸入信號進(jìn)行一次采樣,并將采樣信號查表轉換成溫度數據。然后對數據加上幀頭,幀尾和校驗位。最后將幾幀數據打成一個(gè)數據包。
當發(fā)送標志允許時(shí),C805lF020每50 ms將數據包寫(xiě)入FLASH芯片AT45DB041D。同時(shí)將數據包通過(guò)串口發(fā)送給Atmegal6。
2.2 無(wú)線(xiàn)發(fā)射模塊程序設計
無(wú)線(xiàn)發(fā)射程序的主要功能是通過(guò)Atmegal6完成對CCl000的初始化,從C805lF020接收數據,并由CCl000發(fā)送出去。無(wú)線(xiàn)發(fā)射程序的流程如圖3 (b)所示。
在設計無(wú)線(xiàn)發(fā)射模塊的程序時(shí),首先應通過(guò)Atmegal6完成端口初始化,以及TO和T1的初始化,同時(shí)還有串口初始化和中斷程序,并對CC1000進(jìn)行初始化編程。然后,Atmegal6進(jìn)入循環(huán)等待。當確認接收到數據時(shí),先確認數據有效,然后喚醒CC1000并將數據包發(fā)送出去。
3 系統性能分析
本測溫系統的特點(diǎn)在于使用了雙CPU和獨立的溫度補償電路,其意義在于有效提高了溫度采集的速度,進(jìn)而提高測量溫度變化的靈敏度。實(shí)際測試表明,本系統的測量精度為O.5%,溫度采集速度為50 ms。
本系統采用的獨立溫度補償電路是以電壓式溫度傳感器TMP35為溫度補償原件。熱電偶的輸入電動(dòng)勢經(jīng)溫度補償之后,經(jīng)精密軌對軌運放OP747進(jìn)一步放大,再輸入到C8051F020的AD轉換器。這樣可避免使用某些集成熱電偶溫度補償芯片所帶來(lái)的速度受限問(wèn)題。
本系統采用C8051F020作為新一代的SOC芯片,具有豐富而強大的外設,它具有2個(gè)AD轉換器,其中ADO具有12位精度,故可有效保證溫度信號的精確采集。
而采用雙CPU結構C805lF020和Atmegal6,則可確保系統50 ms的采集時(shí)間。因為無(wú)線(xiàn)發(fā)射和寫(xiě)FLASH往往要占用大多數時(shí)間,而采用雙CPU就可以將兩者分開(kāi),這樣就有效的保證了系統的速度和穩定性。
采用FLASH芯片AT45DB041D則可在溫度采集時(shí)實(shí)時(shí)將數據寫(xiě)入FLASH,以便在無(wú)線(xiàn)發(fā)射出現障礙時(shí)仍可有效保存數據。測試系統保存的數據可由上位機通過(guò)USB接口讀取。
4 結束語(yǔ)
與國內外目前的主流無(wú)線(xiàn)溫度測量系統相比,本系統在測溫精度上達到了較高的水平。而在溫度采集速度上,由于使用了獨立的溫度補償電路,同時(shí)采用了雙CPU的系統結構,因而有效的提高了溫度測量的靈敏度和系統穩定性。另外,由于使用了FLASH芯片,可以保存實(shí)時(shí)數據,也提高了系統的可靠性和實(shí)用性。
評論