《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于AD7543和FPGA的數(shù)/模轉(zhuǎn)換電路設計
基于AD7543和FPGA的數(shù)/模轉(zhuǎn)換電路設計
摘要: 設計了基于可編程邏輯器件(FPGA)數(shù)/模轉(zhuǎn)換電路,利用可編程邏輯器件(FP-GA)直接控制模轉(zhuǎn)換(D/A)芯片AD7543進行數(shù)/模(D/A)轉(zhuǎn)換,取代傳統(tǒng)的“CPU+專用的數(shù)/模轉(zhuǎn)換(D/A)芯片”設計結(jié)構(gòu),有利于提高系統(tǒng)的抗干擾能力和可靠性。
關(guān)鍵詞: FPGA AD7543 DAC Quartus
Abstract:
Key words :

  引 言

  數(shù)/模轉(zhuǎn)換(D/A)電路,是數(shù)字系統(tǒng)中常用的電路之一,其主要作用是把數(shù)字信號轉(zhuǎn)換成模擬信號,通常是利用專用的數(shù)/模轉(zhuǎn)換(D/A)芯片來實現(xiàn)的。AD7543是Analog Device公司生產(chǎn)的的12位數(shù)/模轉(zhuǎn)換(D/A)芯片,它采用串行數(shù)據(jù)輸入形式,即數(shù)字信號被一位一位地寫入AD7543數(shù)/模轉(zhuǎn)換(D/A)芯片中,因此,AD7543要與一個控制器配合使用才能發(fā)揮作用。常規(guī)的方法,是以CPU作為控制部件,通過軟件編程的方式來控制AD7543,從而實現(xiàn)數(shù)/模轉(zhuǎn)換功能的。軟件實現(xiàn)法雖然簡單,但必將會占用大量的CPU時間,削弱了CPU實時處理能力,降低了系統(tǒng)的可靠性。針對以上情況,在此設計了基于可編程邏輯器件(FPGA)數(shù)/模轉(zhuǎn)換電路,利用可編程邏輯器件(FP-GA)直接控制模轉(zhuǎn)換(D/A)芯片AD7543進行數(shù)/模(D/A)轉(zhuǎn)換,取代傳統(tǒng)的“CPU+專用的數(shù)/模轉(zhuǎn)換(D/A)芯片”設計結(jié)構(gòu),有利于提高系統(tǒng)的抗干擾能力和可靠性。

  1 AD7543簡介

  1.1 AD7543主要特性

  AD7543主要特性為:

  •   分辨率:12位;
  •   非線性誤差:±1/2 LSB;
  •   輸入方式:串行正或負選通;
  •   初始化:異步輸入清零方式;
  •   工作電壓:+5 V;
  •   最大功耗:40 mW。

  1.2 封裝形式和引腳功能

  AD7543有三種封裝形式:16引腳的DIP和20引腳的PCCC與PLCC,其封裝形式如圖1所示,設計者可根據(jù)實現(xiàn)需求進行選擇,其引腳功能說明如下:

  •   OUT1:數(shù)/模轉(zhuǎn)換(D/A)器電流輸出端,通常接到放大器正輸入端;
  •   OUT2:數(shù)/模轉(zhuǎn)換(D/A)器電流輸出端,通常接到模擬地;
  •   AGND:模擬地端,接到模擬地;
  •   STB1:寄存器A選通1信號輸入端;
  •   LD1:寄存器B裝人選通1輸入端,LD1和LD2都為低電平時,寄存器A的內(nèi)容被裝入到寄存器B中;
  •   N/C:懸空;
  •   SRI:串行數(shù)據(jù)輸入端,與寄存器A低位相連;
  •   STB2:寄存器A選通2信號輸入端;
  •   LD2:寄存器B裝入選通2輸入端,LD1和LD2都為低電平時,寄存器A的內(nèi)容被裝入到寄存器B中;
  •   STB3:寄存器A選通3信號輸入端;
  •   STB4:寄存器A選通4信號輸入端;
  •   DGND:數(shù)字地端;
  •   CLR:異步清寄存器B輸入端,當為低電平時,清寄存器B內(nèi)容,寄存器A內(nèi)容不變;
  •   VDD:5 V供電輸入端;
  •   VREF:參考電壓輸入端;
  •   RBF:反饋輸入端。

