?

基于CPLD和DS1020的多道數字延遲脈沖發生器

2015-12-07 06:18鐘長勝王軼尊
電子技術應用 2015年1期
關鍵詞:主通道延遲時間寄存器

鐘長勝,王軼尊,高 輝

(中國科學技術大學 國家同步輻射實驗室,安徽 合肥230029)

基于CPLD和DS1020的多道數字延遲脈沖發生器

鐘長勝,王軼尊,高輝

(中國科學技術大學 國家同步輻射實驗室,安徽 合肥230029)

討論了一種可用于飛行時間質譜儀(TOF)的小型多通道時序系統,研制一種新型高精度的可編程數字延遲/脈沖發生器。采用單片機(MCU)作為微控制器,通過可編程邏輯器件(CPLD)和可編程數字延遲線(DS1020)產生所需脈沖,介紹了高速數字系統中的定時誤差問題。該裝置可同時輸出7路脈沖,延遲分辨率最低可達 0.15 ns,脈沖寬度分辨率為 10 ns,可以采用外同步觸發方式完成多臺設備級聯控制。

可編程邏輯器件;可編程延遲線;脈沖發生器

0 引言

在現代的科學實驗、雷達、通信、測試與控制系統中,往往需要高精度的多路數字脈沖信號[1]作為測試或者時序控制信號。目前科研領域使用的數字可編程數字延遲脈沖發生器有 DG535、BNC Model555以及 DEL PDG-2510等進口儀器,其中應用最多的是 DG535。DG535作為一種多用途脈沖發生器,精度高達5 ps,延遲范圍達到 0~999.999 999 999 995 s,可輸出 TTL、ECL、NIM和 VAR 4種電平且幅度與極性可調,但是 DG535僅有4路延遲輸出(脈寬固定),如要同時調節脈寬,只能輸出兩路脈沖,適合于需要通道數目不多的實驗領域,且價格高。綜合考慮,本文采取單片機+可編程邏輯器件的方案,設計一套多路可編程數字延遲脈沖發生器系統。該系統可同時輸出7路脈沖,通過串口與上位機連接后,可以實現輸出脈沖的延遲和寬度以及頻率的實時調節,且能夠多臺設備級聯使用,必要時還可以脫機工作。

1 系統設計方案

多通道數字可編程脈沖發生器典型輸出信號模式如圖1所示。T0是基準門控信號,其他通道CHn(n為1~6)輸出由T0信號的上升沿觸發。系統主要由單片機、可編程邏輯器件、可編程延遲線和脈沖驅動電路組成。

圖1 延遲脈沖發生器典型輸出信號

1.1可編程邏輯器件

目前主流的可編程邏輯器件主要是復雜可編程邏輯器件(CPLD)和現場可編程門陣列(FPGA)。FPGA的內部資源多為觸發器,適合大規模的時序電路;而CPLD內部寄存器資源豐富,適合組合邏輯多的應用。CPLD內部邏輯塊互聯是集總式的,其特點是等延時,設計完成的電路延時固定,且可預測。FPGA內部互聯為分布式,延時和布局有關。FPGA大部分是基于SRAM編程,編程信息在系統斷電時丟失,每次上電后需從器件外部將編程數據重新寫入SRAM,電路也重新布局從而導致延遲不固定,無法預測。

本系統最終采用Altera公司的MAXⅡ系列CPLDEPM1270T144C3N[2]作為數字定時器,其包含 1 270個邏輯單元(LE),典型等價宏單元數目為 980,速度等級為3級,支持高達300 MHz的內部時鐘頻率,其I/O口擺率和驅動能力均可編程,并且可以配置為施密特觸發器從而提高信號完整性,使用非常方便。時鐘源選用100 MHz的外部有源晶振以減小時鐘抖動從而改善時序品質。

可編程邏輯器件的編程語言采用 VerilogHDL[3],它是一種基本語法與C語言非常類似的硬件描述語言。設計和仿真平臺分別選擇QuartusⅡ和ModelSim-Altera。前者是 Altera公司開發的 PLD設計軟件,后者則是Mentor Graphics公司專為Altera開發的仿真工具,可以與QuartusⅡ下的工程文件無縫對接,極大提升仿真效率。

