国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA的高速模擬量采集系統(tǒng)設(shè)計

2023-06-09 04:13肖鵬蔡曉樂孫少華趙君閆穩(wěn)
電子制作 2023年8期
關(guān)鍵詞:浮點數(shù)模擬量電路

肖鵬,蔡曉樂,孫少華,趙君,閆穩(wěn)

(航空工業(yè)西安航空計算技術(shù)研究所,陜西西安,710119)

0 引言

隨著航空機載系統(tǒng)綜合化、模塊化發(fā)展,飛機上各個系統(tǒng)的重要數(shù)據(jù)需要由分布在各種子系統(tǒng)的終端設(shè)備采集并發(fā)送給通用綜合處理設(shè)備統(tǒng)一管理。飛機上各子系統(tǒng)例如航電系統(tǒng)、飛控系統(tǒng)、機電系統(tǒng)、液壓系統(tǒng)等通常分布著大量終端數(shù)據(jù),這些終端數(shù)據(jù)里面包括各種類型的數(shù)字信號,也包括大量的模擬信號。數(shù)字信號通過個各種總線直接和綜合處理設(shè)備進行通訊和傳輸。而模擬信號則需要轉(zhuǎn)換成數(shù)字信號后在總線上進行傳輸和處理。綜合處理設(shè)備根據(jù)這些模擬量轉(zhuǎn)換后的數(shù)字信號產(chǎn)生特定的控制輸出來實現(xiàn)各個系統(tǒng)不同的控制功能[1]。因此,模擬量采集功能成為機載系統(tǒng)中一個必不可少且至關(guān)重要的功能,其采集的精度和可靠性也影響整個機載系統(tǒng)運行的穩(wěn)定性和可靠性。

機載系統(tǒng)中的模擬量包括但不限于:姿態(tài)傳感器的輸出信號(俯仰角、偏航角、俯仰角速度、滾轉(zhuǎn)角速度、偏航角速度等) 、執(zhí)行機構(gòu)的反饋信息(副翼舵反饋、升降舵反饋等) 、發(fā)動機轉(zhuǎn)速及溫度、電源電壓等[2]。若將這些模擬量根據(jù)信號類型進行分類,概括起來,機載系統(tǒng)需要采集的模擬量包括電壓信號、電流信號和電阻信號3 種類型[3]。機載系統(tǒng)中一般要求模擬量采集功能的精度高,并且需要采集的模擬量信號的種類和路數(shù)也很多[4]。本文針對機載系統(tǒng)中大量的模擬量采集要求,提出一種基于FPGA的高速模擬量采集系統(tǒng)設(shè)計方法。

1 系統(tǒng)結(jié)構(gòu)及原理

本文提出一種基于FPGA的高速模擬量采集系統(tǒng)設(shè)計方案,該設(shè)計總體結(jié)構(gòu)圖如圖1所示,機載系統(tǒng)中多通道模擬信號經(jīng)過分壓限幅、濾波等調(diào)理電路處理后進入多路開關(guān)電路,再經(jīng)過運放跟隨、放大電路進入A/D轉(zhuǎn)換電路,其中多路開關(guān)的切換控制由FPGA 內(nèi)的可編程邏輯實現(xiàn),通過開關(guān)切換輪轉(zhuǎn),A/D轉(zhuǎn)換電路最終將所有通道的數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號存放在FPGA 內(nèi)部相應(yīng)通道的RAM 中,在FPGA 內(nèi)部模擬量數(shù)據(jù)直接轉(zhuǎn)換為浮點數(shù),處理器直接讀取數(shù)據(jù)即可。

圖1 總體結(jié)構(gòu)圖

2 詳細設(shè)計

■2.1 信號調(diào)理電路

針對不同類型的模擬量信號,且機載系統(tǒng)中通常有大量的雜波信號,為了實現(xiàn)高精度采集,通過相應(yīng)的調(diào)理電路將采集信號歸一化處理,常用的調(diào)理電有分壓、濾波及限幅電路。

機載系統(tǒng)輸入的電壓信號有-100mV~100mV,0~32V,0~115V,0~270V 等,本文設(shè)計的模擬量采集電路采集范圍為-10V~10V,因此電路調(diào)理電路前端針對不同的輸入信號,采取通過調(diào)理電路將輸入電壓控制在-10V~10V 內(nèi)。

