《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)脈沖信號(hào)源的CPLD實(shí)現(xiàn)方案
單片機(jī)脈沖信號(hào)源的CPLD實(shí)現(xiàn)方案
摘要: 單片機(jī)產(chǎn)生的脈沖信號(hào)源由于是靠軟件實(shí)現(xiàn)的,,所以輸出頻率及步進(jìn)受單片機(jī)時(shí)鐘頻率、指令數(shù)和指令執(zhí)行周期的限制,。文中介紹了一種以CPLD為核心的脈沖信號(hào)源,,脈沖信號(hào)源的參數(shù)(頻率,、占空比)由工控機(jī)通過I/O板卡設(shè)置,設(shè)定的參數(shù)由數(shù)碼管顯示,,這種脈沖信號(hào)源與其它脈沖信號(hào)發(fā)生電路相比具有輸出頻率高,、步進(jìn)小(通過選用高速CPLD可提高頻率及縮小步進(jìn))、精度高,、參數(shù)調(diào)節(jié)方便,、易于修改等優(yōu)點(diǎn)。
Abstract:
Key words :
  單片機(jī)產(chǎn)生的脈沖信號(hào)源由于是靠軟件實(shí)現(xiàn)的,,所以輸出頻率及步進(jìn)受單片機(jī)時(shí)鐘頻率,、指令數(shù)和指令執(zhí)行周期的限制。文中介紹了一種以CPLD為核心的脈沖信號(hào)源,,脈沖信號(hào)源的參數(shù)(頻率,、占空比)由工控機(jī)通過I/O板卡設(shè)置,設(shè)定的參數(shù)由數(shù)碼管顯示,,這種脈沖信號(hào)源與其它脈沖信號(hào)發(fā)生電路相比具有輸出頻率高,、步進(jìn)小(通過選用高速CPLD可提高頻率及縮小步進(jìn))、精度高,、參數(shù)調(diào)節(jié)方便,、易于修改等優(yōu)點(diǎn)。

  1系統(tǒng)組成及工作原理

  脈沖信號(hào)源電路核心采用一片可編程邏輯器件EPM7128SLC84—10,,它屬于Ahera公司MAX7000系列產(chǎn)品,,MAX7000系列產(chǎn)品是高密度、高性能的CMOSEPLD,,是工業(yè)界速度最快的可編程邏輯器件系列,,它是在Ahera公司的第二代MAX結(jié)構(gòu)基礎(chǔ)上采用先進(jìn)的CMOSEEPROM技術(shù)制造的。MAX7000系列產(chǎn)品包括MAX7000E,、MAX7000S,、MAX7000A,,集成度為600~5000可用門,有32~256個(gè)宏單元和36—155個(gè)用戶I/0引腳,。這些基于EEPROM的器件能夠組合傳輸延遲快至5.0ns,,16位頻率為178MHz。此外,,它們的輸入寄存器的建立時(shí)間非常短,,能夠提供多個(gè)系統(tǒng)時(shí)鐘且有可編程的速度/功率控制。

  MAX7000S是MAX7000系列的增強(qiáng)型,,具有高密度,,是通過工業(yè)標(biāo)準(zhǔn)4引腳JTAG接口實(shí)現(xiàn)在線可編程的,在線編程電壓為5V,。EPM7128SLC84—10有128個(gè)邏輯宏單元,,2500個(gè)門電路,8個(gè)邏輯陣列塊,,68個(gè)L/O管腳,,速度等級(jí)為一6(傳輸延遲6ns),最高時(shí)鐘頻率為147.1MHz,。整個(gè)信號(hào)產(chǎn)生及數(shù)碼顯示控制電路(不包括驅(qū)動(dòng))集成在一片中,。脈沖信號(hào)源電路由時(shí)鐘源、鎖存器,、計(jì)數(shù)器,、控制電路、驅(qū)動(dòng)電路以及數(shù)碼管動(dòng)態(tài)掃描顯示電路組成,,電路框圖,,如圖l所示。  

  時(shí)鐘電路采用80MHz有源晶振,,它為系統(tǒng)提供時(shí)鐘信號(hào),;鎖存器1及鎖存器2用于保存頻率及占空比數(shù)據(jù),為16位計(jì)數(shù)器提供預(yù)置值,,鎖存器位數(shù)為8位,,設(shè)定的數(shù)據(jù)通過工控機(jī)輸入,由于計(jì)數(shù)器位數(shù)為16位,,故需分兩次打人數(shù)據(jù),;計(jì)數(shù)器1及計(jì)數(shù)器2作為定時(shí)器,按鎖存器1,、2設(shè)定的值計(jì)時(shí),,兩個(gè)計(jì)數(shù)器交替工作,即一個(gè)計(jì)數(shù)器工作而另一個(gè)計(jì)數(shù)器不工作,。當(dāng)工作的計(jì)數(shù)器到達(dá)計(jì)時(shí)時(shí)間后,,向控制電路發(fā)出時(shí)間到信號(hào),。控制電路接收計(jì)數(shù)器發(fā)出的信號(hào),,停止計(jì)數(shù)器工作,,并重新裝載計(jì)時(shí)數(shù)據(jù),同時(shí)啟動(dòng)另一個(gè)計(jì)數(shù)器工作,,從而產(chǎn)生規(guī)定頻率,、占空比的脈沖信號(hào),并輸出兩路脈沖信號(hào),,如圖2所示,。為了提高信號(hào)源帶負(fù)載能力,,輸出使用了7417367驅(qū)動(dòng)芯片增加驅(qū)動(dòng)電流,。

  顯示電路圖,如圖4所示,,其中需要顯示的數(shù)據(jù)代碼通過工控機(jī)輸入,。緩沖器74LS244用做多路開關(guān),當(dāng)選通信號(hào)有效時(shí),,該路鎖存數(shù)據(jù)有效,,數(shù)碼管顯示相應(yīng)的數(shù)據(jù)。  

  頻率及占空比數(shù)據(jù)按如下方式計(jì)算:

  設(shè)要輸出的頻率為f,,占空比為D,,則鎖存器1、2要設(shè)定的值分別為  

  其中fOSC為系統(tǒng)時(shí)鐘,,C1,、C2采用2進(jìn)制補(bǔ)碼。由式(1),,式(2)式可得到頻率及占空比計(jì)算式 

  由上式可以看出信號(hào)源最高輸出頻率取決于系統(tǒng)時(shí)鐘頻率,,最高頻率為系統(tǒng)時(shí)鐘頻率的一半(C1、C2均為1),,要提高信號(hào)源輸出頻率必須提高系統(tǒng)時(shí)鐘頻率,,既采用高頻晶振或倍頻電路。占空比取決于C1與C1+C2的比值,,輸出頻率為最高頻率時(shí),,占空比為50%;同樣最小步進(jìn)也取決于系統(tǒng)時(shí)鐘頻率,,提高系統(tǒng)時(shí)鐘頻率,,就可使步進(jìn)縮小。

  如果要信號(hào)源輸出頻率為500kHz,,占空比為0.5的脈沖波,,則按式(1),、式(2)可以算出,C1=C2=HB0(16進(jìn)制數(shù)),。將C1,、C2通過工控機(jī)置入CPLD中。如果C1,、C2為小數(shù),,則需取整,取整后需按式(3),、式(4)重新計(jì)算頻率和占空比,,算出的值為實(shí)際的頻率與占空比。

  2硬件編程

  開發(fā)軟件采用MaxPlusⅡ10.2,,編程采用VHlDL硬件描述語言,。

  編程采用層次結(jié)構(gòu),整個(gè)程序采用頂層模塊和底層模塊,。頂層模塊,,如圖4所示。底層模塊包括系統(tǒng)包含的各組件,。  

  整個(gè)程序編寫完成后進(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)

  本脈沖信號(hào)源輸出脈沖頻率:20~700kHz,占空比:1%~40%,,時(shí)鐘采用80MHz有源晶振,。在700kHz時(shí)頻率步進(jìn)為6kHz,20kHz時(shí)頻率步進(jìn)為5Hz,。

  由于采用了EPM7128SLC84—10作為脈沖信號(hào)源的核心,。電路結(jié)構(gòu)簡(jiǎn)單,頻率,、占空比可任意設(shè)置,,準(zhǔn)確度高。同時(shí)操作簡(jiǎn)單方便,,功能更易擴(kuò)展,。

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