1.2可編程延遲線

高精度的延遲調節通常采用可編程延遲線IC,本系統采用的是Maxim公司的DS1020-15[4]??删幊萄舆t線是一種數字模擬混合電路,它對于輸入脈沖的延時作用由其內部的數字寄存器和斜坡產生器決定。DS1020延遲產生結構如圖2所示。

圖2 DS1020延遲產生結構簡圖

DS1020是一款 8位可編程延時電路,共有256級延時,步進調節為0.15 ns,它可以通過3線串行或并行模式來編程。DS1020工作時序如圖3所示。圖3中的輸入是待延遲的脈沖信號,參考電壓 Vref是其 8比特的輸入寄存器(8-bit input register)經過DAC后的電壓值。當輸入端出現上升沿時,上方的斜坡發生器開始工作,輸出由低至高逐漸上升的電壓;當此電壓值跨越參考電壓Vref后,上方的比較器輸出產生由低至高的翻轉,使鎖存器輸出高電平。輸入信號的下降沿到達之后,下方的斜坡產生器開始工作,待其輸出電壓跨越 Vref后,下方的比較器輸出低電平翻轉,復位鎖存器輸出低電平。

分析DS1020延遲電路工作原理可知,如果脈沖高電平寬度小于所設的延遲時間值tD,則上升沿斜坡產生器輸出電壓沒有足夠時間充電至 Vref,致使延遲失效;另外輸入脈沖高電平寬度必須大于所設延遲時間。

圖3 DS1020的工作時序

1.3系統硬件構成

本系統硬件主要由 ATmega8A[5]、EPM1270T144C3N、DS1020、ADM3251E和鍵盤等模塊構成,如圖4所示。

圖4 系統硬件構成圖

單片機負責系統控制,通過EPM1270對輸出脈沖的脈寬和延遲進行配置,通過DS1020對輸出脈沖延遲進行精細調節,通過RS232與上位機PC通信,也可脫機后改由鍵盤控制操作。除T0外,本系統共有6路子通道輸出,延遲和脈沖寬度的最小分度均為 10 ns,能夠勝任大部分應用場合。為了適應對延遲精度有更高要求的場合,增加兩路延遲細調環節。

2 系統軟件

2.1單片機與CPLD的通信

單片機 ATmega8A內部帶有兩線串行接口TWI模塊,支持高達400 kHz的數據傳輸率,只需稍加配置即可與下游器件CPLD通信。CPLD使用QuartusⅡ軟件的宏模塊工具 MagaWizrad Plug-In Manager生成虛擬 I2C接口,也可手動編寫程序模擬I2C接口完成與單片機的通信[6]。本系統采用手動編程以模擬I2C接口通信,通信速率為40 kHz??刂瞥绦蛑饕蝿帐瞧鹗夹盘?、結束信號的命令和檢測、數據的接收等。I2C模塊結構如圖5所示。

CPLD的I2C模塊時鐘源CLK_I2C為100 MHz,采用3個寄存器REG1、REG2和REG3來緩沖從SDA讀入的電平值。當時鐘線SCL為低電平時,3個寄存器全部變為高阻態,當SCL為高電平時,數據線SDA上的電平值會依次從REG1傳遞至REG3。起始、結束信號甄別模塊內部主要是組合邏輯電路,根據SCL、REG1和REG3的電平鑒別出起始和結束信號。采用3個寄存器以防止干擾信號,即當SCL為高電平時SDA的低電平持續3個時鐘才認為起始信號到來。數據處理模塊在起始信號和結束信號的控制下從數據線SDA接收數據,并從接收到的一連串數據中解析出命令和數據送至下級處理模塊。

圖5 I2C模塊結構簡圖

2.2CPLD脈沖信號的產生

本系統有兩種觸發方式:內部觸發和外部觸發。外觸發信號來自于外部同步設備,內觸發信號則由CPLD內部提供。系統脈沖波形發生結構如圖6所示。

圖6 波形發生結構簡圖

