單片機(jī)產(chǎn)生的脈沖信號源由于是靠軟件實(shí)現(xiàn)的,所以輸出頻率及步進(jìn)受單片機(jī)時鐘頻率、指令數(shù)和指令執(zhí)行周期的限制。文中介紹了一種以CPLD為核心的脈沖信號源,脈沖信號源的參數(shù)(頻率、占空比)由工控機(jī)通過I/O板卡設(shè)置,設(shè)定的參數(shù)由數(shù)碼管顯示,這種脈沖信號源與其它脈沖信號發(fā)生電路相比具有輸出頻率高、步進(jìn)小(通過選用高速CPLD可提高頻率及縮小步進(jìn))、精度高、參數(shù)調(diào)節(jié)方便、易于修改等優(yōu)點(diǎn)。
1 系統(tǒng)組成及工作原理
脈沖信號源電路核心采用一片可編程邏輯器件EPM7128SLC84—10,它屬于Ahera公司MAX7000系列產(chǎn)品,MAX7000系列產(chǎn)品是高密度、高性能的CMOS EPLD,是工業(yè)界速度最快的可編程邏輯器件系列,它是在Ahera公司的第二代MAX結(jié)構(gòu)基礎(chǔ)上采用先進(jìn)的CMOS EEPROM技術(shù)制造的。MAX7000系列產(chǎn)品包括MAX7000E、MAX7000S、MAX7000A,集成度為600~5 000可用門,有32~256個宏單元和36—155個用戶I/0引腳。這些基于EEPROM的器件能夠組合傳輸延遲快至5.0 ns,16位頻率為178 MHz。此外,它們的輸入寄存器的建立時間非常短,能夠提供多個系統(tǒng)時鐘且有可編程的速度/功率控制。
MAX7000S是MAX7000系列的增強(qiáng)型,具有高密度,是通過工業(yè)標(biāo)準(zhǔn)4引腳JTAG接口實(shí)現(xiàn)在線可編程的,在線編程電壓為5 V。EPM7128SLC84—10有128個邏輯宏單元,2 500個門電路,8個邏輯陣列塊,68個L/O管腳,速度等級為一6(傳輸延遲6 ns),最高時鐘頻率為147.1 MHz。整個信號產(chǎn)生及數(shù)碼顯示控制電路(不包括驅(qū)動)集成在一片中。脈沖信號源電路由時鐘源、鎖存器、計數(shù)器、控制電路、驅(qū)動電路以及數(shù)碼管動態(tài)掃描顯示電路組成,電路框圖,如圖l所示。
時鐘電路采用80 MHz有源晶振,它為系統(tǒng)提供時鐘信號;鎖存器1及鎖存器2用于保存頻率及占空比數(shù)據(jù),為16位計數(shù)器提供預(yù)置值,鎖存器位數(shù)為8位,設(shè)定的數(shù)據(jù)通過工控機(jī)輸入,由于計數(shù)器位數(shù)為16位,故需分兩次打人數(shù)據(jù);計數(shù)器1及計數(shù)器2作為定時器,按鎖存器1、2設(shè)定的值計時,兩個計數(shù)器交替工作,即一個計數(shù)器工作而另一個計數(shù)器不工作。當(dāng)工作的計數(shù)器到達(dá)計時時間后,向控制電路發(fā)出時間到信號??刂齐娐方邮沼嫈?shù)器發(fā)出的信號,停止計數(shù)器工作,并重新裝載計時數(shù)據(jù),同時啟動另一個計數(shù)器工作,從而產(chǎn)生規(guī)定頻率、占空比的脈沖信號,并輸出兩路脈沖信號,如圖2所示。為了提高信號源帶負(fù)載能力,輸出使用了7417367驅(qū)動芯片增加驅(qū)動電流。
顯示電路圖,如圖4所示,其中需要顯示的數(shù)據(jù)代碼通過工控機(jī)輸入。緩沖器74LS244用做多路開關(guān),當(dāng)選通信號有效時,該路鎖存數(shù)據(jù)有效,數(shù)碼管顯示相應(yīng)的數(shù)據(jù)。
頻率及占空比數(shù)據(jù)按如下方式計算:
設(shè)要輸出的頻率為f,占空比為D,則鎖存器1、2要設(shè)定的值分別為
其中fOSC為系統(tǒng)時鐘,C1、C2采用2進(jìn)制補(bǔ)碼。由式(1),式(2)式可得到頻率及占空比計算式
由上式可以看出信號源最高輸出頻率取決于系統(tǒng)時鐘頻率,最高頻率為系統(tǒng)時鐘頻率的一半(C1、C2均為1),要提高信號源輸出頻率必須提高系統(tǒng)時鐘頻率,既采用高頻晶振或倍頻電路。占空比取決于C1與C1+C2的比值,輸出頻率為最高頻率時,占空比為50%;同樣最小步進(jìn)也取決于系統(tǒng)時鐘頻率,提高系統(tǒng)時鐘頻率,就可使步進(jìn)縮小。
如果要信號源輸出頻率為500 kHz,占空比為0.5的脈沖波,則按式(1)、式(2)可以算出,C1=C2=HB0(16進(jìn)制數(shù))。將C1、C2通過工控機(jī)置入CPLD中。如果C1、C2為小數(shù),則需取整,取整后需按式(3)、式(4)重新計算頻率和占空比,算出的值為實(shí)際的頻率與占空比。
2 硬件編程
開發(fā)軟件采用Max PlusⅡ10.2,編程采用VHlDL硬件描述語言。
編程采用層次結(jié)構(gòu),整個程序采用頂層模塊和底層模塊。頂層模塊,如圖4所示。底層模塊包括系統(tǒng)包含的各組件。
整個程序編寫完成后進(jìn)行編譯、仿真,仿真結(jié)果,如圖5所示。編譯、仿真通過后都正確,即可通過JTAG接口將程序下載到目標(biāo)板CPLD中,目標(biāo)板即可使用。
3 系統(tǒng)控制軟件
系統(tǒng)控制軟件采用LabWindows/CVI編寫,為了給鎖存器置數(shù),可采用如下程序?qū)崿F(xiàn):
4 技術(shù)指標(biāo)
本脈沖信號源輸出脈沖頻率:20~700 kHz,占空比:1%~40%,時鐘采用80 MHz有源晶振。在700 kHz時頻率步進(jìn)為6 kHz,20 kHz時頻率步進(jìn)為5 Hz。
5 結(jié)束語
由于采用了EPM7128SLC84—10作為脈沖信號源的核心。電路結(jié)構(gòu)簡單,頻率、占空比可任意設(shè)置,準(zhǔn)確度高。同時操作簡單方便,功能更易擴(kuò)展。