• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種A/D轉(zhuǎn)換電路的設(shè)計與應(yīng)用

      2019-10-30 10:55:40呂小鳳張萬玉
      無線電工程 2019年11期
      關(guān)鍵詞:數(shù)據(jù)總線模擬信號狀態(tài)機

      呂小鳳,杜 丹,張萬玉

      (1.中國電子科技集團公司第五十四研究所,河北 石家莊 050081;2.陸裝駐石家莊地區(qū)第一軍代室,河北 石家莊 050081;3.陸軍裝備部裝備項目管理中心,北京 100071)

      0 引言

      模擬數(shù)據(jù)的采集與處理是信息技術(shù)的一個重要分支,廣泛應(yīng)用于地空信息傳輸系統(tǒng)中。隨著信息技術(shù)的高速發(fā)展和對控制要求的不斷提高,地空信息系統(tǒng)對模數(shù)轉(zhuǎn)換速度和精度要求也在不斷提高[1]。A/D轉(zhuǎn)換芯片作為模擬量采集的核心部件,其內(nèi)部ADC容易受到輸入信號、電路布局以及芯片自身工藝的影響,使轉(zhuǎn)換結(jié)果無法滿足系統(tǒng)控制要求[2]。受硬件發(fā)展水平的限制,傳統(tǒng)的地空信息系統(tǒng)中,通常采用單片機對A/D轉(zhuǎn)換芯片進行控制的方式來完成模擬信號的采集和轉(zhuǎn)換,處理速度慢,外圍控制通過FPGA完成,硬件電路結(jié)構(gòu)繁雜,軟件設(shè)計中數(shù)據(jù)交互同時涉及到單片機和FPGA,可靠性不高。鑒于以上A/D轉(zhuǎn)換發(fā)展與應(yīng)用存在的兩大瓶頸:① A/D轉(zhuǎn)換器的速率和性能;② 可編程邏輯器件的處理速度[3],本文利用MAXIM公司具有12位高精度的多通道A/D轉(zhuǎn)換芯片和具有高速數(shù)據(jù)處理能力的ALTERA公司Stratix系列+5 V工作電壓的FPGA作為主控芯片實現(xiàn)了A/D轉(zhuǎn)換,不僅接口簡單、轉(zhuǎn)換速度快、精度高[4],而且利用延時調(diào)整等技術(shù)解決了A/D轉(zhuǎn)換芯片與FPGA之間的高速數(shù)據(jù)傳輸問題。

      1 A/D采集轉(zhuǎn)換控制電路的設(shè)計

      1.1 方案設(shè)計

      設(shè)計之初,考慮到應(yīng)用的可擴展性,要求可對多路模擬數(shù)據(jù)進行轉(zhuǎn)換,常用的設(shè)計方法有2種:① 電路使用多片A/D轉(zhuǎn)換芯片,每片對一路模擬信號進行轉(zhuǎn)換,多片芯片同步工作;② 電路選用多通道A/D轉(zhuǎn)換芯片,通過軟件控制依次完成多路模擬信號的轉(zhuǎn)換。

      顯然,方案1可滿足系統(tǒng)的實時性和同步性要求,但是針對目前的系統(tǒng)小型化需求,芯片使用數(shù)量多,占電路板空間大,而且外圍電路復(fù)雜[5],大大增加了PCB設(shè)計難度。相較之下,方案2電路簡化,雖然對軟件控制的要求較高,但應(yīng)用上更加靈活[6]。

      本設(shè)計使用的FPGA可編程器件選用ALTERA公司Stratix系列的EP1S20F484I6N,該芯片工作電壓為+5 V,A/D轉(zhuǎn)換器選用MAXIM公司的8通道12位高精度MAX197芯片,該芯片僅需+5 V供電,工作電壓與EP1S20F484I6N相匹配,二者硬件管腳可以直接相連,不需再使用電平轉(zhuǎn)換芯片,極大簡化了電路設(shè)計。

      1.2 電路實現(xiàn)

      本文設(shè)計重點是為完成A/D轉(zhuǎn)換的MAX197芯片外圍電路提供可靠接口,實現(xiàn)多通道的模擬數(shù)據(jù)采集轉(zhuǎn)換功能。硬件電路主要由模擬數(shù)據(jù)接收和控制轉(zhuǎn)換處理電路組成。

      為了保證電路的轉(zhuǎn)換精度和可靠性,合理的電路及PCB設(shè)計非常重要[7],尤其對于模數(shù)混合電路,如何減少模擬電路和數(shù)字電路之間的相互串?dāng)_,也是要精心考慮的問題[7-8]。

      本設(shè)計在PCB優(yōu)化布局和走線的基礎(chǔ)上,將數(shù)字地和模擬地之間用0 Ω電阻連接,這樣可保證直流電位相等,能有效限制環(huán)路電流,抑制噪聲;否則,模擬信號將會受到干擾,嚴(yán)重影響轉(zhuǎn)換結(jié)果。

      圖1 A/D轉(zhuǎn)換控制處理電路

      2 軟件設(shè)計

      軟件設(shè)計采用Verilog HDL語言利用FPGA編程,通過有限狀態(tài)機模式[13],實現(xiàn)對MAX197運行模式的配置、模擬數(shù)據(jù)采集和轉(zhuǎn)換的控制。

      程序流程如圖2所示。

      圖2 A/D轉(zhuǎn)換程序流程

      在本系統(tǒng)實際應(yīng)用中,A/D轉(zhuǎn)換只是硬件電路板上FPGA所需完成功能的一部分且數(shù)據(jù)采集對時間無嚴(yán)格要求。因此,為了保證設(shè)計中所用時鐘的全局性[14-15],MAX197選擇在外部時鐘模式下工作,信號獲取方式選用時序關(guān)系更為簡明的內(nèi)部自動采集模式,模擬信號量程選擇0~5 V,則寫入的8位控制字為{5’b0,chNum},其中,chNum為模擬通道,數(shù)據(jù)位寬3 bit,有效范圍為3’b000~3’b111,用來表示當(dāng)前選定的模擬數(shù)據(jù)通道。

      分步狀態(tài)執(zhí)行過程如下:

      iSt0:初始化A/D轉(zhuǎn)換芯片。nCS,nWR,nRD,HNEN信號置1,數(shù)據(jù)讀寫使能triEn置0;

      iSt1:nCS信號置0,拉低片選信號;

      iSt2:nWR信號置0,拉低寫信號,準(zhǔn)備產(chǎn)生寫信號的上升沿;

      iSt3:數(shù)據(jù)讀寫使能triEn置1,并按控制字格式編排數(shù)據(jù)準(zhǔn)備寫入數(shù)據(jù)總線,數(shù)據(jù)內(nèi)容為{5’b0,chNum};

      iSt4:nWR信號置1,拉高寫控制信號,產(chǎn)生上升沿,此時,數(shù)據(jù)讀寫使能triEn有效,將控制字寫入數(shù)據(jù)總線配置A/D轉(zhuǎn)換芯片MAX197的運行模式,同時控制字中選定的模擬輸入通道上的數(shù)據(jù)開始進行采集;

      iSt5:數(shù)據(jù)讀寫使能triEn置0,并將nCS信號置1,拉高片選信號,不再對數(shù)據(jù)總線進行操作,同時等待模擬數(shù)據(jù)采集轉(zhuǎn)換完成。當(dāng)檢測到nINT信號為低電平時,表示模擬數(shù)據(jù)已轉(zhuǎn)換完成,轉(zhuǎn)換結(jié)果已在數(shù)據(jù)總線上等待讀出[16],否則,繼續(xù)等待;

      iSt6:nCS信號置0,使片選信號有效;

      iSt7:nRD信號置0,拉低讀控制信號,準(zhǔn)備從數(shù)據(jù)總線上讀取轉(zhuǎn)換結(jié)果;

      iSt8:HNEN信號從狀態(tài)iSt0時一直為高電平,此時讀控制有效,從數(shù)據(jù)總線上讀取轉(zhuǎn)換結(jié)果的高4 bit,當(dāng)從總線上開始讀取轉(zhuǎn)換結(jié)果時,轉(zhuǎn)換結(jié)束標(biāo)識信號nINT恢復(fù)高電平,等待下一次轉(zhuǎn)換;

      iSt9:HNEN信號置0,準(zhǔn)備讀取轉(zhuǎn)換結(jié)果的低8 bit;

      iSt10: HNEN信號為低電平且讀控制有效,從數(shù)據(jù)總線上讀取轉(zhuǎn)換結(jié)果的低8 bit;

      iSt11:12 bit轉(zhuǎn)換結(jié)果已全部從數(shù)據(jù)總線上讀出,nRD信號置1,拉高讀控制信號,不再對數(shù)據(jù)總線進行讀操作,同時,HNEN信號置1,恢復(fù)到初始態(tài);

      iSt12:nCS信號置1,拉高片選信號,使片選信號無效,使所有控制和狀態(tài)信號都恢復(fù)到初始態(tài)。

      當(dāng)所有控制和狀態(tài)信號都恢復(fù)到初始態(tài)值時,表示對當(dāng)前模擬通道的轉(zhuǎn)換操作已全部完成,狀態(tài)機跳轉(zhuǎn)到iSt0,開始進行下一通道轉(zhuǎn)換操作,以此循環(huán)8次,可實現(xiàn)8個模擬通道的順序轉(zhuǎn)換。開啟新一輪的轉(zhuǎn)換時,當(dāng)模擬通道的信號量程、極性有變或需改變芯片的運行模式時,需按格式對控制字進行重新設(shè)置。如果在當(dāng)前轉(zhuǎn)換周期未結(jié)束時寫一個新的控制字將使當(dāng)前轉(zhuǎn)換失效,并啟動一次新的采集轉(zhuǎn)換過程[17]。

      3 系統(tǒng)仿真

      在Quartus II開發(fā)平臺上,用Verilog語言進行程序設(shè)計,并用Quartus II軟件的嵌入式邏輯分析儀Signal Tap II通過JTAG端口來查看以實際系統(tǒng)速率運行的系統(tǒng)內(nèi)的各設(shè)計節(jié)點,從而實現(xiàn)對FPGA設(shè)計內(nèi)部節(jié)點的訪問。本設(shè)計的主時鐘將外部晶振從FPGA芯片的全局時鐘管腳輸入,使用Alter公司的PLL內(nèi)置模塊對輸入的外部時鐘倍頻[18],對高頻鐘分頻后為MAX197提供1 MHz時鐘。在模擬通道1上接入+5 V電壓,數(shù)據(jù)采集轉(zhuǎn)換時序如圖3所示。

      圖3 通道1數(shù)據(jù)采集轉(zhuǎn)換時序

      圖3中,clk是外部時鐘模式下由外部晶振為MAX197芯片提供的時鐘;iSt為狀態(tài)機;doutTmp為FPGA內(nèi)部寄存器,存儲設(shè)置的控制字;dataIO為MAX197與FPGA交互的8 bit并行數(shù)據(jù)線;當(dāng)nCS有效,nWR為低電平時,triEN使能將寄存器內(nèi)的數(shù)寫入數(shù)據(jù)線,初始化控制字。dout[i]為轉(zhuǎn)換結(jié)果。軟件設(shè)計中,所有賦值操作使用的都是非阻塞型過程賦值,則對應(yīng)的狀態(tài)機中,每一次信號的賦值要到下一個時鐘周期來臨時才會執(zhí)行。通過時序圖可以看到,在狀態(tài)機iSt為4時,設(shè)置好的控制字寫入了數(shù)據(jù)總線dataIO,配置好MAX197轉(zhuǎn)換芯片的運行模式,并選定當(dāng)前需轉(zhuǎn)換的模擬通道為通道1。狀態(tài)機iSt為5時,nWR的上升沿到來,開始采集信號,經(jīng)過18個時鐘周期,信號采集并轉(zhuǎn)換完成;此時,轉(zhuǎn)換結(jié)束標(biāo)識信號nINT變?yōu)榈碗娖?,并開始向數(shù)據(jù)線上準(zhǔn)備轉(zhuǎn)換結(jié)果。狀態(tài)機iSt為8時,nRD為低電平,開始從數(shù)據(jù)線上讀取轉(zhuǎn)換結(jié)果,nINT恢復(fù)為高電平等待下一次轉(zhuǎn)換過程。dout[0]顯示模擬通道1上+5 V的電平信號轉(zhuǎn)換結(jié)果不穩(wěn)定,數(shù)值一直在12’hBA7~12’hCBD間不停跳動,換算成電平值則為3.63~3.98 V。說明每次對+5 V電平采樣時,采樣到的電平值不穩(wěn)定且數(shù)值偏差很大,模擬信號受到了嚴(yán)重干擾。檢查電路布線,發(fā)現(xiàn)模擬地與數(shù)字地間未做等電位處理,可能造成模擬信號不能正確識別。將MAX197芯片的第28管腳和15管腳直接短接,并在模擬通道1上通過直流可調(diào)電源接入+5 V電壓,模擬通道2上接入約+2.5 V電壓,數(shù)據(jù)采集轉(zhuǎn)換時序如圖4和圖5所示。

      圖4 優(yōu)化后通道1數(shù)據(jù)采集轉(zhuǎn)換時序

      從圖4轉(zhuǎn)換結(jié)果可以看出,電路經(jīng)初步優(yōu)化后,+5 V電平的轉(zhuǎn)換結(jié)果穩(wěn)定,且轉(zhuǎn)換值12’hFFF正確。

      圖5 優(yōu)化后通道2數(shù)據(jù)采集轉(zhuǎn)換時序

      通道1轉(zhuǎn)換完成后在轉(zhuǎn)換周期結(jié)束前,通道號加1,準(zhǔn)備進行通道2的數(shù)據(jù)轉(zhuǎn)換。圖5中,在新一輪轉(zhuǎn)換周期中,chNum值由0變?yōu)?,表示當(dāng)前選定模擬通道2,轉(zhuǎn)換芯片的運行模式?jīng)]有改變,此時,控制字doutTmp設(shè)置為’h01,dout[1]顯示模擬通道2上+2.5 V的電平信號轉(zhuǎn)換結(jié)果為12’h7FD~12’h7FF。

      結(jié)合圖4和圖5,模擬信號經(jīng)初步抗干擾優(yōu)化處理后,+5 V,+2.5 V信號轉(zhuǎn)換結(jié)果正確且穩(wěn)定,芯片A/D采集轉(zhuǎn)換功能正常。

      為測試軟件的通用性,改變模擬通道信號量程和極性,將模擬通道3上信號量程設(shè)置為±10 V,并將通道3接入穩(wěn)定-5 V電壓,數(shù)據(jù)采集轉(zhuǎn)換結(jié)果如圖6所示。

      圖6 通道3數(shù)據(jù)采集轉(zhuǎn)換時序

      圖6中,由于通道3信號量程改變,在進行數(shù)據(jù)采集轉(zhuǎn)換前,控制字doutTmp應(yīng)設(shè)置為{5’b11,3’b10},表示當(dāng)前選定模擬通道3,且信號量程為±10 V,dout[2]顯示模擬通道3上-5 V的電平信號轉(zhuǎn)換結(jié)果為12’hBFE,轉(zhuǎn)換結(jié)果與實際相符,芯片A/D采集轉(zhuǎn)換功能依舊正常。

      4 系統(tǒng)測試

      在實際地空信息系統(tǒng)特定功能機箱內(nèi),將重新優(yōu)化設(shè)計后的電路板與功放模塊連接,模塊反饋的模擬電壓作為A/D轉(zhuǎn)換電路的輸入信號來檢測硬件電路及軟件的實用性。在數(shù)據(jù)轉(zhuǎn)換測試中,通過功能機箱上的狀態(tài)顯示屏可查看12 bit A/D轉(zhuǎn)換結(jié)果。調(diào)節(jié)反饋電壓,當(dāng)電壓值為單極性且在0~+5 V間變化時,轉(zhuǎn)換結(jié)果在12’h000~12’hFFF間變化。調(diào)節(jié)反饋電壓分別穩(wěn)定至+3.0 V,+2.5 V時,使用3塊電路板進行測試,轉(zhuǎn)換結(jié)果如表1所示。

      表1 A/D轉(zhuǎn)換測試結(jié)果

      電路板序號模塊反饋電壓/V芯片模擬信號輸入端電壓/V測試結(jié)果轉(zhuǎn)換值/V13.00002.999412’H9972.997623.00002.999712’H9982.998833.00002.999912’H9993.000012.50002.499212’H7FD2.496922.50002.499612’H7FE2.498232.50002.499912’H7FF2.4994

      5 結(jié)束語

      MAX197的采樣精度和其時序密切相關(guān),本設(shè)計電路使用FPGA做主控芯片,處理速度快,通過表1的測試數(shù)據(jù),對3塊不同的電路板灌裝本設(shè)計軟件后,誤差均不超過3 mV,轉(zhuǎn)換精度高,且多通道轉(zhuǎn)換模式和數(shù)據(jù)處理通過FPGA編程控制,在硬件電路不變的情況下修改軟件程序就能滿足多種數(shù)據(jù)采集需求[19]。該設(shè)計已應(yīng)用到實際的地空信息系統(tǒng)中,具有一定的實用價值,同時由于該設(shè)計采用Verilog語言完成電路的軟件設(shè)計,易用性和可移植性得到了加強,不僅使硬件功能的設(shè)計修改和產(chǎn)品升級變得十分方便,而且極大地提高了電子系統(tǒng)的靈活性和通用性。結(jié)合圖3~圖5的實驗數(shù)據(jù),設(shè)計還強調(diào)了模數(shù)混合電路設(shè)計中信號抗干擾處理的重要性,具有一定的學(xué)習(xí)參考價值。

      猜你喜歡
      數(shù)據(jù)總線模擬信號狀態(tài)機
      一汽-大眾速騰轎車行駛中為何偶發(fā)多個故障燈點亮
      基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
      一種基于ADG426多路模擬開關(guān)的模擬信號輸入接口設(shè)計
      電子制作(2019年7期)2019-04-25 13:18:00
      一種模擬信號選通運算電路的設(shè)計
      電子測試(2018年14期)2018-09-26 06:04:08
      智能電網(wǎng)調(diào)度控制系統(tǒng)中的數(shù)據(jù)總線技術(shù)研究
      科技資訊(2017年27期)2017-11-24 10:06:06
      模擬信號的三種調(diào)制方法比較研究
      電子制作(2017年24期)2017-02-02 07:14:19
      現(xiàn)場總線技術(shù)在電廠自動化控制中的應(yīng)用
      基于單片機的模擬信號自動追蹤控制器
      途安車數(shù)據(jù)總線診斷接口故障
      FPGA設(shè)計中狀態(tài)機安全性研究
      荃湾区| 武宁县| 石狮市| 萨迦县| 庆元县| 井陉县| 微山县| 叙永县| 汤原县| 株洲县| 错那县| 阳山县| 察雅县| 四子王旗| 无棣县| 上杭县| 阳东县| 黄龙县| 孝义市| 绍兴县| 浙江省| 赤城县| 驻马店市| 巩义市| 怀远县| 遵化市| 花垣县| 赤壁市| 长治县| 通山县| 新宁县| 岢岚县| 陵水| 舞钢市| 巴青县| 汾西县| 泸定县| 南乐县| 吴桥县| 伊宁县| 巴里|