圖6中,主通道模塊負責選擇合適的觸發模式,并且產生內觸發信號。REG_DELAY是27位的延遲時間寄存器,REG_WIDTH是 27位的脈沖寬度時間寄存器,計數器模塊內部是一個27位計數器,如此高位數的計數器占用了CPLD大部分資源,為了節省資源,采用分時復用的方法完成延遲和脈寬時間的計數。具體工作過程為:使能計數器模塊后,觸發信號的上升沿跳變會使Delay_en信號置位,計數器模塊裝入 REG_LEDAY中的數據并開始計數,子通道輸出低電平。計數達到延遲時間值后子通道輸出翻轉為高電平,Delay_en信號清零,同時Width_en信號置位,計數器模塊裝入REG_WIDTH中的數據并開始計數。計數達到脈沖寬度值后輸出翻轉為低電平,同時 With_en信號清零,Delay_en置位以等待下一次觸發,并發送一路脈沖完成信號至主通道模塊。子通道輸出的脈沖信號經過DS1020的精細延遲調節后再由驅動電路增強驅動能力后成為最終輸出。

2.3上位機控制軟件

脈沖發生器通過外觸發可級聯工作,控制多達十余臺設備同步工作,連接各設備的電纜可達數十米,例如一個基體輔助激光解吸/電離飛行時間質譜儀 (TOF)系統中有激光器、脈沖電源等高壓強電裝置,其浪涌幅度可達上千伏,可能會損壞由RS232與脈沖發生器連接的PC,其通信接口采用全隔離RS232通信芯片ADM3251E,可用于各種復雜而惡劣的電氣環境。

上位機控制臺采用C語言編寫的基于API的Windows程序,主通道、各個子通道和延遲細調的參數均可調整,觸發方式和計算機串口號均可隨時切換,每路子通道的參數可以單獨裝載也可一鍵裝載,而且各個子通道配備獨立開關。該控制臺還可以把當前下位機的工作狀態保存起來至本地或者下位機存儲區,并且能夠一鍵讀取本地或者下位機保存的配置文件?!肮ぷ鳡顟B”顯示區用來實時顯示下位機當前狀態,分別為:未連接、待機和工作中。用戶可以通過“工作”和“停止”按鈕來啟動和關閉下位機。

3 系統測試

考慮到可能的現場強流設備干擾,所有7路數字脈沖經由驅動電路輸出,增加箝位和短路保護。脈沖高度最大5 V,可有效驅動50 Ω負載,短路電流達50 mA。本設備輸出端從左至右依次為主通道T0、子通道CH1~CH6共7個輸出通道。其中子通道CH5和通道CH6帶有可編程的延遲細調,細調步長為0.15 ns,最大為255× 0.15=38.25 ns。主通道周期T0:2~134 217 728,步長精度100 ns。子通道延遲:0~134 217 728,步長精度10 ns。子通道脈寬:1~134 217 728,步長精度10 ns。

圖7是由數字熒光示波器 DPO5204采集到的主通道TO(圖中C1所示)和子通道(圖中C2所示)的波形圖。圖中顯示系統工作頻率為200 Hz,延遲設置為零,脈寬設置為 10 ns,上升沿時間(Rising Time)平均值為 3.42 ns。子通道CH1-6相對于主通道 T0的固有延遲時間,其平均值為710 ps,抖動標準差為60 ps。

圖7 主通道和子通道的波形(周期:5 ms,子通道延遲:0,寬度:10 ns,負載:50 Ω)

數字延遲脈沖發生器的重要參數是各子通道輸出脈沖相對于TO主通道觸發脈沖的延遲時間精度,系統誤差主要來自:系統PCB布線、時鐘誤差、器件溫漂、DS1020的誤差等。系統中CPLD輸出的脈沖電平為3.3 V LVTTL電平,通過電平轉換芯片LVC3254后再由驅動器輸出。DS1020的延遲時間由內部的斜坡發生器產生,對電源噪聲和高速開關噪聲十分敏感[4],其電源入口處須用1 μF電容濾波,接地引腳與數字地平面隔開。輸出波形失真主要是由阻抗不匹配引起的多次反射造成的“振鈴”噪聲,以及相鄰信號線的串擾。CPLD的引腳間距僅10 mil,相鄰傳輸線上的開關動作會產生明顯的串擾攻擊“噪聲”[7]。

