FPGA在智能壓力傳感器系統中的應用設計
引 言
本文引用地址:http://dyxdggzs.com/article/272128.htm傳統氣體壓力測量?jì)x器的傳感器部分與數據采集系統是分離的,抗干擾的能力較差,并且通常被測對象的壓力變化較快。因此不僅要求系統具有較快的數據吞吐速率,而且要能夠適應復雜多變的工業(yè)環(huán)境,具有較好抗干擾性能、自我檢測和數據傳輸的功能。
在此,利用FPGA具有擴展靈活,可實(shí)現片上系統(SoC),同時(shí)具有多種IP核可供使用等優(yōu)點(diǎn),設計了能夠控制多路模擬開(kāi)關(guān)、A/D轉換、快速數據處理與傳輸、誤差校正、溫度補償的智能傳感器系統;同時(shí)將傳感器與數據采集處理控制系統集成在一起,使系統更加緊湊,提高了系統適應工業(yè)現場(chǎng)的能力。
1 系統性能及元器件
1.1 智能傳感器系統性能要求
傳感器壓力測量范圍:0~5 MPa;系統精度:±0.1%FS;1通道模擬電壓輸入(壓力信號)大于250 sampies/通道/s;采用串行RS 232C接口輸出。
1.2 系統主要元器件及性能
根據系統的精度指標的要求選擇器件:
FPGA芯片 選用Altera的CycloneⅡEP2C5,其邏輯單元有4 608個(gè)LE,26個(gè)M4K RAM塊,142個(gè)用戶(hù)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轉換器 選擇內含采樣保持器的12位A/D轉換器AD1674,其轉換時(shí)間為10 μs,0~10 V單極輸入或±5 V雙極輸入,可并行12位輸出。
多路模擬開(kāi)關(guān) 采用四選一多路模擬開(kāi)關(guān)AD7502,其引腳設置為EN=1的使能信號;A1A0引腳為通道選擇信號。
輸出電平轉換接口 系統使用MAX232芯片完成TTL和RS 232C電平的轉換。
2 系統誤差校正方法
2.1 零點(diǎn)漂移和增益誤差的校正方法
在智能儀表中,誤差模型的誤差校正公式為:

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

誤差校正過(guò)程為:
當S1閉合時(shí),x=0,依據誤差校正公式得到式(2),用于系統零點(diǎn)校準;

當S2閉合時(shí),x=E(標準電壓),得到公式(3),用于系統增益誤差校正;

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

當進(jìn)行實(shí)際測量時(shí)S3閉合,利用計算出的誤差校正因子和誤差校正公式(1),即可求出校正后的輸出信號y。 function ImgZoom(Id)//重新設置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
2.2 傳感器溫度補償方法
對壓力傳感器來(lái)說(shuō),環(huán)境溫度對其測量結果有較大的影響,為了消除溫度引起的誤差,需要對傳感器的信號做溫度補償。通過(guò)測量傳感器的工作溫度實(shí)現傳感器溫度的補償。傳感器的溫度誤差校正模型為:

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

適合用于對具有隨機干擾信號的濾波。
3 系統硬件結構設計
依據系統的誤差校正和溫度補償方法,可得系統的硬件連接結構如圖2所示。圖2中模擬多路開(kāi)關(guān)AD7502的4個(gè)輸入通道分別為:A1A0=00,選通S0,S0通道接地,用于零點(diǎn)漂移校準;A1A0=01,選通S1,S1通道接+5 V(為AD1674最大輸入電壓的50%),用于增益誤差校正;A1A0=10,選通S2,S2通道接溫度測量信號,用于傳感器的溫度補償;A1A0=11,選通S3,S3通道連接壓力測量信號。通道選通信號A0,A1由FPGA芯片中的DAS_A0和DAS_A1引腳控制。

