基于ADμC812的溫度檢測系統(tǒng)的設計
本系統(tǒng)以ADμC812單片機為處理核心,分為溫度傳感、信號處理(差分放大、采樣保持)、系統(tǒng)復位、LED顯示、串行數(shù)據(jù)通信、上位機控制等6個功能模塊。
系統(tǒng)的工作原理如圖1所示。傳感器將溫度(物理量)轉化為電量(電壓),然后通過差分放大模塊將信號先放大再保持處理,接著將兩路模擬信號(電壓)送至ADμC812的P1.0、P1.1管腳進行內(nèi)部A/D轉換器采樣得到相應的數(shù)據(jù),最后通過芯片內(nèi)部處理由LED串行顯示模塊將具體值顯示出來并發(fā)送給上位機。
其中串行通信(RS-232)既可以保證上位機與ADμC812主芯片之間數(shù)據(jù)通信的順利進行,又可以作為ADμC812芯片的下載工具的數(shù)據(jù)線,這為程序的在線調(diào)試提供了便利。
由于設計中主要用到了A/D、串行通信等模塊,所以采用ADμC812作為主控制芯片,它主要擔負以下3種功能:
(1)采樣各通道的模擬量并進行相關運算。(2)實時數(shù)據(jù)LED顯示。(3)檢測通信口狀態(tài),接到通信 握手信號時與計算機進行通信。
2 ADμC812的主要性能特點
由美國模擬器件公司推出的ADμC812單片機,其內(nèi)部包含了高精度的8通道12位模數(shù)轉換器(ADC),2通道12位數(shù)模轉換器(DAC)以及可編程的8位(與8051單片機兼容)微控制器單元(MCU)。另外,片內(nèi)有8KB閃速/電擦除程序存儲器、640單元閃速/電擦除數(shù)據(jù)存儲器、256個單元數(shù)據(jù)SRAM(支持可編程)。
MCU支持的功能包括看門狗定時器、電源監(jiān)視器以及ADC DMA功能。為多處理器接口和I/O擴展提供了32條可編程的I/O線、與I2C兼容的串行接口、SPI串行接口和標準UART串行接口I/O。
MCU內(nèi)核和模擬轉換器兩者均有正常、空閑以及掉電工作模式,它提供了適合于低功率應用的、靈活的電源管理方案。器件包括在工業(yè)溫度范圍內(nèi)用3V和5V電壓工作的兩種規(guī)格,有52引腳、塑料四方形扁平封裝形式(POTP)可供使用。
3 系統(tǒng)硬件電路設計
硬件設計的模塊大致可以分為溫度信號傳感,信號的處理,采樣保持,LED實時顯示,單片機采樣控制及與計算機之間的通信等。
溫度檢測電路是整個系統(tǒng)最基本的一個模塊,它主要檢測所測環(huán)境的溫度和為后續(xù)電路提供處理信號。通過溫度傳感器鉑電阻,將溫度變化信號轉變成相應電壓變化。該電壓值大小在一定的溫度范圍內(nèi)隨溫度變化的函數(shù)關系近似為線性,它的變化幅度大約為0.388Ω/℃。
為了提高整個系統(tǒng)的性能和可靠性,把ADμC812的數(shù)字地接在一起、模擬地接在一起,然后共地,以此減小外界的干擾信號對芯片正常工作的影響。用MAX813L作為主芯片的復位之用,更好的保證系統(tǒng)穩(wěn)定運行。圖2所示的電路可以保證ADμC812在上電時正常復位,掉電時正常關閉,在非完全掉電和電源低落時也能給出正常、合適的響應。
ADμC812的UART串行接口是全雙工的,它可以同時發(fā)送和接收數(shù)據(jù)。串行網(wǎng)絡的物理接口由引腳RxD(P3.0)和TxD(P3.1)提供。圖3是利用這兩個引腳設計的RS-232接口電路,可實現(xiàn)上位機與ADμC812的串行通信。
RxD和TxD通過RS-232收發(fā)器(ADM202芯片)連接到9線D型連接器上;收發(fā)器能夠產(chǎn)生串行接口通信所需電平,從而允許D型連接器直接與上位機串行接口相連。由于此電路中所采用的收發(fā)器是ADM202芯片,它內(nèi)部沒有集成ESD保護電路,所以需要外接0.1μF的電容構成外部保護電路。
4 系統(tǒng)軟件設計
在系統(tǒng)軟件設計中,主要分為兩部分:一是ADμC812的單片機程序,主要承擔終端的信號采集處理,把有關數(shù)據(jù)傳送至計算機,以實現(xiàn)計算機信息集中處理與控制;二是計算機上的上位機程序,以實現(xiàn)有效的協(xié)調(diào)、管理和控制各終端運行(如圖4所示)。
本系統(tǒng)中,計算機和ADμC812模塊之間的通信距離比較近,所以采用RS-232標準的串行數(shù)據(jù)通信協(xié)議??紤]到終端選擇的同比性,這里主要研究了兩路信號采集工作,即選擇了兩路終端。
(1)主程序框圖
開機初始化(堆棧指針設置,A/D采樣控制寄存器設置初始化,數(shù)據(jù)實時顯示清零等),ADμC812等待上位機發(fā)送啟動采集數(shù)據(jù)的命令和選擇終端采集通道,一旦握手信號建立,系統(tǒng)便開始進入預定狀態(tài),采集外界信號;若握手不成功則通過串行口通知計算機發(fā)送命令失敗。主程序的流程圖如圖5所示。
(2)上位機軟件設計
使用高級語言Delphi7通過調(diào)用API函數(shù)與單片機ADμC812通信。由于沒有使用硬件握手聯(lián)機,所以在上位機里,每1s讀取一次串口緩沖區(qū)的數(shù)據(jù);在讀取數(shù)據(jù)前先發(fā)送命令給單片機,讓單片機開始數(shù)據(jù)采 樣,然后再發(fā)送讓單片機傳遞數(shù)據(jù)的命令,同時計算機便開始接收,這樣實現(xiàn)了兩者之間的同步。上位機程序的流程圖如圖6所示。
?
5 測試結果
根據(jù)測試得到的部分實驗數(shù)據(jù)如下:實驗數(shù)據(jù)驗證說明,本系統(tǒng)的設計不管在單、雙通道采樣控制,還是在實時處理顯示精度上,都取得了理想的效果。
參考文獻
[1]劉書名,馮小平.數(shù)據(jù)采集系統(tǒng)芯片ADμC812原理與應用[M].西安:西安電子科技大學出版社,2000.
[2]沈緒榜,何立民.2001嵌入式系統(tǒng)及單片機國際學術交流會論文集[C].北京:航空航天大學出版社,2002.
[3]李剛.ADμC8XX系列單片機原理與應用技術[M].北京:北京航空航天大學出版社,2002