圖8是該系統用于一個典型飛行時間質譜儀(TOF)的脈沖時序圖。

圖8 一個典型的TOF系統控制時序圖

圖8中CH1~5分別為驅動樣品噴氣閥、激光器、脈沖電源、偏轉電極和數據采集的控制脈沖。首先CH1打開噴氣閥門開始噴入樣品氣體,一定時間(例如200 μs)后氣體到達指定位置,此時CH2啟動激光器電離氣體并由CH3啟動脈沖電源給離子加速,再經過一定時間(例如 300 μs)后由 CH4啟動偏轉電極控制離子軌道,最后離子到達信號采集板CH5啟動數據采集。

4 結論

脈沖發生器是現代測控領域里不可缺少的設備,本系統采用MCU+CPLD的方法設計出一款數字可編程延遲脈沖發生器,實用可靠。本系統可同步輸出7個通道脈沖方波(最大 5 V),最小延時分辨為 0.15 ns,重復觸發周期最大可達 13 s、脈沖輸出延遲、脈寬調節最大可達1.3 s,并提供4種時序觸發方式。

目前該系統已成功應用于中科院北京化學所、合肥國家同步輻射實驗室、中科院合肥物質科學研究院等多家高校和研究單位的飛行時間質譜儀(TOF)系統,用戶反映良好。

[1]高輝,陳文通,王金祥,等.可編程器件在納秒級多通道數字延遲/脈沖發生器中的應用[J].分析儀器,2002(3):13-17.

[2]Altera Corporation.MAXⅡ device handbook[Z].2008.

[3]Samir Palnitkar.VerilogHDL:A guide to design and synthesis[M].北京:電子工業出版社,2012.

[4]Maxim Corporation.DS1020 programmable 8-bit Silicon delay line[Z].1998.

[5]Atmel Corporation.8-bit Atmel Microcontroller with 8 KB in-system Programmable Flash ATmega8A[Z].2013.

[6]EDA先鋒工作室,王誠,蔡海寧,吳繼華,等.Altera FPGA/ CPLD設計基礎篇[M].北京:人民郵電出版社,2011.

[7]Eric Bogatin.Signal integrity:Simplified[M].北京:電子工業出版社,2005.

A high-precision programmable digital pulse generator based on CPLD and DS1020

Zhong Changsheng,Wang Yizun,Gao Hui
(National Synchrotron Radiation Laboratory,University of Science and Technology of China,Hefei 230029,China)

This article discussed a small multichannel timing system,and developed a new high-precision programmable digital delay/pulse generator.The desired pulse was generated through a complex programmable logic device(CPLD)and programmable digital line(DS1020),using a MCU(ATmega8)as the main micro-controller,and the timing errors was discussed.With the resolution of delay being 0.15 ns and resolution of pulse being 10 ns,this machine could generate 7 pulse outputs and could be configured to work in cascade mode by external triggering.

programmable logic device;programmable delay line;pulse generator

TN782

A

0258-7998(2015)01-0057-03

10.16157/j.cnki.0258-7998.2014082703129

2014-08-27)

鐘長勝(1990-),男,碩士研究生,主要研究方向:嵌入式系統開發。

高輝(1963-),男,正高級工程師,主要研究方向:大科學平臺特種電子設備的研究和設計。

猜你喜歡
主通道延遲時間寄存器
寧波舟山港主通道項目全線建成通車
STM32和51單片機寄存器映射原理異同分析
二氧化碳對乙烷燃燒著火延遲時間的影響
LTE 系統下行鏈路FDRX 節能機制研究
Lite寄存器模型的設計與實現
品質工程的浙江范本
——浙江舟山港主通道百年品質工程建設的理念與措施
基于分層COX模型的跟馳反應延遲時間生存分析
試論快修式倒虹吸系統
淺談第六代超深水鉆井船逃生路線的設計
延遲時間對氣輔注射成型氣體穿透行為影響的數值模擬和實驗研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合