對于高電壓輸入信號,通過電阻分壓,將輸入電壓控制在采集范圍內(nèi)。對于小電壓輸入信號,通過放大電路將輸入信號控制到采集范圍內(nèi)。針對輸入接口的雜波信號,根據(jù)雜波信號的典型頻率,設(shè)計針對的RC 低通濾波電路。為了防止前端分壓電阻失效和輸入的瞬變大電壓造成后端電路器件的損壞,使用二極管組成限幅電路,將輸入電壓控制在采集范圍內(nèi)。

機載系統(tǒng)中的模擬輸入數(shù)量繁多,如果采用每個通道使用一個AD 采集,會造成產(chǎn)品成本高,體積大,重量大,且一般也沒有一對一采集設(shè)計需求。為了提高模擬量輸入采集效率,并實現(xiàn)小型化、輕量化,多路開關(guān)電路可根據(jù)模擬量采集數(shù)量,PCB 面積選擇合適模擬開關(guān)電路,本文選擇16路多路開關(guān),通過邏輯控制切換通道采集。

信號調(diào)理電路示意圖如圖2所示。

圖2 調(diào)理電路示意圖

■2.2 A/D轉(zhuǎn)換電路設(shè)計

可根據(jù)采集精度、采集速度等要求選擇合適A/D轉(zhuǎn)化開關(guān),常用的多通道A/D轉(zhuǎn)換開關(guān)有16位6 通道或者8 通道A/D轉(zhuǎn)換器。

本文選用6 通道A/D轉(zhuǎn)換器,該芯片是一種16位6 通道同步采樣的逐次逼近型A/D轉(zhuǎn)換器,具有電路集成度高、使用簡便、功耗小等特點,主要由控制邏輯、16位SAR 型A/D轉(zhuǎn)換器、基準(zhǔn)電壓源、時鐘、緩沖器和采樣電路組合而成,模擬量輸入電壓為-10V~10V,經(jīng)AD 轉(zhuǎn)換器后轉(zhuǎn)換成16位數(shù)字信號輸出,轉(zhuǎn)換時間不大于4μs。A/D轉(zhuǎn)換電路如圖3所示。

圖3 A/D轉(zhuǎn)換電路

■2.3 基于FPGA的高速模擬量采集邏輯設(shè)計

2.3.1 多路開關(guān)切換模擬量采集邏輯設(shè)計

針對多路模擬量信號采集,通過增加A/D轉(zhuǎn)換芯片個數(shù)提高通道數(shù),會使電路非常冗余且成本太高。因此通過增加電路中的多路模擬開關(guān)提高模擬量采集通道數(shù)量,采用控制多路開關(guān)切換保證每一個模擬量輸入信號能夠被正確的采集到。

本文以16位6 通道A/D轉(zhuǎn)換芯片控制邏輯為例說明。模擬量信號均轉(zhuǎn)化為電壓信號采集,電壓信號的建立需要時間,因此切換通道后對當(dāng)前通道保持一段時間后控制A/D轉(zhuǎn)換芯片啟動轉(zhuǎn)換,同時為了提高采集精度,切換到采集通道前先將多路開關(guān)輸出通道切換到“地”上,泄放掉電路中的。

選用的16位6 通道同步采樣的逐次逼近型A/D轉(zhuǎn)換器,采集范圍為-10V~10V,線 性 誤 差 為±3LSB, 參考電壓為2.50Vdc,轉(zhuǎn)換時間3μs。當(dāng)模擬量采集信號完全建立后,控制轉(zhuǎn)換控制信號CONVSTA,C O N V S T B,C O N V S T C 由低電平變?yōu)楦唠娖?,在上升沿啟動對?yīng)通道信號轉(zhuǎn)換,為保證采集信號完全轉(zhuǎn)換完成,在15μs 后控制CS 信號和RD 信號,通過并行總線將數(shù)據(jù)發(fā)送到FPGA。對于多通道模擬量采集,采集完當(dāng)前輸入信號后,邏輯自動控制開關(guān)切換通道,遍歷所有輸入通道并自動更新模擬采集數(shù)據(jù)。A/D轉(zhuǎn)換器操作時序如圖4所示。

輸入輸出引腳連接示意圖如圖4所示。這里采用將兩個獨立8位狀態(tài)序列發(fā)生器SEQ1和SEQ2級聯(lián)成16狀態(tài)序列發(fā)生器SEQ,將ADCLO連接模擬地AGND,這樣連接后輸入?yún)⒖茧妷篈DCLO=OV,在計算最后轉(zhuǎn)化結(jié)果時也不影響數(shù)據(jù)的準(zhǔn)確性,同時防止信號零點漂移現(xiàn)象。

