《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 微波|射頻 > 設(shè)計應(yīng)用 > FPGA在智能壓力傳感器系統(tǒng)中的應(yīng)用設(shè)計
FPGA在智能壓力傳感器系統(tǒng)中的應(yīng)用設(shè)計
——
摘要: 在系統(tǒng)的設(shè)計過程中,充分利用FPGA構(gòu)建系統(tǒng)靈活,軟、硬件開發(fā)相結(jié)合的特點,在滿足系統(tǒng)性能的基礎(chǔ)上,合理分配軟硬件功能,簡化系統(tǒng)設(shè)計。FPGA把過去由分立芯片實現(xiàn)的系統(tǒng)放在單個芯片中,這種單片系統(tǒng)的設(shè)計,大大提高了系統(tǒng)的穩(wěn)定性和可靠性,同時提高了系統(tǒng)抗工業(yè)現(xiàn)場干擾的能力。
關(guān)鍵詞: 傳感器 FPGA 壓力傳感器 抗干擾
Abstract:
Key words :

引 言

  傳統(tǒng)氣體壓力測量儀器的傳感器部分與數(shù)據(jù)采集系統(tǒng)是分離的,抗干擾的能力較差,并且通常被測對象的壓力變化較快。因此不僅要求系統(tǒng)具有較快的數(shù)據(jù)吞吐速率,而且要能夠適應(yīng)復(fù)雜多變的工業(yè)環(huán)境,具有較好抗干擾性能、自我檢測和數(shù)據(jù)傳輸?shù)墓δ堋?/p>

  在此,利用FPGA具有擴展靈活,可實現(xiàn)片上系統(tǒng)(SoC),同時具有多種IP核可供使用等優(yōu)點,設(shè)計了能夠控制多路模擬開關(guān)、A/D轉(zhuǎn)換、快速數(shù)據(jù)處理與傳輸、誤差校正、溫度補償?shù)闹悄軅鞲衅飨到y(tǒng);同時將傳感器與數(shù)據(jù)采集處理控制系統(tǒng)集成在一起,使系統(tǒng)更加緊湊,提高了系統(tǒng)適應(yīng)工業(yè)現(xiàn)場的能力。

1 系統(tǒng)性能及元器件

  1.1 智能傳感器系統(tǒng)性能要求

  傳感器壓力測量范圍:0~5 MPa;系統(tǒng)精度:±0.1%FS;1通道模擬電壓輸入(壓力信號)大于250 sampies/通道/s;采用串行RS 232C接口輸出。

  1.2 系統(tǒng)主要元器件及性能

  根據(jù)系統(tǒng)的精度指標(biāo)的要求選擇器件:

  FPGA芯片 選用Altera的CycloneⅡEP2C5,其邏輯單元有4 608個LE,26個M4K RAM塊,142個用戶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轉(zhuǎn)換器 選擇內(nèi)含采樣保持器的12位A/D轉(zhuǎn)換器AD1674,其轉(zhuǎn)換時間為10 μs,0~10 V單極輸入或±5 V雙極輸入,可并行12位輸出。

  多路模擬開關(guān) 采用四選一多路模擬開關(guān)AD7502,其引腳設(shè)置為EN=1的使能信號;A1A0引腳為通道選擇信號。

  輸出電平轉(zhuǎn)換接口 系統(tǒng)使用MAX232芯片完成TTL和RS 232C電平的轉(zhuǎn)換。

2 系統(tǒng)誤差校正方法

  2.1 零點漂移和增益誤差的校正方法

  在智能儀表中,誤差模型的誤差校正公式為:

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

  誤差校正過程為:

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

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

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

  當(dāng)進行實際測量時S3閉合,利用計算出的誤差校正因子和誤差校正公式(1),即可求出校正后的輸出信號y。 function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w

  2.2 傳感器溫度補償方法

  對壓力傳感器來說,環(huán)境溫度對其測量結(jié)果有較大的影響,為了消除溫度引起的誤差,需要對傳感器的信號做溫度補償。通過測量傳感器的工作溫度實現(xiàn)傳感器溫度的補償。傳感器的溫度誤差校正模型為:

  式中:y為測量值;yc經(jīng)溫度補償后的測量值;△φ為傳感器的實際工作溫度與標(biāo)準(zhǔn)測量溫度之差;a0為校正溫度變化引起的傳感器標(biāo)度變化系數(shù),a1為校正溫度引起的傳感器零位漂移變化系數(shù),這兩個系數(shù)反映了傳感器的溫度特性。

  2.3 隨機誤差消除方法

     系統(tǒng)采用算術(shù)平均的數(shù)字濾波方法消除系統(tǒng)的隨機誤差,通過連續(xù)N個采樣值取其算術(shù)平均值,得數(shù)學(xué)表達(dá)式為:

 

  適合用于對具有隨機干擾信號的濾波。

3 系統(tǒng)硬件結(jié)構(gòu)設(shè)計

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

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

  3.1 SoC結(jié)構(gòu)的實現(xiàn)

  SoPC設(shè)計由CPU、存儲器接口、標(biāo)準(zhǔn)外設(shè)和用戶定制邏輯單元模塊等組件構(gòu)成。Altera的SoPCBuilder工具提供了大量IP核可供調(diào)用,可以很方便地在單片F(xiàn)PGA芯片上配置嵌入NoisⅡ處理器軟核、片上RAM和RS 232控制器、擴展片外存儲器、用戶定制邏輯單元,同時自動地為系統(tǒng)的每個外設(shè)分配地址、連接系統(tǒng)總線,確定設(shè)備優(yōu)先級,其內(nèi)部結(jié)構(gòu)如圖3所示。

  function ImgZoom(Id)//重新設(shè)置圖片大小 防止撐破表格 { var w = $(Id).width; var m = 650; if(w

  3.2 數(shù)據(jù)采集控制單元的實現(xiàn)

  數(shù)據(jù)采集系統(tǒng)(DAS)控制單元是整個系統(tǒng)的核心,其輸入端口及其功能:DAS_STS用于接收AD1674的STS狀態(tài)信號;DAS_IN(12位)用于接收AD1674并行12位轉(zhuǎn)換輸出;CLK,RST用作系統(tǒng)時鐘和RESET的信號。輸出端口DAS_RC接AD1674的R/C端,用以控制A/D轉(zhuǎn)換器的啟動和讀數(shù);DAS_A用作控制AD7502的A1A0通道選通信號;DAS_OUT(加通道的序號為16位)用作DAS控制單元的16位輸出數(shù)據(jù)。

  DAS控制單元的有限狀態(tài)機(FSM)有4個狀態(tài),分別為St0,St1,St2,St3。St0為選擇通道,啟動A/D轉(zhuǎn)換,進入St1狀態(tài);St1為等待轉(zhuǎn)換結(jié)束,若轉(zhuǎn)換結(jié)束,進入St2狀態(tài),否則保持在St1狀態(tài);St2為發(fā)出讀數(shù)據(jù)信號,進入St3狀態(tài);St3為輸出轉(zhuǎn)換數(shù)據(jù);選擇其他通道,返回St0狀態(tài)。DAS控制單元采用VHDL語言進行開發(fā),程序的部分代碼如下所示:

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

 

  3.3 智能傳感器系統(tǒng)軟件工作流程

  系統(tǒng)中誤差校正和溫度補償由系統(tǒng)軟件控制完成。系統(tǒng)軟件由SoPC Builder工具中的軟件開發(fā)工具(SDK)進行開發(fā)。系統(tǒng)軟件流程如圖5所示。

  系統(tǒng)上電初始化并啟動DAS控制單元,選通每個通道并消除每個通道的隨機誤差;然后根據(jù)校正過的0通道和1通道的數(shù)值,實時計算出誤差校正因子,依據(jù)誤差校正公式(1)實時校正零點漂移校準(zhǔn)和增益誤差,再根據(jù)測量得到傳感器的工作溫度,計算與標(biāo)準(zhǔn)溫度的差值,通過查表獲得傳感器溫度變化系數(shù),最后依據(jù)溫度補償公式(5)校正測量壓力數(shù)據(jù),并將數(shù)據(jù)輸出。

4 結(jié) 語

  在系統(tǒng)的設(shè)計過程中,充分利用FPGA構(gòu)建系統(tǒng)靈活,軟、硬件開發(fā)相結(jié)合的特點,在滿足系統(tǒng)性能的基礎(chǔ)上,合理分配軟硬件功能,簡化系統(tǒng)設(shè)計。FPGA把過去由分立芯片實現(xiàn)的系統(tǒng)放在單個芯片中,這種單片系統(tǒng)的設(shè)計,大大提高了系統(tǒng)的穩(wěn)定性和可靠性,同時提高了系統(tǒng)抗工業(yè)現(xiàn)場干擾的能力。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。