系統中A/D轉換器AD1674采用獨立工作模式,其控制引腳設置為:CE和12/8接高電平;CS和A0接低電平。此時(shí),AD1674設置為12位A/D轉換,12位數據輸出,其轉換完全由R/C控制,如圖2所示。當R/C=O時(shí),啟動(dòng)12位A/D轉換;當A/D轉換結束時(shí),狀態(tài)信號STS=0,否則STS=1;當R/C=1時(shí),讀取12位A/D轉換數據。R/C信號由FPGA芯片的DAS_RC控制。整個(gè)系統由基于FPGA的片上系統(SoC)控制。其中,FPGA芯片中的DAS_STS,DAS_RC,DAS_IN,DAS_A引腳為用戶(hù)定制邏輯,即DAS控制單元的外部接口,用于控制AD1674的工作時(shí)序轉換和AD7502的通道選擇。
3.1 SoC結構的實(shí)現
SoPC設計由CPU、存儲器接口、標準外設和用戶(hù)定制邏輯單元模塊等組件構成。Altera的SoPCBuilder工具提供了大量IP核可供調用,可以很方便地在單片FPGA芯片上配置嵌入NoisⅡ處理器軟核、片上RAM和RS 232控制器、擴展片外存儲器、用戶(hù)定制邏輯單元,同時(shí)自動(dòng)地為系統的每個(gè)外設分配地址、連接系統總線(xiàn),確定設備優(yōu)先級,其內部結構如圖3所示。

function ImgZoom(Id)//重新設置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w
3.2 數據采集控制單元的實(shí)現
數據采集系統(DAS)控制單元是整個(gè)系統的核心,其輸入端口及其功能:DAS_STS用于接收AD1674的STS狀態(tài)信號;DAS_IN(12位)用于接收AD1674并行12位轉換輸出;CLK,RST用作系統時(shí)鐘和RESET的信號。輸出端口DAS_RC接AD1674的R/C端,用以控制A/D轉換器的啟動(dòng)和讀數;DAS_A用作控制AD7502的A1A0通道選通信號;DAS_OUT(加通道的序號為16位)用作DAS控制單元的16位輸出數據。
DAS控制單元的有限狀態(tài)機(FSM)有4個(gè)狀態(tài),分別為St0,St1,St2,St3。St0為選擇通道,啟動(dòng)A/D轉換,進(jìn)入St1狀態(tài);St1為等待轉換結束,若轉換結束,進(jìn)入St2狀態(tài),否則保持在St1狀態(tài);St2為發(fā)出讀數據信號,進(jìn)入St3狀態(tài);St3為輸出轉換數據;選擇其他通道,返回St0狀態(tài)。DAS控制單元采用VHDL語(yǔ)言進(jìn)行開(kāi)發(fā),程序的部分代碼如下所示:

DAS控制單元的仿真如圖4所示。圖中顯示控制單元運行正確。

3.3 智能傳感器系統軟件工作流程
系統中誤差校正和溫度補償由系統軟件控制完成。系統軟件由SoPC Builder工具中的軟件開(kāi)發(fā)工具(SDK)進(jìn)行開(kāi)發(fā)。系統軟件流程如圖5所示。

系統上電初始化并啟動(dòng)DAS控制單元,選通每個(gè)通道并消除每個(gè)通道的隨機誤差;然后根據校正過(guò)的0通道和1通道的數值,實(shí)時(shí)計算出誤差校正因子,依據誤差校正公式(1)實(shí)時(shí)校正零點(diǎn)漂移校準和增益誤差,再根據測量得到傳感器的工作溫度,計算與標準溫度的差值,通過(guò)查表獲得傳感器溫度變化系數,最后依據溫度補償公式(5)校正測量壓力數據,并將數據輸出。
4 結 語(yǔ)
在系統的設計過(guò)程中,充分利用FPGA構建系統靈活,軟、硬件開(kāi)發(fā)相結合的特點(diǎn),在滿(mǎn)足系統性能的基礎上,合理分配軟硬件功能,簡(jiǎn)化系統設計。FPGA把過(guò)去由分立芯片實(shí)現的系統放在單個(gè)芯片中,這種單片系統的設計,大大提高了系統的穩定性和可靠性,同時(shí)提高了系統抗工業(yè)現場(chǎng)干擾的能力。
fpga相關(guān)文章:fpga是什么
傳感器相關(guān)文章:傳感器工作原理
風(fēng)速傳感器相關(guān)文章:風(fēng)速傳感器原理 電容傳感器相關(guān)文章:電容傳感器原理 溫濕度控制器相關(guān)文章:溫濕度控制器原理
評論