圖4 A/D轉(zhuǎn)換器操作時序

2.3.2 模擬量采集數(shù)據(jù)浮點化設(shè)計

通常FPGA 將A/D轉(zhuǎn)換后的數(shù)據(jù)以二進制數(shù)據(jù)存在寄存器中,由處理器讀取寄存器數(shù)據(jù)后按照器件手冊得出的計算公式得出最終的模擬量采集結(jié)果。本文設(shè)計在FPGA 中直接將A/D轉(zhuǎn)換數(shù)據(jù)轉(zhuǎn)換為浮點型數(shù)據(jù),同時在FPGA 邏輯設(shè)計可配置參數(shù)模塊,直接將模擬量數(shù)據(jù)計算為十六進制的浮點數(shù),處理器直接讀取結(jié)果后直接進行數(shù)據(jù)類型轉(zhuǎn)換即可得到十進制的浮點數(shù),無需再進行計算。

本文設(shè)計的使用邏輯浮點運算計算模擬量采集結(jié)果數(shù)值基于16位6 通道A/D轉(zhuǎn)換器的數(shù)據(jù)采集方式基礎(chǔ)上設(shè)計。由于輸出的數(shù)據(jù)結(jié)果為單精度浮點數(shù),數(shù)據(jù)總線為32位總線。

(1)A/D轉(zhuǎn)換器采集數(shù)據(jù)規(guī)格化模塊

在邏輯中調(diào)用xilinx的float_point IP 核計算浮點乘法運算。IP 核的外部接口如圖5所示。A 和B 是浮點運算的兩個操作數(shù)。A 和B 必須是32 為規(guī)格化浮點數(shù)。RESULT 為A*B的結(jié)果。RDY 為高時表示數(shù)據(jù)計算完畢。OPERATION_ND 為 高 表 示IP 核 有 輸 入。OPERATION_RFD為高時表示IP 核可以接收新的操作數(shù)。

圖5 浮點運算ip 核的外部接口

A/D轉(zhuǎn)換器的采集結(jié)果計算設(shè)計思路是:將A/D轉(zhuǎn)換器的分辨率0.000305V 進行規(guī)格化的數(shù)作為操作數(shù)B,即操作數(shù)B 為常數(shù)。操作數(shù)A為A/D轉(zhuǎn)換器采集到的碼值進行規(guī)格化的數(shù)。

A/D轉(zhuǎn)換器采集到的數(shù)據(jù)規(guī)格化:浮點數(shù)的表示遵循IEEE754 標(biāo)準(zhǔn),一個浮點數(shù)是由四部分組成的:符號、尾數(shù)(有效數(shù))、指數(shù)及基。規(guī)格化的浮點數(shù)組成如圖6所示。S 為1位符號位,Exponet 為8位指數(shù)部分,F(xiàn)raction 為23 為小數(shù)部分。

圖6 規(guī)格化的浮點數(shù)組成

浮點數(shù)的IEEE754 標(biāo)準(zhǔn)表達式如下式:

S 為符號位,當(dāng)S=0 時,此表達式表示的是一個正值;當(dāng)S=1 時,此表達式表示的是一個負(fù)值。e 是指數(shù)位,由浮點數(shù)指數(shù)部分的值決定。按照IEEE754 標(biāo)準(zhǔn),通常浮點數(shù)的指數(shù)用移碼表示即使得e=E-bias,對單精度浮點數(shù)bias=127。1.f 表示的是尾數(shù),尾數(shù)通常用原碼表示,且規(guī)格化后的尾數(shù)其第一位數(shù)為1(規(guī)格化的32位數(shù)據(jù)中第一位數(shù)1 不體現(xiàn)在碼值中,所以實際上小數(shù)部分為24位)。在邏輯中通過移位和數(shù)據(jù)拼接完成數(shù)據(jù)的規(guī)格化。

(2)可配置參數(shù)模塊

在模擬量采集系統(tǒng)中為了提高采集進度,通常會在軟件中對采集數(shù)據(jù)進行按照公式對采集數(shù)據(jù)進行修調(diào),本文將修調(diào)參數(shù)設(shè)計為軟件可配置邏輯模塊,邏輯中可配置默認(rèn)參數(shù),在處理器上電初始化中對修調(diào)參數(shù)按照對應(yīng)通道進行配置。

3 仿真及測試驗證

■3.1 A/D采集數(shù)據(jù)規(guī)格化仿真

仿真激勵1:A/D轉(zhuǎn)換器采集到的電壓為5V,則轉(zhuǎn)換器輸出碼值為5/0.000305 =16393(d)=4009(h),仿真結(jié)果如圖7所示。

圖7 數(shù)據(jù)規(guī)格化模塊和數(shù)據(jù)運算仿真1

從圖7 仿真結(jié)果中看出,4009(h)進行規(guī)格化后的浮點數(shù)為46801200(h),最終計算出的模擬量結(jié)果為409FFE7D(h),轉(zhuǎn)化為十進制的結(jié)果為4.99981546402。

仿真激勵2:A/D轉(zhuǎn)換器采集到的電壓為-5V,則轉(zhuǎn)換器輸出碼值為-5/0.000305=-16393。A/D轉(zhuǎn)換器的輸出編碼方式為二進制補碼,-16393的補碼為BFF7。仿真結(jié)果如圖8所示。

圖8 數(shù)據(jù)規(guī)格化模塊和數(shù)據(jù)運算仿真2

從圖4 中看出BFF7(h)規(guī)格化的浮點數(shù)為C6801200(h),最終計算出的模擬量結(jié)果為C09FFE7D(h),轉(zhuǎn)換為十進制數(shù)為-4.9998156402。

■3.2 模擬量自動采集及結(jié)果計算仿真

設(shè)計在5ms 內(nèi)完成16 路模擬量采集,并在采集到數(shù)據(jù)將采集到數(shù)據(jù)計算出模擬量結(jié)果放到對應(yīng)寄存器。

仿真激勵如表1所示,仿真圖如圖9所示。通過仿真得到的碼值進行計算得到采集到的值如表1所示。

表1 仿真激勵及仿真結(jié)果

■3.3 測試結(jié)果

測試內(nèi)容:在外部輸入16 路模擬量激勵電壓,通過本文設(shè)計的系統(tǒng)電路采集,激勵電壓范圍為-10V~10V,修正參數(shù)預(yù)設(shè)(A,B)均為(1,0)。系統(tǒng)上電后,完成硬件初始化,F(xiàn)PGA 開始自動采集模擬電壓,將采集結(jié)果與給定激勵進行對比,經(jīng)過多次測試,試驗抽取部分測試結(jié)果如表2所示,從表中可以看出,模擬量輸入范圍在-10V~10V 采集誤差在20mV 以內(nèi),采集精度高,同時在5ms 內(nèi)即可完成采集數(shù)據(jù)的解算及上傳,實時性高。

表2 模擬量采集試驗結(jié)果

4 總結(jié)

本文基于FPGA 控制及浮點數(shù)運算技術(shù),設(shè)計了一種機載系統(tǒng)多通道模擬量采集系統(tǒng),設(shè)計了信號調(diào)理電路、開關(guān)電路、A/D轉(zhuǎn)換電路和FPGA 高速模擬量采集邏輯模塊,利用FPGA 采集A/D碼值并將采集結(jié)果轉(zhuǎn)化為浮點數(shù)碼值,處理讀取到數(shù)據(jù)后直接進行數(shù)據(jù)類型轉(zhuǎn)換即可得到浮點數(shù)據(jù),同時在邏輯中設(shè)計了軟件可配置的修調(diào)參數(shù)模塊,便于對采集結(jié)果進行修調(diào)提高采集精度。經(jīng)過仿真和實際測試,本設(shè)計能夠?qū)崿F(xiàn)高速采集多路模擬量需求,同時有較高的采集精度,具備較強的工程實現(xiàn)意義,利用FPGA 并行采集數(shù)據(jù)的優(yōu)勢,可很好的滿足多路模擬量、高實時性采集需求。

圖9 模擬量自動采集仿真圖

猜你喜歡
浮點數(shù)模擬量電路
電路的保護
四種Python均勻浮點數(shù)生成方法
解讀電路
巧用立創(chuàng)EDA軟件和Altium Designer軟件設(shè)計電路
基于FPGA的多通道模擬量采集/輸出PCI板卡的研制
基于MATLAB模擬混沌電路
在C語言中雙精度浮點數(shù)線性化相等比較的研究
非精確浮點數(shù)乘法器設(shè)計
關(guān)于600MW火電機組模擬量控制系統(tǒng)設(shè)計和研究
模擬量輸入式合并單元測試儀的研制