封裝形式

  1.3 數(shù)/模轉(zhuǎn)換芯片AD7543器件工作原理

  在AD7543器件內(nèi)部,有兩個寄存器:寄存器A和寄存器B。寄存器A是12位串行輸入并行輸出的移位寄存器,其低位與SRI引腳相連。在STB1,STB2和STB4上升沿或STB3下沿作用下,移位寄存器A發(fā)生移位,SRI引腳上的串行數(shù)據(jù)被裝進寄存器A中,當要寫入數(shù)據(jù)全部被裝進寄存器A時,再給AD7543一個裝載負脈沖(LD1和LD2均為低電平),把移位寄存器A的內(nèi)容裝到寄存器B中,通過后續(xù)電路完成D/A轉(zhuǎn)換。當CLR為低電平時,寄存器B的數(shù)據(jù)被清零,輸出的電壓為零,簡化初始化過程。圖2為AD7543數(shù)/模轉(zhuǎn)換(D/A)的工作時序圖。

AD7543數(shù)

  2 基于AD7543的數(shù)/模轉(zhuǎn)換器電路設計

  圖3為基于AD7543數(shù)/模轉(zhuǎn)換芯片的數(shù)/模轉(zhuǎn)換器電路,由于AD7543的內(nèi)部無運算大器,輸出為電流形式,在應用中,必須外接一個運放器,因此,AD7543的第1和2腳分別接在LM324運放的反向輸入口與同相輸入口,AD7543的第15腳(參考電壓輸入端)接在-10 V的電源上,當寄存器B的位數(shù)全為高電平時,輸出電平接近10 V。AD7543的輸入時序信號CLR,STB2,LD和SRI由外接的可編程邏輯器件(FPGA)產(chǎn)生。AD7543的第8腳和11腳接地。運放器LM324正負電源引腳分別接在正負12 V的電源上。

基于AD7543數(shù)

  3 AD7543工作時序FPGA實現(xiàn)

  AD7543是串行輸入數(shù)/模轉(zhuǎn)換芯片,被轉(zhuǎn)換數(shù)據(jù)是逐位寫進AD7543中,因此,AD7543工作時,要有正確的工作時序,工作時序在QuartusⅡ開發(fā)環(huán)境中利用硬件描述語言Verilog HDL描述。QuartusⅡ是Altera公司的EDA開發(fā)工具,它是集設計輸入、編譯、邏輯綜合、器件引腳管理、功能仿真、定時分析、編程下載等于一體的可編程邏輯器件設計環(huán)境。

  在設計中,為了降低設計成本,F(xiàn)PGA采用Altera公司的Cyclone系列的EP1C6Q240C8芯片。。EP1C6Q240C8芯片,不僅集成了5 980個邏輯單元 (LEs),還集成了20個4 KB雙口存儲單元(M4KRAM BLock)和92 160 b的普通高速RAM等資源。

 

  打開Quartus II軟件,新建一個工程管理文件。在工程管理文件中,新建一個Verilog HDL源程序文件,用硬件描述語言Verilog HDL編寫程序,實現(xiàn)控制功能,其代碼如下:

程序

  4 FPGA時序模塊仿真

  為了進一步的驗證FPGA控制器模塊的正確性,在下載到目標器件之前,可以對此模塊進行時序仿真。在工程文件中,首先要新建一個以vwf結(jié)尾的波形文件。在彈出的對話框中添加要觀察的引腳,然后再設定時鐘相關(guān)參數(shù)和保存波形文件,最后在編譯頂層文件之后,可對此模塊進行仿真。如圖4為FPGA控制器模塊仿真波形,CLOCK為此模塊的工作時鐘,時間周期設為40 ns;ida為并行輸入數(shù)據(jù),STI為串行輸出,STB1為選通脈沖信號。由圖可知,STB1的上升沿把STI引腳上的數(shù)據(jù)裝入寄存器A中,裝滿寄存器A后,LOD設為低電平,把寄存器A的內(nèi)容裝入寄存器B中。仿真時序與圖1的時序一致,滿足設計要求。

FPGA控制器模塊仿真波形

  5 結(jié) 語

  針對采用軟件控制AD7543數(shù)/模轉(zhuǎn)換芯片所具有的缺點的基礎(chǔ)上,采用硬件(FPGA)直接對AD7543轉(zhuǎn)換芯片進行控制的方式來設計數(shù)/模轉(zhuǎn)換電路,給出具體的硬件實現(xiàn)電路和控制器的Verilog HDL實現(xiàn)代碼。因為FPGA控制器是一個獨立單元,它幾乎不需要CPU的干預就能工作,在電路中分擔了CPU的工作量,這不僅提高CPU實時處理信號能力,還會提高系統(tǒng)的可靠性,具有一定的實用價值與參考價值。在此設計了基于FPGA與AD7543轉(zhuǎn)換芯片的數(shù)/模轉(zhuǎn)換電路,AD7543的工作時序全部用FPGA器件產(chǎn)生,提高系統(tǒng)的可靠性。

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