如何采用FPGA實現傳感器非線性軟件校正
發布時間:2013-03-08 責任編輯:shyhuang
【導讀】現代測量係統中,傳感器的工作性能直接影響整個係統,本文采用ALTERA公司提供的SOPC技術,使用FPGA研究傳感器的非線性軟件校正的算法和實際算法的實現。
非線性軟件校正原理
一個受多個參量影響的傳感器係統可表示為y=f(x,t1,t2,…,tk),其中,x為待測目標參量,t1,t2,…,tk為k個非目標參量,y為wei傳chuan感gan器qi輸shu出chu。為wei了le消xiao除chu非fei目mu標biao參can量liang對dui傳chuan感gan器qi輸shu出chu的de影ying響xiang,一yi般ban采cai用yong逆ni向xiang建jian模mo的de方fang法fa。實shi際ji測ce量liang的de數shu據ju,由you於yu受shou非fei目mu標biao參can量liang的de影ying響xiang,它ta與yu目mu標biao參can量liang之zhi間jian的de函han數shu關guan係xi不bu再zai是shi線xian性xing的de。逆ni向xiang建jian模mo的de目mu的de是shi通tong過guo非fei線xian性xing映ying射she,把ba非fei線xian性xing函han數shu關guan係xix=f-1(y,t1,t2,…,tk)向線性函數關係x=y/A逼bi近jin。在zai模mo型xing中zhong,測ce量liang數shu據ju和he非fei目mu標biao參can量liang的de測ce量liang值zhi作zuo為wei輸shu入ru,目mu標biao參can量liang的de線xian性xing值zhi作zuo為wei模mo型xing的de輸shu出chu,按an照zhao一yi定ding的de算suan法fa原yuan則ze,不bu斷duan調tiao整zheng模mo型xing的de參can數shu,使shi得de模mo型xing輸shu出chu誤wu差cha在zai允yun許xu的de範fan圍wei之zhi內nei。
在本係統中,選用模擬溫度傳感器AD590作為校正目標,數字溫度傳感器DS18B20測量值作為模型的期望輸出,氣體傳感器TGS813測量值為非目標參量輸入。係統采用ALTERA公司CYCLONEⅡ係列的EP2C35F672 FPGA作為核心處理器,采用QUARTUS-Ⅱ自帶的SOPC Builder開發包作為算法的調試環境,在FPGA其內部實現測量數據的智能處理。
係統方案實現
傳感器調理電路
AD590是美國模擬器件公司生產的單片集成兩端感溫電流源,流過器件的電流(μA)等於器件所處環境的熱力學溫度(K)度數,AD590隨溫度變化輸出的是電流信號,需要將其轉換為電壓信號。由於AD590靈敏度高,受環境的影響大,在使用前需要校正。在本文中,利用神經網絡算法對AD590的輸出進行了校正。
DS18B20是Dallas半導體公司推出的一線式數字化溫度傳感器,可以程序設定9~12位的分辨力,精度為±0.5℃。本文采用外接電源模式,12 bit數據輸出格式。
TGS813是一種由SnO2材料組成的燒結體半導體氣體傳感器,屬於一種廣譜性氣敏元件,對多種氣體敏感,對不被檢測氣體不敏感;由於輸出電壓最高可以達到+9 V,而後級模擬數字轉換電路的輸入電壓不超過+5 V,所以,使用前需要調整分壓電阻器的阻值。
模擬數字轉換電路
來lai自zi傳chuan感gan器qi的de模mo擬ni信xin號hao,在zai送song入ru模mo擬ni數shu字zi轉zhuan換huan電dian路lu之zhi前qian,由you於yu器qi件jian的de輸shu入ru阻zu抗kang比bi較jiao低di,而er傳chuan感gan器qi的de輸shu出chu阻zu抗kang較jiao高gao,不bu能neng直zhi接jie把ba模mo擬ni信xin號hao送song入ru模mo擬ni數shu字zi轉zhuan換huan電dian路lu。本ben文wen采cai用yongTLC279構成電壓跟隨器,實現阻抗變換。考慮到在FPGA實現的算法處理對數據的精度敏感,因此,係統選用了四路模擬量輸入的12 bit串行數據輸出的TLV2544作為模擬數字轉換電路的核心芯片。
TLV2544是TI公司生產的高性能12位低功耗、高速(3.6μs)CMOS模數轉換器,具有采樣一保持功能,電源電壓為2.7~5.5V。TLV2544還具有3個輸入端和1個三態輸出端,可為最流行的微處理器串行端口(SPI)提供4線接口。器件在上電初始化時首先需要將初始化命令A000h寫入CFR配置寄存器,然後,對器件進行編程,其編程方法是在初始化命令A000h的低12位000h寫入編程數據以規定器件的工作方式。TLV2544具有4種轉換模式:單次模式、重複模式、掃描模式和重複掃描模式,可用模式00.01,10,11表示。圖1為TLV2544和單片機AT89C2051的接口電路。該電路采用外部基準,REFP與REFM之間接0.1μF和10μF2隻去耦電容器。

