FPGA在智能壓力傳感器系統(tǒng)中的應(yīng)用
SoPC設(shè)計(jì)由CPU、存儲(chǔ)器接口、標(biāo)準(zhǔn)外設(shè)和用戶定制邏輯單元模塊等組件構(gòu)成。Altera的SoPCBuilder工具提供了大量IP核可供調(diào)用,可以很方便地在單片FPGA芯片上配置嵌入NoisⅡ處理器軟核、片上RAM和RS 232控制器、擴(kuò)展片外存儲(chǔ)器、用戶定制邏輯單元,同時(shí)自動(dòng)地為系統(tǒng)的每個(gè)外設(shè)分配地址、連接系統(tǒng)總線,確定設(shè)備優(yōu)先級(jí),其內(nèi)部結(jié)構(gòu)如圖3所示。本文引用地址:http://m.butianyuan.cn/article/152333.htm
3.2 數(shù)據(jù)采集控制單元的實(shí)現(xiàn)
數(shù)據(jù)采集系統(tǒng)(DAS)控制單元是整個(gè)系統(tǒng)的核心,其輸入端口及其功能:DAS_STS用于接收AD1674的STS狀態(tài)信號(hào);DAS_IN(12位)用于接收AD1674并行12位轉(zhuǎn)換輸出;CLK,RST用作系統(tǒng)時(shí)鐘和RESET的信號(hào)。輸出端口DAS_RC接AD1674的R/C端,用以控制A/D轉(zhuǎn)換器的啟動(dòng)和讀數(shù);DAS_A用作控制AD7502的A1A0通道選通信號(hào);DAS_OUT(加通道的序號(hào)為16位)用作DAS控制單元的16位輸出數(shù)據(jù)。
DAS控制單元的有限狀態(tài)機(jī)(FSM)有4個(gè)狀態(tài),分別為St0,St1,St2,St3。St0為選擇通道,啟動(dòng)A/D轉(zhuǎn)換,進(jìn)入St1狀態(tài);St1為等待轉(zhuǎn)換結(jié)束,若轉(zhuǎn)換結(jié)束,進(jìn)入St2狀態(tài),否則保持在St1狀態(tài);St2為發(fā)出讀數(shù)據(jù)信號(hào),進(jìn)入St3狀態(tài);St3為輸出轉(zhuǎn)換數(shù)據(jù);選擇其他通道,返回St0狀態(tài)。DAS控制單元采用VHDL語(yǔ)言進(jìn)行開(kāi)發(fā),程序的部分代碼如下所示:
DAS控制單元的仿真如圖4所示。圖中顯示控制單元運(yùn)行正確。
3.3 智能傳感器系統(tǒng)軟件工作流程
系統(tǒng)中誤差校正和溫度補(bǔ)償由系統(tǒng)軟件控制完成。系統(tǒng)軟件由SoPC Builder工具中的軟件開(kāi)發(fā)工具(SDK)進(jìn)行開(kāi)發(fā)。系統(tǒng)軟件流程如圖5所示。
系統(tǒng)上電初始化并啟動(dòng)DAS控制單元,選通每個(gè)通道并消除每個(gè)通道的隨機(jī)誤差;然后根據(jù)校正過(guò)的0通道和1通道的數(shù)值,實(shí)時(shí)計(jì)算出誤差校正因子,依據(jù)誤差校正公式(1)實(shí)時(shí)校正零點(diǎn)漂移校準(zhǔn)和增益誤差,再根據(jù)測(cè)量得到傳感器的工作溫度,計(jì)算與標(biāo)準(zhǔn)溫度的差值,通過(guò)查表獲得傳感器溫度變化系數(shù),最后依據(jù)溫度補(bǔ)償公式(5)校正測(cè)量壓力數(shù)據(jù),并將數(shù)據(jù)輸出。
4 結(jié) 語(yǔ)
在系統(tǒng)的設(shè)計(jì)過(guò)程中,充分利用FPGA構(gòu)建系統(tǒng)靈活,軟、硬件開(kāi)發(fā)相結(jié)合的特點(diǎn),在滿足系統(tǒng)性能的基礎(chǔ)上,合理分配軟硬件功能,簡(jiǎn)化系統(tǒng)設(shè)計(jì)。FPGA把過(guò)去由分立芯片實(shí)現(xiàn)的系統(tǒng)放在單個(gè)芯片中,這種單片系統(tǒng)的設(shè)計(jì),大大提高了系統(tǒng)的穩(wěn)定性和可靠性,同時(shí)提高了系統(tǒng)抗工業(yè)現(xiàn)場(chǎng)干擾的能力。
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論