<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > SOC的高精度紅外測(cè)溫系統(tǒng)的設(shè)計(jì)原理歸總

          SOC的高精度紅外測(cè)溫系統(tǒng)的設(shè)計(jì)原理歸總

          作者: 時(shí)間:2012-07-09 來(lái)源:網(wǎng)絡(luò) 收藏

          2.3 AD轉(zhuǎn)換電路

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

          2.4 級(jí)微處理器特性本所采用的是 級(jí) STC系列單片機(jī),指令代碼完全兼容傳統(tǒng) 51單片機(jī),工作頻率可達(dá)48HZ,本設(shè)計(jì)中使用的微處理器為 6時(shí)鐘周期,故其工作頻率相當(dāng)于普通 51單片機(jī)的96MHZ,為本提供了速度保證。另外,本設(shè)計(jì)選用的 STC89C58RD含有 32K的程序存儲(chǔ)區(qū),并在內(nèi)部擴(kuò)展了 32K的數(shù)據(jù) FLASH存儲(chǔ)器,從而使本設(shè)計(jì)能方便的擴(kuò)展相關(guān)功能,如參數(shù)的記憶功能等。該微處理器還支持 IAP與ISP,不需專(zhuān)用的編程器,通過(guò)普通串口即可調(diào)試程序??垢蓴_也是選用該單片機(jī)的理由之一,本設(shè)計(jì)主要應(yīng)用于對(duì)工業(yè)設(shè)備進(jìn)行溫度監(jiān)控,故抗干擾十分重要。

          3.軟件設(shè)計(jì)

          紅外線溫度檢測(cè)系統(tǒng)的軟件設(shè)計(jì)主要有如下幾個(gè)主要模塊:初始化模塊pI/O口查詢(xún)模塊pAD轉(zhuǎn)化模塊p數(shù)據(jù)處理模塊p數(shù)據(jù)糾正模塊p顯示驅(qū)動(dòng)模塊等。另外還一個(gè)中斷程序處理模塊:0外部中斷,主要用于參數(shù)設(shè)定。

          軟件設(shè)計(jì)流程如圖 3所示。

          整個(gè)程序采用 c51編寫(xiě),初始化模塊主要是初始化各路報(bào)警信號(hào),將發(fā)射率等參數(shù)設(shè)定成默認(rèn)的值并顯示。主程序不斷通過(guò) I/O口查詢(xún)模塊掃描 AD轉(zhuǎn)換模塊送過(guò)來(lái)的 12位數(shù)字信號(hào),本程序中采用的是 SPI總線的通信方式,串行的接口方式節(jié)約了大量 IO口。接受過(guò)來(lái)的數(shù)字信號(hào)通過(guò)數(shù)據(jù)處理模塊處理之后按查表的方式得出溫度值,把該溫度值經(jīng)過(guò)數(shù)據(jù)糾正模塊糾正后送顯示模塊顯示,并將數(shù)據(jù)傳給上位機(jī)界面進(jìn)行顯示,從而完成了一路溫度測(cè)量。在程序的運(yùn)行過(guò)程中,隨時(shí)可以對(duì)發(fā)射率,報(bào)警值等參數(shù)進(jìn)行設(shè)定。當(dāng)功能鍵按下的時(shí)候觸發(fā)單片機(jī)的 0外部中斷,在中斷程序中對(duì)參數(shù)設(shè)定按鍵進(jìn)行掃描,并將結(jié)果存儲(chǔ)起來(lái)。每路測(cè)溫結(jié)束后系統(tǒng)通過(guò) RS485將溫度值傳送給上位機(jī),在 VB界面上顯示。

          對(duì)于一個(gè)測(cè)量系統(tǒng),其精度和準(zhǔn)確度是非常重要的。雖然本設(shè)計(jì)選用 12位AD,給本設(shè)計(jì)的奠定了基礎(chǔ),但是由于傳感器,AD等電子器件自身不可避免的誤差和外界的干擾,測(cè)量結(jié)果難免會(huì)有些偏差。因此和研究其他儀器儀表一樣,在本設(shè)計(jì)中,也進(jìn)行了大量實(shí)驗(yàn),通過(guò)對(duì)實(shí)驗(yàn)數(shù)據(jù)的處理,進(jìn)一步提高了準(zhǔn)確度。采用的主要方法是曲線擬合的最小二乘法?,F(xiàn)將其原理介紹如下:

          在函數(shù)的最佳平方逼近中,函數(shù) f(x)∈C[a,b],如果 f(x)只在一組離散點(diǎn)集{xi,i=0,1,…,m}上給定,那么我們就需要對(duì)實(shí)驗(yàn)數(shù)據(jù){(xi,yi),i=0,1,…,m}進(jìn)行曲線擬合,其中,yi= f(xi)。若要求函數(shù) y=S ((*)x)與所給數(shù)據(jù){(xi,yi),i=0,1,…,m}擬合,則誤差δi= S *(x)-yi。設(shè)Φ 1(x),Φ2(x),…, Φn(x)是C[a,b]上線性無(wú)關(guān)函數(shù)族,在Φ =span{Φ1(x),Φ2(x),…, Φ n(x)}中找一函數(shù)S ((*)x),使其誤差平方和最小即可。因?yàn)閷?shí)驗(yàn)數(shù)據(jù)量很大,故在實(shí)際運(yùn)算中,可以借助MATLAB等數(shù)學(xué)工具,通過(guò)調(diào)用或者編寫(xiě)相關(guān)函數(shù)來(lái)完成曲線擬合,最后選擇適當(dāng)?shù)慕Y(jié)果輸出。


          上一頁(yè) 1 2 下一頁(yè)

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();