數/模轉換(D/A)電路,是數字系統中常用的電路之一,其主要作用是把數字信號轉換成模擬信號,通常是利用專(zhuān)用的數/模轉換(D/A)芯片來(lái)實(shí)現的。AD7543是Analog Device公司生產(chǎn)的的12位數/模轉換(D/A)芯片,它采用串行數據輸入形式,即數字信號被一位一位地寫(xiě)入AD7543數/模轉換(D/A)芯片中,因此,AD7543要與一個(gè)控制器配合使用才能發(fā)揮作用。常規的方法,是以CPU作為控制部件,通過(guò)軟件編程的方式來(lái)控制AD7543,從而實(shí)現數/模轉換功能的。軟件實(shí)現法雖然簡(jiǎn)單,但必將會(huì )占用大量的CPU時(shí)間,削弱了CPU實(shí)時(shí)處理能力,降低了系統的可靠性。針對以上情況,在此設計了基于可編程邏輯器件(FPGA)數/模轉換電路,利用可編程邏輯器件(FP-GA)直接控制模轉換(D/A)芯片AD7543進(jìn)行數/模(D/A)轉換,取代傳統的“CPU+專(zhuān)用的數/模轉換(D/A)芯片”設計結構,有利于提高系統的抗干擾能力和可靠性。 1 AD7543簡(jiǎn)介 1.1 AD7543主要特性 AD7543主要特性為:
1.2 封裝形式和引腳功能 AD7543有三種封裝形式:16引腳的DIP和20引腳的PCCC與PLCC,其封裝形式如圖1所示,設計者可根據實(shí)現需求進(jìn)行選擇,其引腳功能說(shuō)明如下:
1.3 數/模轉換芯片AD7543器件工作原理 在A(yíng)D7543器件內部,有兩個(gè)寄存器:寄存器A和寄存器B。寄存器A是12位串行輸入并行輸出的移位寄存器,其低位與SRI引腳相連。在STB1,STB2和STB4上升沿或STB3下沿作用下,移位寄存器A發(fā)生移位,SRI引腳上的串行數據被裝進(jìn)寄存器A中,當要寫(xiě)入數據全部被裝進(jìn)寄存器A時(shí),再給AD7543一個(gè)裝載負脈沖(LD1和LD2均為低電平),把移位寄存器A的內容裝到寄存器B中,通過(guò)后續電路完成D/A轉換。當CLR為低電平時(shí),寄存器B的數據被清零,輸出的電壓為零,簡(jiǎn)化初始化過(guò)程。圖2為AD7543數/模轉換(D/A)的工作時(shí)序圖。 2 基于A(yíng)D7543的數/模轉換器電路設計 圖3為基于A(yíng)D7543數/模轉換芯片的數/模轉換器電路,由于A(yíng)D7543的內部無(wú)運算大器,輸出為電流形式,在應用中,必須外接一個(gè)運放器,因此,AD7543的第1和2腳分別接在LM324運放的反向輸入口與同相輸入口,AD7543的第15腳(參考電壓輸入端)接在-10 V的電源上,當寄存器B的位數全為高電平時(shí),輸出電平接近10 V。AD7543的輸入時(shí)序信號CLR,STB2,LD和SRI由外接的可編程邏輯器件(FPGA)產(chǎn)生。AD7543的第8腳和11腳接地。運放器LM324正負電源引腳分別接在正負12 V的電源上。 3 AD7543工作時(shí)序FPGA實(shí)現 AD7543是串行輸入數/模轉換芯片,被轉換數據是逐位寫(xiě)進(jìn)AD7543中,因此,AD7543工作時(shí),要有正確的工作時(shí)序,工作時(shí)序在QuartusⅡ開(kāi)發(fā)環(huán)境中利用硬件描述語(yǔ)言Verilog HDL描述。QuartusⅡ是Altera公司的EDA開(kāi)發(fā)工具,它是集設計輸入、編譯、邏輯綜合、器件引腳管理、功能仿真、定時(shí)分析、編程下載等于一體的可編程邏輯器件設計環(huán)境。 在設計中,為了降低設計成本,FPGA采用Altera公司的Cyclone系列的EP1C6Q240C8芯片。。EP1C6Q240C8芯片,不僅集成了5 980個(gè)邏輯單元 (LEs),還集成了20個(gè)4 KB雙口存儲單元(M4KRAM BLock)和92 160 b的普通高速RAM等資源。 打開(kāi)Quartus II軟件,新建一個(gè)工程管理文件。在工程管理文件中,新建一個(gè)Verilog HDL源程序文件,用硬件描述語(yǔ)言Verilog HDL編寫(xiě)程序,實(shí)現控制功能,其代碼如下: 4 FPGA時(shí)序模塊仿真 為了進(jìn)一步的驗證FPGA控制器模塊的正確性,在下載到目標器件之前,可以對此模塊進(jìn)行時(shí)序仿真。在工程文件中,首先要新建一個(gè)以vwf結尾的波形文件。在彈出的對話(huà)框中添加要觀(guān)察的引腳,然后再設定時(shí)鐘相關(guān)參數和保存波形文件,最后在編譯頂層文件之后,可對此模塊進(jìn)行仿真。如圖4為FPGA控制器模塊仿真波形,CLOCK為此模塊的工作時(shí)鐘,時(shí)間周期設為40 ns;ida為并行輸入數據,STI為串行輸出,STB1為選通脈沖信號。由圖可知,STB1的上升沿把STI引腳上的數據裝入寄存器A中,裝滿(mǎn)寄存器A后,LOD設為低電平,把寄存器A的內容裝入寄存器B中。仿真時(shí)序與圖1的時(shí)序一致,滿(mǎn)足設計要求。 5 結 語(yǔ) 針對采用軟件控制AD7543數/模轉換芯片所具有的缺點(diǎn)的基礎上,采用硬件(FPGA)直接對AD7543轉換芯片進(jìn)行控制的方式來(lái)設計數/模轉換電路,給出具體的硬件實(shí)現電路和控制器的Verilog HDL實(shí)現代碼。因為FPGA控制器是一個(gè)獨立單元,它幾乎不需要CPU的干預就能工作,在電路中分擔了CPU的工作量,這不僅提高CPU實(shí)時(shí)處理信號能力,還會(huì )提高系統的可靠性,具有一定的實(shí)用價(jià)值與參考價(jià)值。在此設計了基于FPGA與AD7543轉換芯片的數/模轉換電路,AD7543的工作時(shí)序全部用FPGA器件產(chǎn)生,提高系統的可靠性。 |