新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SOC的高精度紅外測溫系統設計

        基于SOC的高精度紅外測溫系統設計

        作者: 時間:2009-12-18 來源:網絡 收藏

        在本中采用第二種濾波電路,因為集成運放的開環電壓增益和輸入阻抗均很高,輸出阻抗又低,所以有源濾波電路有一定的電壓放大和緩沖作用,濾波效果好,提高了傳感器信號的準確度。

        2.3 AD轉換電路

        TLC2543是 12位開關電容逐次逼近模數轉換器。其設置方法如下:DATA INPUT端串行輸入的 8位數據,它規定了 TLC2543要轉換的模擬量通道、轉換后的輸出數據長度、輸出數據的格式。其中高4位(D7~ D4)決定通道號。對于0通道至l0通道,該4位分別為 0000~IOIOH,當為 1011~1101時,用于對 TLC2543的自檢,當為 1110時 ,TLC2543進入休眠狀態。低 4位決定輸出數據長度及格式。其中 D3、D2決定輸出數據長度,0l表示輸出數據長度為 8位 ,11表示輸出數據長度為 16位 ,其他為 12位 。D1決定輸出數據是高位先送出 ,還是低位先送出,為 0表示高位先送出 。D0決定輸出數據是單極性(二 進 制 )還是雙極性(2的補碼),若為單極性,該位為0,反之為1。當片選 cs從高到低的時候,開始一次工作周期,此時 EOC為高,輸入數據寄存器被置為 0,輸出數據寄存器的內容是隨機的。開始時,片選 CS為高,I/OCLOCK、DATAINPUT被禁止,DATAOU呈高阻狀態 ,EOC為高。使變低,I/OCLOCK、DATAINPUT使能,DATAOU脫離高阻狀態 。12個時鐘信號從 I/OCLOCK端依次加入,隨著時鐘信號的加入,控制字從 DATAINPUT一位一位地在時鐘信號的上升沿時被送入TLC2543(高位先送入),同時上一周期轉換的A/D數據,即輸出數據寄存器中的數據從 DATAOUT一位一位地移出。TLC2543收到第 4個時鐘信號后,通道號也已收到,此時TLC2543開始對選定通道的模擬量進行采樣,并保持到第 12個時鐘的下降沿。在第 12個時鐘下降沿,EOC變低,開始對本次采樣的模擬量進行A/D轉換,轉換時間約需lOt1s,轉換完成后 EOC變高,轉換的數據在輸出數據寄存器中,待下一個工作周期輸出。該芯片與微處理器接口的時候只需占用四個 IO口,其 12個時鐘的工作時序看參考相關手冊。

        2.4 級微處理器特性本所采用的是 級 STC系列單片機,指令代碼完全兼容傳統 51單片機,工作頻率可達48HZ,本中使用的微處理器為 6時鐘周期,故其工作頻率相當于普通 51單片機的96MHZ,為本提供了速度保證。另外,本選用的 STC89C58RD含有 32K的程序存儲區,并在內部擴展了 32K的數據 FLASH存儲器,從而使本設計能方便的擴展相關功能,如參數的記憶功能等。該微處理器還支持 IAP與ISP,不需專用的編程器,通過普通串口即可調試程序。抗干擾也是選用該單片機的理由之一,本設計主要應用于對工業設備進行溫度監控,故抗干擾十分重要。

        3.軟件設計

        線溫度檢測系統的軟件設計主要有如下幾個主要模塊:初始化模塊pI/O口查詢模塊pAD轉化模塊p數據處理模塊p數據糾正模塊p顯示驅動模塊等。另外還一個中斷程序處理模塊:0外部中斷,主要用于參數設定。

        軟件設計流程如圖 3所示。

        整個程序采用 c51編寫,初始化模塊主要是初始化各路報警信號,將發射率等參數設定成默認的值并顯示。主程序不斷通過 I/O口查詢模塊掃描 AD轉換模塊送過來的 12位數字信號,本程序中采用的是 SPI總線的通信方式,串行的接口方式節約了大量 IO口。接受過來的數字信號通過數據處理模塊處理之后按查表的方式得出溫度值,把該溫度值經過數據糾正模塊糾正后送顯示模塊顯示,并將數據傳給上位機界面進行顯示,從而完成了一路溫度測量。在程序的運行過程中,隨時可以對發射率,報警值等參數進行設定。當功能鍵按下的時候觸發單片機的 0外部中斷,在中斷程序中對參數設定按鍵進行掃描,并將結果存儲起來。每路結束后系統通過 RS485將溫度值傳送給上位機,在 VB界面上顯示。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新建县| 上杭县| 津南区| 闽侯县| 焦作市| 孟连| 贵阳市| 常熟市| 德江县| 丰宁| 连平县| 南雄市| 娱乐| 三都| 乳源| 绵阳市| 嘉鱼县| 望江县| 和平县| 安达市| 同江市| 麻阳| 金昌市| 镇原县| 黄平县| 桦川县| 凤城市| 磐安县| 弥渡县| 承德市| 怀化市| 岳普湖县| 玉田县| 小金县| 磴口县| 青田县| 永安市| 新野县| 汉寿县| 尤溪县| 泗洪县|