圖1:TLV2544控製電路
各路信號送入微處理器AT89C2051,經串行口發送給係統板。微處理器的軟件設計主要是在接收到SOPC係統控製發送的采集命令(0x41H),啟動TLV2544和DS18B20,將數據轉為ASCII碼發送。DS18B20和TLV2544都是12bit輸出,所以,每次發送9個ASCII碼,分別代表3個數據源的轉換結果。
[page]
神經網絡校正算法
利用BP神經網絡實現非線性誤差軟件校正的文獻較多,但主要是基於PC機的仿真實驗。單片微處理器由於存儲容量和數據總線寬度的限製,網絡結構類型和計算精度隻能控製在一定範圍之內。SOPC在大規模集成電路的基礎上,底層電路采用硬件描述語言實現,而軟件算法則在SOPC IDE調試環境下采用高級語言,如C語言實現。在本文中,SOPC係統板采用NIOS-Ⅱ軟核微處理器,32 bit總線,工作頻率為50 MHz,BP神經網絡采用動量法,在ALTERA公司提供的SOPC IDE調試環境下完成。算法處理結構如圖2所示。

圖2:神經網絡校正算法係統框圖
算法測試
本文采用三層前向網絡,輸入層神經元2個,分別代表溫度傳感器ADS90和氣體傳感器TGS813輸入信號,DS18B20的測量值作為AD590的期望值,輸出層神經元1個,代表AD590的校正值。
本文共采集了70個樣本對數據作為神經網絡的輸入。神經網絡的訓練采樣動量自適應算法,剔除部分不符合要求的樣本,58個樣本作為訓練樣本,8個樣本作為測試樣本。BP神經網絡采用C語言編程實現,由於微處理器與PC機(ji)相(xiang)比(bi),在(zai)工(gong)作(zuo)頻(pin)率(lv)和(he)總(zong)線(xian)結(jie)構(gou)方(fang)麵(mian)還(hai)存(cun)在(zai)很(hen)大(da)差(cha)距(ju),因(yin)此(ci),在(zai)計(ji)算(suan)算(suan)法(fa)的(de)誤(wu)差(cha)輸(shu)出(chu)時(shi),本(ben)文(wen)采(cai)用(yong)的(de)是(shi)各(ge)個(ge)訓(xun)練(lian)樣(yang)本(ben)的(de)絕(jue)對(dui)誤(wu)差(cha)的(de)累(lei)加(jia)和(he),而(er)不(bu)是(shi)均(jun)方(fang)根(gen)誤(wu)差(cha),這(zhe)樣(yang),可(ke)以(yi)避(bi)免(mian)大(da)量(liang)的(de)乘(cheng)法(fa)和(he)開(kai)方(fang)運(yun)算(suan),否(fou)則(ze),算(suan)法(fa)很(hen)難(nan)收(shou)斂(lian)。 作為BP神shen經jing網wang絡luo動dong量liang法fa的de重zhong要yao參can數shu,如ru果guo學xue習xi率lv參can數shu選xuan擇ze的de範fan圍wei比bi較jiao窄zhai,那na麼me,網wang絡luo性xing能neng的de隨sui機ji性xing特te點dian就jiu會hui非fei常chang明ming顯xian,不bu利li於yu網wang絡luo的de推tui廣guang應ying用yong。圖tu3是選擇不同的學習率時網絡輸出誤差的變化情況。測試條件是動量係數為0.9,增益為1,隱含層節點6個,算法停止迭代的判斷條件是輸出絕對誤差累加和小於0.01。
圖4是58對訓練樣本完成網絡訓練後的測試結果。由於BP神經網絡的性能受隱含層節點個數影響比較大,圖中數據是在不同隱含層節點個數的條件下得到的,並與MATLAB軟件仿真得到的結果作了比較。網絡訓練的條件:學習率為0.1,動量係數為0.9,增益為1,SOPC停止迭代的判斷條件是輸出絕對誤差累加和小於0.01,MATLAB停止迭代的判斷條件是均方根誤差小於0.0001,圖中,n代表隱含層節點個數。

圖3:學習率對網絡輸出誤差的影響

圖4:隱含層節點數對網絡輸出的影響
由於采用的是12 bit的A/D轉換芯片,采集數據送入FPGA係統板後,經過歸一化處理,數據類型發生變化。與MATLAB仿真軟件輸出結果保持一致,基於FPGA的神經網絡輸出取小數點後4位有效數字。由圖4可以得出:雖然在個別測試點上基於MATLAB軟件仿真結果優於SOPC的輸出結果,但在隱含層節點對算法性能的影響程度上,基於SOPC技術的輸出受到的影響比較小,穩定性好,這與SOPC技術采用32位字長有很大關係。
結論
基於FPGA的SOPC技術不同於IC芯片設計,它是把已有的模塊資源組合成一個係統,係統的功能直接由載體FPGA芯片實現;它又不同於傳統的基於單片微處理器的係統設計,因為SOPC係統的微處理器性能和外圍接口控製電路都是由用戶編程設定的,因此,采用SOPC技術可以節省成本,提高資源利用率,縮短開發周期和便於係統升級等特點。本文采用基於FPGA的SOPC技術研究了傳感器非線性軟件校正的問題。算法的測試結果證實了方法的可行性。
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall




