基于CPLD的數字延遲線(xiàn)設計
1. 引言
本文引用地址:http://dyxdggzs.com/article/201706/349088.htmKicker電源是“九五”國家重大科學(xué)工程之一蘭州重離子加速器冷卻儲存環(huán)(HIRFL-CSR)的注入引出系統中一個(gè)重要組成部分[1] ,電源系統共包括六個(gè)分電源,它們需從共同的信號源接收信號,由于要求它們接收到的信號為同步信號而又因為地理位置致使其接收的信號是不可能完全同步的,為使其接收到同步信號需要在各分電源前端各配置一高速脈沖數字延遲線(xiàn),對輸入信號進(jìn)行調節使經(jīng)過(guò)數字延遲線(xiàn)后所有信號達到同步的效果。數字延遲線(xiàn)要求其延遲時(shí)間可調,時(shí)間范圍為:5ns~300ns。延遲線(xiàn)是用于將電信號延遲一段時(shí)間的元件或器件,其廣泛使用在雷達、電子計算機、彩色電視系統、通信系統,以及測量?jì)x器中。
隨著(zhù)EDA技術(shù)的廣泛應用,CPLD已成為現代數字系統設計的主要手段, CPLD的時(shí)鐘延遲可達到ns級,結合其并行工作方式,在超高速、實(shí)時(shí)測控方面有非常廣闊的應用前景;并且CPLD具有高集成度、高可靠性,幾乎可將整個(gè)設計系統下載于同一芯片中,實(shí)現所謂片上系統,從而大大縮小其體積。CPLD目前正朝著(zhù)更高速、更高集成度、更強功能和更靈活的方向發(fā)展[2]。采用CPLD來(lái)實(shí)現數字延遲線(xiàn)系統,不但大大節省電路開(kāi)發(fā)費用,而且能提高設計效率,同時(shí)還能有效實(shí)現電路的數字化與微型化。
2 數字延遲線(xiàn)工作原理
數字延遲線(xiàn)是將邏輯信號延遲一段時(shí)間的元件或器件。通常數字延遲線(xiàn)的設計思路是通過(guò)兩個(gè)參數完全相同的延遲模塊分別對脈沖的上升沿和下降沿進(jìn)行延遲來(lái)達到脈沖信號整體延遲一段時(shí)間的效果。而由于實(shí)際上不可能存在參數完全相同的延遲模塊使得脈沖前后沿的延遲時(shí)間不可能完全相同,所以這種設計的數字延遲線(xiàn)的延遲精度不可能很高。如果僅用一個(gè)延遲模塊就能同時(shí)完成脈沖前后沿的延遲,這樣就即節省了電路制作成本又提高了延遲線(xiàn)的延遲精度。本文正是基于這一思想并使用CPLD芯片來(lái)實(shí)現數字延遲線(xiàn)的設計的。
本數字延遲線(xiàn)整體思想是:延遲模塊在觸發(fā)信號上升沿到來(lái)時(shí)開(kāi)始工作,邏輯控制電路控制其輸出為輸入脈沖同相信號或輸入脈沖反相信號,邏輯控制電路輸出用于觸發(fā)延遲模塊,在延遲線(xiàn)輸入脈沖上升沿到來(lái)時(shí),邏輯控制電路輸出為與輸入脈沖同相信號,進(jìn)而觸發(fā)延遲模塊,在延遲線(xiàn)輸入脈沖下降沿到來(lái)時(shí),邏輯控制電路輸出為與輸入脈沖反相信號,該信號剛好為上升沿,進(jìn)而觸發(fā)延遲模塊進(jìn)行延遲。同時(shí)該數字延遲線(xiàn)設計采用了反饋網(wǎng)絡(luò )結構,結構更緊湊,更穩定。具體工作原理如下:
圖1 數字延遲線(xiàn)電路工作原理時(shí)序圖
延遲線(xiàn)輸入信號A,其反相信號 ,兩信號通過(guò)邏輯控制模塊其輸出信號O1與其中一路信號同相,該信號接入可逆計數器模塊置位端,當O1信號上升沿到來(lái)時(shí)觸發(fā)可逆計數器開(kāi)始計數,計數器計數結束后輸出信號CK觸發(fā)T觸發(fā)器使T觸發(fā)器輸出態(tài)Q和 反相,輸出端Q為該數字延遲線(xiàn)的輸出端,其相對輸入信號A有可逆計數器計數時(shí)間T的相對延遲,同時(shí)T觸發(fā)器的輸出端Q和 又作為邏輯控制模塊的選擇控制信號對信號A和 進(jìn)行選擇。初試狀態(tài)下延遲線(xiàn)輸入信號為低電平,T觸發(fā)器輸出端即延遲線(xiàn)輸出端Q也為低電平,此時(shí)邏輯控制模塊選擇輸入信號A使其輸出信號O1和信號A同相,信號O1輸入至計數器置位端,計數器置位端低電平有效,所以O1使可逆計數器處于置位狀態(tài),使計數器輸出端狀態(tài)恒處于預置位狀態(tài),計數器輸出信號不發(fā)生改變,即而T觸發(fā)器輸出Q不發(fā)生改變,當信號A上升沿到來(lái)時(shí),信號O1上升沿同時(shí)到來(lái)使其變?yōu)楦唠娖?,高電平觸發(fā)計數器開(kāi)始減計數,當計數器計數至0時(shí),計數器輸出端經(jīng)或非門(mén)輸出的信號CK由低電平變?yōu)楦唠娖?,該上升沿觸發(fā)T觸發(fā)器使其輸出端Q反相,由低電平變?yōu)楦唠娖?,同時(shí)T觸發(fā)器的輸出端Q和 作為邏輯控制模塊的選擇控制信號使其輸出信號O1變?yōu)榕c 同相,而此時(shí) 為低電平,所以O1信號使計數器處于置數狀態(tài)輸出為預置數,使得CK有變?yōu)榈碗娖?,T觸發(fā)器不翻轉,所有信號維持此狀態(tài)不變。當輸入信號A出現下降沿,既由高電平變?yōu)榈碗娖綍r(shí),信號 出現上升沿使得O1有低電平變?yōu)楦唠娖?,O1觸發(fā)計數器減計數,減計數至0時(shí),使得CK信號由低電平變?yōu)楦唠娖?,該上升沿觸發(fā)T觸發(fā)器使器輸出反相,一方面使得邏輯控制模塊輸出信號變?yōu)榕cA信號同相,處于低電平使計數器處于預置數狀態(tài),使得電路狀態(tài)又恢復到初始狀態(tài),當輸入信號A又有脈沖到來(lái)時(shí),數字延遲線(xiàn)將會(huì )重復以上動(dòng)作;另一方面使得輸出端Q出現下降沿,又高電平變?yōu)榈碗娖?,與輸入信號A同相。整個(gè)過(guò)程來(lái)看T觸發(fā)器輸出Q相對輸入信號A剛好有一個(gè)計數器計數時(shí)間Δt的延遲。數字延遲線(xiàn)電路工作原理的時(shí)序圖如圖1所示。由圖1還可看出,同時(shí)T觸發(fā)器的輸出端 也是數字延遲線(xiàn)輸入信號 的延遲信號。所以該數字延遲線(xiàn)即可以延遲高電平脈沖,也可以延遲低電平脈沖。
該數字延遲線(xiàn)電路特點(diǎn)總結如下:1、電路結構相對簡(jiǎn)單,造價(jià)低廉。而一般延遲線(xiàn)電路都需要兩個(gè)完全相同的電路分別完成對輸入信號的上升沿和下降沿的等時(shí)間延遲以實(shí)現數字延遲線(xiàn)的功能[3],而且也不可能做到兩電路參數完全相同。2、邏輯功能強,該延遲線(xiàn)可同時(shí)完成高、低脈沖電平的延遲。3、電路為時(shí)鐘脈沖定時(shí)的延遲線(xiàn),特別適用于數字通信、數字儀表及使用計算機的設備中。電路延時(shí)精度僅取決于時(shí)鐘脈沖CP的周期,受環(huán)境溫度、電源波動(dòng)等因素的影響甚微,所以延遲時(shí)間非常穩定、精確,最大誤差只是1個(gè)字的計數誤差,時(shí)鐘頻率越大,延遲精度越高。4、電路可編程端即計數器預置數端DCBA可以由程序控制,DCBA端輸入不同的BCD碼得到不同的延遲時(shí)間的延遲線(xiàn)。延遲時(shí)間Δt=n×1/f,其中,f為時(shí)鐘脈沖CP的頻率,n為DCBA輸入端的BCD碼對應的十進(jìn)制數。5、該數字延遲線(xiàn)的局限是它只能處理比其延遲時(shí)間長(cháng)的脈沖信號,這也是現今數字延遲線(xiàn)的局限[4],但是該電路并不局限于只能處理占空比接近50%的脈沖信號,而是不受脈沖信號占空比的限制。
3 系統實(shí)現
圖2 系統結構圖
高速可程控數字延遲線(xiàn)系統的整體結構圖如圖所示。Kicker電源需要接收三路信號:主閘流管脈沖信號(MS)、從閘流管脈沖信號(DS)和高壓脈沖信號(HV),故需要完成對這三路脈沖信號的可編程延遲。系統采用CPLD完成對三路信號的高速可程控延遲,CPLD外圍電路包括晶體振蕩器、系統復位電路及DCBA編程。延遲時(shí)間Δt由晶體振蕩器輸出時(shí)鐘頻率f和DCBA編程值共同確定,調節范圍為(1 ~ 24-1)/f。DCBA編程值設置值為0000 ~ 1111,當時(shí)鐘頻率f=200MHz時(shí),延遲時(shí)間調節范圍為5ns ~ 75ns,時(shí)間調節精度為5ns。
CPLD芯片包括三路數字延遲線(xiàn)模塊,單模塊的數字延遲線(xiàn)原理圖如圖3所示,包括MUX模塊、COUNTER_CDL模塊、MYCH模塊、MYTFF模塊和MYSEL模塊。數字延遲線(xiàn)模塊采用VHDL語(yǔ)言進(jìn)行編程,程序碼較長(cháng),限于篇幅,不再給出其VHDL源程序碼[5][6],各模塊功能如下:
圖3 數字延遲線(xiàn)原理圖
MUX模塊為邏輯控制模塊,輸出Q由控制端SEL電平高低選擇輸出與輸入D0同相或反相。COUNTER_CDL為可逆計數器模塊,根據DCBA編程設定值對信號進(jìn)行延遲,MYCH模塊將總線(xiàn)信號轉換為單路信號,使輸出信號僅在總線(xiàn)信號值為“0000”時(shí)輸出信號為低電平。MYCH模塊輸出信號上升沿可觸發(fā)MYTFF模塊輸出反相,MYTFF模塊為T(mén)觸發(fā)器,其輸出即為數字延遲線(xiàn)信號,該信號同時(shí)作為MUX模塊的控制輸入端控制MUX模塊的輸出。當DCBA編程設定值為“0000”時(shí),MYTFF輸出信號并不是數字延遲線(xiàn)輸入信號,即以上設計不能完成零延時(shí),MYSEL模塊為信號選擇輸出模塊,在DCBA編程碼為“0000”時(shí),輸出為延遲線(xiàn)輸入信號,否則,輸出為編程延遲信號。
圖4 EPM3032ALC44-4的I/O布局
4 仿真及波形
本系統采用的CPLD芯片為ALTERA公司的EPM3032ALC44-4芯片,其最高運行頻率為227.3MHz。采用MAX+PLUSⅡ10.0軟件工具開(kāi)發(fā)。設計輸入完成后,進(jìn)行整體的編譯和邏輯仿真,然后進(jìn)行轉換、延時(shí)仿真生成配置文件,最后下載至CPLD器件,完成結構功能配置,實(shí)現其硬件功能。CPLD芯片EPM3032ALC44-4的各管腳布局如圖4所示。其中clk時(shí)鐘端口采用了芯片的全局時(shí)鐘端,管腳號為43,輸入信號為ms、ds和hv,輸出為mso、dso和hvo。各管腳序號見(jiàn)圖4所示。
數字延遲線(xiàn)模塊編譯后進(jìn)行仿真,所得仿真波形圖如圖5所示。DCBA編程十進(jìn)制值為4,延遲線(xiàn)輸出信號Sigout相對輸入信號Signal剛好由4個(gè)時(shí)鐘周期的延遲。Clk時(shí)鐘頻率設定為f=100MHz,即周期T=10ns,所以延遲時(shí)間Δt=4×10=40ns. 延遲線(xiàn)最大延遲誤差只是1個(gè)字的計數誤差,所以時(shí)鐘脈沖頻率越高,誤差越小,由于采用的CPLD芯片的最高運行頻率為227.3MHz,所以最小延遲誤差約為4.5ns。如果采用工作頻率更高的CPLD芯片,可進(jìn)一步提高延遲誤差的精度。由定時(shí)分析,輸入信號到輸出信號傳播延遲為4.5ns,由時(shí)鐘信號clk到輸出信號的傳播延遲時(shí)間為9.1ns.
5 結論
本文作者創(chuàng )新點(diǎn):摒棄了傳統的采用兩個(gè)參數完全相同的延遲模塊來(lái)實(shí)現數字延遲線(xiàn)的設計方法,設計了一種由單一模塊可同時(shí)對脈沖上升沿和下降沿進(jìn)行延遲的數字延遲線(xiàn),并采用了CPLD用以實(shí)現高速可程控數字延遲線(xiàn)系統的設計。另外,該數字延遲線(xiàn)系統可通過(guò)提高晶振頻率,采用速度更高的CPLD芯片來(lái)進(jìn)一步降低延遲誤差。本文所述系統已完成調試工作并已開(kāi)始應用于蘭州重離子加速器冷卻儲存環(huán)(HIRFL-CSR)的Kicker電源系統中。
評論