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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA在智能壓力傳感器系統(tǒng)中的應(yīng)用

          FPGA在智能壓力傳感器系統(tǒng)中的應(yīng)用

          作者: 時(shí)間:2009-09-24 來源:網(wǎng)絡(luò) 收藏
          0 引 言
          傳統(tǒng)氣體測(cè)量儀器的部分與數(shù)據(jù)采集是分離的,抗干擾的能力較差,并且通常被測(cè)對(duì)象的變化較快。因此不僅要求具有較快的數(shù)據(jù)吞吐速率,而且要能夠適應(yīng)復(fù)雜多變的工業(yè)環(huán)境,具有較好抗干擾性能、自我檢測(cè)和數(shù)據(jù)傳輸?shù)墓δ堋?br /> 在此,利用具有擴(kuò)展靈活,可實(shí)現(xiàn)片上(SoC),同時(shí)具有多種IP核可供使用等優(yōu)點(diǎn),設(shè)計(jì)了能夠控制多路模擬開關(guān)、A/D轉(zhuǎn)換、快速數(shù)據(jù)處理與傳輸、誤差校正、溫度補(bǔ)償?shù)?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/智能">智能系統(tǒng);同時(shí)將與數(shù)據(jù)采集處理控制系統(tǒng)集成在一起,使系統(tǒng)更加緊湊,提高了系統(tǒng)適應(yīng)工業(yè)現(xiàn)場(chǎng)的能力。

          1 系統(tǒng)性能及元器件
          1.1 傳感器系統(tǒng)性能要求
          傳感器測(cè)量范圍:0~5 MPa;系統(tǒng)精度:±0.1%FS;1通道模擬電壓輸入(壓力信號(hào))大于250 sampies/通道/s;采用串行RS 232C接口輸出。
          1.2 系統(tǒng)主要元器件及性能
          根據(jù)系統(tǒng)的精度指標(biāo)的要求選擇器件:
          芯片 選用Altera的CycloneⅡEP2C5,其邏輯單元有4 608個(gè)LE,26個(gè)M4K RAM塊,142個(gè)用戶I/O引腳。
          壓力傳感器 采用PDCR130W,壓力范圍0~7 MPa,工作電壓直流10~30 VDC,輸出0~10 V,精度±0.05%FS,使用溫度范圍-40~+125℃,溫度影響±0.015%FS/℃。
          溫度傳感器 采用高精度集成溫度傳感器LM335,其靈敏度為10 mV/K,精度為1℃,溫度范圍-40~+100℃。
          A/D 選擇內(nèi)含采樣保持器的12位A/DAD1674,其轉(zhuǎn)換時(shí)間為10 μs,0~10 V單極輸入或±5 V雙極輸入,可并行12位輸出。
          多路模擬開關(guān) 采用四選一多路模擬開關(guān)AD7502,其引腳設(shè)置為EN=1的使能信號(hào);A1A0引腳為通道選擇信號(hào)。
          輸出電平轉(zhuǎn)換接口 系統(tǒng)使用MAX232芯片完成TTL和RS 232C電平的轉(zhuǎn)換。

          本文引用地址:http://www.ex-cimer.com/article/152333.htm

          2 系統(tǒng)誤差校正方法
          2.1 零點(diǎn)漂移和增益誤差的校正方法
          儀表中,誤差模型的誤差校正公式為:


          式中:b1和b0為誤差校正因子。誤差校正電路模型如圖1所示,其中x為被測(cè)信號(hào);y為系統(tǒng)輸出;ε,k,i為影響系統(tǒng)的未知量。

          誤差校正過程為:
          當(dāng)S1閉合時(shí),x=0,依據(jù)誤差校正公式得到式(2),用于系統(tǒng)零點(diǎn)校準(zhǔn);


          當(dāng)S2閉合時(shí),x=E(標(biāo)準(zhǔn)電壓),得到公式(3),用于系統(tǒng)增益誤差校正;


          聯(lián)立式(2)、式(3)可得誤差校正因子:


          當(dāng)進(jìn)行實(shí)際測(cè)量時(shí)S3閉合,利用計(jì)算出的誤差校正因子和誤差校正公式(1),即可求出校正后的輸出信號(hào)y。
          2.2 傳感器溫度補(bǔ)償方法
          對(duì)壓力傳感器來說,環(huán)境溫度對(duì)其測(cè)量結(jié)果有較大的影響,為了消除溫度引起的誤差,需要對(duì)傳感器的信號(hào)做溫度補(bǔ)償。通過測(cè)量傳感器的工作溫度實(shí)現(xiàn)傳感器溫度的補(bǔ)償。傳感器的溫度誤差校正模型為:


          式中:y為測(cè)量值;yc經(jīng)溫度補(bǔ)償后的測(cè)量值;△φ為傳感器的實(shí)際工作溫度與標(biāo)準(zhǔn)測(cè)量溫度之差;a0為校正溫度變化引起的傳感器標(biāo)度變化系數(shù),a1為校正溫度引起的傳感器零位漂移變化系數(shù),這兩個(gè)系數(shù)反映了傳感器的溫度特性。
          2.3 隨機(jī)誤差消除方法
          系統(tǒng)采用算術(shù)平均的數(shù)字濾波方法消除系統(tǒng)的隨機(jī)誤差,通過連續(xù)N個(gè)采樣值取其算術(shù)平均值,得數(shù)學(xué)表達(dá)式為:


          適合用于對(duì)具有隨機(jī)干擾信號(hào)的濾波。


          3 系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)
          依據(jù)系統(tǒng)的誤差校正和溫度補(bǔ)償方法,可得系統(tǒng)的硬件連接結(jié)構(gòu)如圖2所示。圖2中模擬多路開關(guān)AD7502的4個(gè)輸入通道分別為:A1A0=00,選通S0,S0通道接地,用于零點(diǎn)漂移校準(zhǔn);A1A0=01,選通S1,S1通道接+5 V(為AD1674最大輸入電壓的50%),用于增益誤差校正;A1A0=10,選通S2,S2通道接溫度測(cè)量信號(hào),用于傳感器的溫度補(bǔ)償;A1A0=11,選通S3,S3通道連接壓力測(cè)量信號(hào)。通道選通信號(hào)A0,A1由芯片中的DAS_A0和DAS_A1引腳控制。

          系統(tǒng)中A/DAD1674采用獨(dú)立工作模式,其控制引腳設(shè)置為:CE和12/8接高電平;CS和A0接低電平。此時(shí),AD1674設(shè)置為12位A/D轉(zhuǎn)換,12位數(shù)據(jù)輸出,其轉(zhuǎn)換完全由R/C控制,如圖2所示。當(dāng)R/C=O時(shí),啟動(dòng)12位A/D轉(zhuǎn)換;當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),狀態(tài)信號(hào)STS=0,否則STS=1;當(dāng)R/C=1時(shí),讀取12位A/D轉(zhuǎn)換數(shù)據(jù)。R/C信號(hào)由FPGA芯片的DAS_RC控制。整個(gè)系統(tǒng)由基于FPGA的片上系統(tǒng)(SoC)控制。其中,F(xiàn)PGA芯片中的DAS_STS,DAS_RC,DAS_IN,DAS_A引腳為用戶定制邏輯,即DAS控制單元的外部接口,用于控制AD1674的工作時(shí)序轉(zhuǎn)換和AD7502的通道選擇。

          p2p機(jī)相關(guān)文章:p2p原理



          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(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); })();