基于SOC的高精度紅外測溫系統(tǒng)設(shè)計
在本設(shè)計中采用第二種濾波電路,因為集成運放的開環(huán)電壓增益和輸入阻抗均很高,輸出阻抗又低,所以有源濾波電路有一定的電壓放大和緩沖作用,濾波效果好,提高了傳感器信號的準(zhǔn)確度。
2.3 AD轉(zhuǎn)換電路
TLC2543是 12位開關(guān)電容逐次逼近模數(shù)轉(zhuǎn)換器。其設(shè)置方法如下:DATA INPUT端串行輸入的 8位數(shù)據(jù),它規(guī)定了 TLC2543要轉(zhuǎn)換的模擬量通道、轉(zhuǎn)換后的輸出數(shù)據(jù)長度、輸出數(shù)據(jù)的格式。其中高4位(D7~ D4)決定通道號。對于0通道至l0通道,該4位分別為 0000~I(xiàn)OIOH,當(dāng)為 1011~1101時,用于對 TLC2543的自檢,當(dāng)為 1110時 ,TLC2543進入休眠狀態(tài)。低 4位決定輸出數(shù)據(jù)長度及格式。其中 D3、D2決定輸出數(shù)據(jù)長度,0l表示輸出數(shù)據(jù)長度為 8位 ,11表示輸出數(shù)據(jù)長度為 16位 ,其他為 12位 。D1決定輸出數(shù)據(jù)是高位先送出 ,還是低位先送出,為 0表示高位先送出 。D0決定輸出數(shù)據(jù)是單極性(二 進 制 )還是雙極性(2的補碼),若為單極性,該位為0,反之為1。當(dāng)片選 cs從高到低的時候,開始一次工作周期,此時 EOC為高,輸入數(shù)據(jù)寄存器被置為 0,輸出數(shù)據(jù)寄存器的內(nèi)容是隨機的。開始時,片選 CS為高,I/OCLOCK、DATAINPUT被禁止,DATAOU呈高阻狀態(tài) ,EOC為高。使變低,I/OCLOCK、DATAINPUT使能,DATAOU脫離高阻狀態(tài) 。12個時鐘信號從 I/OCLOCK端依次加入,隨著時鐘信號的加入,控制字從 DATAINPUT一位一位地在時鐘信號的上升沿時被送入TLC2543(高位先送入),同時上一周期轉(zhuǎn)換的A/D數(shù)據(jù),即輸出數(shù)據(jù)寄存器中的數(shù)據(jù)從 DATAOUT一位一位地移出。TLC2543收到第 4個時鐘信號后,通道號也已收到,此時TLC2543開始對選定通道的模擬量進行采樣,并保持到第 12個時鐘的下降沿。在第 12個時鐘下降沿,EOC變低,開始對本次采樣的模擬量進行A/D轉(zhuǎn)換,轉(zhuǎn)換時間約需lOt1s,轉(zhuǎn)換完成后 EOC變高,轉(zhuǎn)換的數(shù)據(jù)在輸出數(shù)據(jù)寄存器中,待下一個工作周期輸出。該芯片與微處理器接口的時候只需占用四個 IO口,其 12個時鐘的工作時序看參考相關(guān)手冊。
2.4 SOC級微處理器特性本系統(tǒng)所采用的是 SOC級 STC系列單片機,指令代碼完全兼容傳統(tǒng) 51單片機,工作頻率可達(dá)48HZ,本設(shè)計中使用的微處理器為 6時鐘周期,故其工作頻率相當(dāng)于普通 51單片機的96MHZ,為本系統(tǒng)提供了速度保證。另外,本設(shè)計選用的 STC89C58RD含有 32K的程序存儲區(qū),并在內(nèi)部擴展了 32K的數(shù)據(jù) FLASH存儲器,從而使本設(shè)計能方便的擴展相關(guān)功能,如參數(shù)的記憶功能等。該微處理器還支持 IAP與ISP,不需專用的編程器,通過普通串口即可調(diào)試程序。抗干擾也是選用該單片機的理由之一,本設(shè)計主要應(yīng)用于對工業(yè)設(shè)備進行溫度監(jiān)控,故抗干擾十分重要。
3.系統(tǒng)軟件設(shè)計
紅外線溫度檢測系統(tǒng)的軟件設(shè)計主要有如下幾個主要模塊:初始化模塊pI/O口查詢模塊pAD轉(zhuǎn)化模塊p數(shù)據(jù)處理模塊p數(shù)據(jù)糾正模塊p顯示驅(qū)動模塊等。另外還一個中斷程序處理模塊:0外部中斷,主要用于參數(shù)設(shè)定。
軟件設(shè)計流程如圖 3所示。
整個程序采用 c51編寫,初始化模塊主要是初始化各路報警信號,將發(fā)射率等參數(shù)設(shè)定成默認(rèn)的值并顯示。主程序不斷通過 I/O口查詢模塊掃描 AD轉(zhuǎn)換模塊送過來的 12位數(shù)字信號,本程序中采用的是 SPI總線的通信方式,串行的接口方式節(jié)約了大量 IO口。接受過來的數(shù)字信號通過數(shù)據(jù)處理模塊處理之后按查表的方式得出溫度值,把該溫度值經(jīng)過數(shù)據(jù)糾正模塊糾正后送顯示模塊顯示,并將數(shù)據(jù)傳給上位機界面進行顯示,從而完成了一路溫度測量。在程序的運行過程中,隨時可以對發(fā)射率,報警值等參數(shù)進行設(shè)定。當(dāng)功能鍵按下的時候觸發(fā)單片機的 0外部中斷,在中斷程序中對參數(shù)設(shè)定按鍵進行掃描,并將結(jié)果存儲起來。每路測溫結(jié)束后系統(tǒng)通過 RS485將溫度值傳送給上位機,在 VB界面上顯示。
評論