本系統(tǒng)以AD7892SQ和CPLD(復(fù)雜可編程邏輯器件)為核心設(shè)計(jì)了一個(gè)多路信號(hào)采集電路,包括模擬多路復(fù)用、集成放大、A/D轉(zhuǎn)換,CPLD控制等。采用硬件描述語(yǔ)言Verilog HDL編程,通過(guò)采用CPLD使數(shù)據(jù)采集的實(shí)時(shí)性得到提高。
1 硬件設(shè)計(jì)
針對(duì)多路信號(hào)的采集,本系統(tǒng)采用4/8通道ADG508A模擬多路復(fù)用器對(duì)檢測(cè)的信號(hào)進(jìn)行選擇,CMOS高速放大器LF156對(duì)選中的信號(hào)進(jìn)行放大,AD7892SQ實(shí)現(xiàn)信號(hào)的A/D轉(zhuǎn)換,CPLD完成控制功能。電路如圖1所示。
AD7892SQ是美國(guó)AD公司生產(chǎn)的LC2MOS型單電源12位A/D轉(zhuǎn)換器,可并行或串行輸出。
AD7892SQ A/D轉(zhuǎn)換器具有如下特點(diǎn):?jiǎn)坞娫垂ぷ?+5V或+10V);內(nèi)部含有采樣保持放大器;具有高速的串行和并行接口。
AD7892SQ控制字的功能如下:
a)MODE:輸入控制字,低電平時(shí)為串行輸出,高電平時(shí)為并行輸出,本系統(tǒng)為并行輸出;
b)STANDBY:輸入控制字,低電平時(shí)為睡眠狀態(tài)(功耗5mW),高電平時(shí)正常工作,一般應(yīng)用時(shí)接高電平;
c)CONVST:?jiǎn)?dòng)轉(zhuǎn)換輸入端,當(dāng)此腳由低變高時(shí),使采樣保持器保持開(kāi)始轉(zhuǎn)換,應(yīng)加一個(gè)大于25ns的負(fù)脈沖來(lái)啟動(dòng)轉(zhuǎn)換;
d)EOC:轉(zhuǎn)換結(jié)束信號(hào),轉(zhuǎn)換結(jié)束時(shí),此腳輸出100ns的低電平脈沖;
e)CS:片選,低電平有效;
f)RD:低電平有效,與CS配合讀,使數(shù)據(jù)輸出。
MODE腳接高電平時(shí),AD7892SQ為并行輸出,時(shí)序如圖2所示。
在EOC下降沿時(shí)間內(nèi)開(kāi)始采樣,就是轉(zhuǎn)換一結(jié)束就開(kāi)始下次采樣,采樣時(shí)間fACQ應(yīng)大于等于200ns或400ns,轉(zhuǎn)換結(jié)束后(即E0C的下降沿),當(dāng)CS和RD有效時(shí),經(jīng)過(guò)t6=40ns的時(shí)間,就可以在DB0-DB11上獲得轉(zhuǎn)換之后的12位數(shù)據(jù),CS和一般的片選信號(hào)相同,可以一直有效,外加RD的時(shí)間T5也應(yīng)大于35ns。CONVST信號(hào)t1應(yīng)大于35ns,在上升沿時(shí)采樣保持器處于保持狀態(tài),開(kāi)始A/D轉(zhuǎn)換,轉(zhuǎn)換所需的時(shí)間tCONV為1.47μs或1.6μs,轉(zhuǎn)換結(jié)束后,EOC腳輸出的t2為大于等于60ns的負(fù)脈沖用來(lái)進(jìn)行中斷或數(shù)據(jù)鎖存。由此得出下次采樣和本次的輸出可以同時(shí)進(jìn)行,因此最小的一次采樣轉(zhuǎn)換輸出的時(shí)間為1.47+0.2=1.67μs(600kSPS(千次采樣每秒)),最大1.6+0.4=2μs(即500kSPS),圖2中的t9大于等于200ns,t7近似為5ns,t3、t4、t8可為0,(此時(shí)t9=tACQ)。
2 程序設(shè)計(jì)
2.1 系統(tǒng)介紹
系統(tǒng)中的CPLD是結(jié)構(gòu)比較復(fù)雜的可編程邏輯器件,硬件描述語(yǔ)言設(shè)計(jì)的控制程序?qū)懭隒PLD內(nèi)即可實(shí)現(xiàn)其功能。系統(tǒng)采集的數(shù)據(jù)常常放在數(shù)據(jù)緩存器中,數(shù)據(jù)緩存區(qū)要求既要有與A/D轉(zhuǎn)換芯片的接口,又要有與系統(tǒng)DSP的接口,以提高數(shù)據(jù)吞吐率,本系統(tǒng)選用FIF0(先進(jìn)先出),并且FIF0具有不需要地址尋址的優(yōu)點(diǎn)。
2.2 系統(tǒng)的軟件描述
本系統(tǒng)采用Verilog HDL語(yǔ)言進(jìn)行描述。VerilogHDL被近90%的半導(dǎo)體公司使用,成為一種強(qiáng)大的設(shè)計(jì)工具。其優(yōu)點(diǎn)是:
a)Verilog HDL是一種通用的硬件描述語(yǔ)言,易學(xué)易用;
b)Verilog HDL允許在同一個(gè)電路模型內(nèi)進(jìn)行不同抽象層次的描述,設(shè)計(jì)者可以從開(kāi)關(guān)、門(mén)、RTL或者行為等各個(gè)層次對(duì)電路模型進(jìn)行定義;
c)絕大多數(shù)流行的綜合工具都支持VerilogHDL,這是Verilog HDL成為設(shè)計(jì)者的首選語(yǔ)言的重要原因之一;
d)所有的制造廠商都提供用于Verilog HDL綜合之后的邏輯仿真的元件庫(kù),因此使用Verilog HDL進(jìn)行設(shè)計(jì),即可在更廣泛的范圍內(nèi)選擇委托制造的廠商;
e)PLI(編程語(yǔ)言接口)是Verilog HDL語(yǔ)言最重要的特性之一,它使得設(shè)計(jì)者可以通過(guò)自己編寫(xiě)C代碼來(lái)訪問(wèn)Verilog HDL內(nèi)部的數(shù)據(jù)結(jié)構(gòu)。
2.3 AD7892SQ描述
描述AD7892SQ模塊,可以把模塊用于采集系統(tǒng)的仿真,以驗(yàn)證FSM(有限狀態(tài)機(jī))設(shè)計(jì)的正確性。該模塊主要有4個(gè)輸入信號(hào)和1個(gè)輸出信號(hào),與芯片的控制信號(hào)一致。程序如下:
AD7892SQ仿真波形見(jiàn)圖3。
2.4 FSM描述
FSM為異步工作。當(dāng)convst有效時(shí)停留在convst_ad狀態(tài),且rd和cs都為1,convst為0且處于clock的上升沿時(shí)FSM會(huì)處于4個(gè)狀態(tài)中的一個(gè)狀態(tài)。圖4為FSM仿真波形。
2.5 FIFO描述
FIFO為同步工作。當(dāng)reset有效且處于clock的上升沿時(shí),dout為O;reset為1且處于clock上升沿時(shí),read和write組合的4種情況分別對(duì)應(yīng)各自的工作狀態(tài)。圖5為FIFO仿真波形。
3 結(jié)束語(yǔ)
Verilog HDL硬件描述語(yǔ)言已越來(lái)越廣泛地應(yīng)用于EDA(電子設(shè)計(jì)自動(dòng)化)領(lǐng)域,多數(shù)EDA設(shè)計(jì)工程師都用它進(jìn)行ASIC(專(zhuān)用集成電路)設(shè)計(jì)和CPLD/FPCA開(kāi)發(fā)。用高級(jí)語(yǔ)言進(jìn)行電路設(shè)計(jì),能夠靈活地修改參數(shù),而且極大地提高了電路設(shè)計(jì)的通用性和可移植性。最后需要指出的是,采用IP核的方法設(shè)計(jì)電路,不但可以單獨(dú)使用,而且可以嵌入到ASIC或CPLD/FPGA的電路設(shè)計(jì)中,同時(shí)縮短了產(chǎn)品的開(kāi)發(fā)周期,應(yīng)大力推廣。
作者:秦曉芳 朱堅(jiān)民 郭冰菁 來(lái)源:電子工程師