国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA和DDR3 SDRAM的高精度脈沖發(fā)生器設(shè)計(jì)與實(shí)現(xiàn)

2021-03-15 04:24施賽烽葉潤川徐南陽
關(guān)鍵詞:解碼脈沖編碼

施賽烽, 葉潤川, 林 雪, 徐南陽

(合肥工業(yè)大學(xué) 電子科學(xué)與應(yīng)用物理學(xué)院,安徽 合肥 230601)

脈沖發(fā)生器在量子信息領(lǐng)域有著極其重要的作用,在量子實(shí)驗(yàn)中,各個(gè)儀器的控制與同步都離不開脈沖發(fā)生器。例如,在基于固態(tài)自旋量子調(diào)控實(shí)驗(yàn)[1-4]中,會對金剛石中的氮-空位(nitrogen-vacancy,NV) 色心進(jìn)行一些操作,所用的儀器都是由脈沖發(fā)生器進(jìn)行控制,如用脈沖信號控制聲光調(diào)制器(acousto-optic modulator,AOM)來控制激光的通斷、通過控制微波開關(guān)來調(diào)節(jié)發(fā)送微波脈沖的時(shí)間長度進(jìn)而調(diào)控量子自旋狀態(tài)等。

文獻(xiàn)[5]分析了基于專用集成電路(application-specific integrated circuit,ASIC)芯片設(shè)計(jì)的脈沖發(fā)生器[6-7]和基于現(xiàn)場可編程門陣列(field-programmable gate array,FPGA)芯片設(shè)計(jì)的脈沖發(fā)生器[8]的優(yōu)缺點(diǎn);對于本文項(xiàng)目中的實(shí)驗(yàn),基于FPGA的脈沖發(fā)生器更能滿足實(shí)驗(yàn)的需求。本文項(xiàng)目組基于Xilinx Spartan-3E 系列 FPGA芯片和同步動態(tài)隨機(jī)存儲器(synchronous dynamic random-access memory, SDRAM)實(shí)現(xiàn)了最小精度為2 ns的多通道可編程脈沖發(fā)生器[5]。該脈沖發(fā)生器指令存儲空間為32 MiB,通過USB2.0進(jìn)行PC端與硬件端的通信,為實(shí)驗(yàn)帶來了很大便利。然而對于演化時(shí)間非常短的物理現(xiàn)象,脈沖信號的精度和準(zhǔn)確度都非常重要,符合實(shí)驗(yàn)要求的脈沖序列往往非常復(fù)雜,采用2ns精度脈沖發(fā)生器雖然也能完成實(shí)驗(yàn),實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確度卻會受到影響。因此,需要進(jìn)一步提升精度、指令存儲空間等性能,以便更精確地控制實(shí)驗(yàn)儀器,從而提升整個(gè)實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確度。

本文在文獻(xiàn)[5]研究基礎(chǔ)上,采用Xilinx Artix-7系列 FPGA芯片結(jié)合第三代雙倍速率同步動態(tài)隨機(jī)存儲器(third generation of double-data-rate synchronous dynamic random-access memory, DDR3 SDRAM)芯片的方式來實(shí)現(xiàn)精度為1ns的24通道可編程脈沖發(fā)生器。對于本文實(shí)驗(yàn),FPGA芯片等級的提升能使本文設(shè)計(jì)在更高頻率的時(shí)鐘下工作,同時(shí)將USB2.0傳輸提升至USB3.0以達(dá)到更高的數(shù)據(jù)傳輸速度。而DDR3 SDRAM能在時(shí)鐘上升沿和下降沿同時(shí)傳輸數(shù)據(jù)[9-10],在頻率不變的情況下,能完成的數(shù)據(jù)吞吐量是SDRAM的2倍;同時(shí), DDR3 SDRAM相比于前2代,能夠進(jìn)行8位預(yù)讀取[9],其每次讀寫操作位寬可達(dá)256位,大大提高了讀寫效率。

1 設(shè)計(jì)實(shí)現(xiàn)

1.1 系統(tǒng)架構(gòu)

本文高精度數(shù)字脈沖發(fā)生器系統(tǒng)結(jié)構(gòu)框圖如圖1所示,該系統(tǒng)由3部分組成:① 上位機(jī)系統(tǒng),實(shí)現(xiàn)數(shù)字脈沖序列編碼,向FPGA處理模塊發(fā)送指令并接收狀態(tài)反饋信息;② FPGA處理模塊,主要包括數(shù)據(jù)傳輸模塊、編碼和解碼先進(jìn)先出(First-in First-out,FIFO)緩沖模塊、DDR3 SDRAM 控制模塊、數(shù)據(jù)解碼模塊、序列輸出模塊及總控制模塊;③ DDR3 SDRAM 芯片,用來存儲上位機(jī)發(fā)來的脈沖序列數(shù)據(jù)。

圖1 數(shù)字脈沖發(fā)生器系統(tǒng)結(jié)構(gòu)

1.2 軟件設(shè)計(jì)

本設(shè)計(jì)的上位機(jī)采用 Python語言作為控制和編程環(huán)境,大大簡化了控制和編譯難度;同時(shí),用數(shù)字0和1將電平的高低直接表現(xiàn)出來,這種方式最大的優(yōu)點(diǎn)是可以將脈沖信號時(shí)間順序通過數(shù)據(jù)直觀地表現(xiàn)出來[11],但是,采用這種方式也會產(chǎn)生大量的存儲數(shù)據(jù),使得最終輸出的脈沖信號時(shí)間長度完全受限于存儲空間的大小,也大大增加了操作難度。因此,本設(shè)計(jì)對這些二進(jìn)制數(shù)進(jìn)行了編碼,在發(fā)送指令時(shí)只需給定參數(shù)而不用指定每個(gè)時(shí)間片的高、低電平,最終通過編碼數(shù)據(jù)在硬件端的處理算出所有的脈沖信息,從而有效降低了數(shù)據(jù)的復(fù)雜性和實(shí)驗(yàn)人員的操作難度。

編碼后的脈沖數(shù)據(jù)為128 bit,其數(shù)據(jù)格式如圖2所示。

圖2中:停止位stop為最高位,控制脈沖數(shù)據(jù)傳輸?shù)慕Y(jié)束;計(jì)數(shù)位count為96~126位,該31位數(shù)據(jù)控制當(dāng)前脈沖數(shù)據(jù)循環(huán)的次數(shù);序列信息位sequence為低96位,表示24個(gè)通道的脈沖序列信息,每個(gè)通道占4位。

圖2 編碼后的數(shù)據(jù)格式

編碼完成后的數(shù)據(jù)通過USB3.0發(fā)送給FPGA的數(shù)據(jù)傳輸模塊;同時(shí)上位機(jī)發(fā)送控制命令控制FPGA的狀態(tài),并通過數(shù)據(jù)傳輸模塊接收FPGA的狀態(tài)反饋信息[12-13]。

1.3 FPGA硬件實(shí)現(xiàn)

FPGA的數(shù)字邏輯模塊如圖1虛線框內(nèi)所示。

總控制模塊用于接收上位機(jī)發(fā)來的控制指令,從而控制存儲器、FIFO的復(fù)位,存儲控制器的讀寫以及將當(dāng)前狀態(tài)反饋給上位機(jī);數(shù)據(jù)傳輸模塊用于接收上位機(jī)發(fā)來的指令并傳送給總控制模塊,以及將上位機(jī)發(fā)送的編碼數(shù)據(jù)傳輸給編碼FIFO,實(shí)現(xiàn)上位機(jī)與FPGA之間的通信;編碼FIFO模塊和解碼FIFO模塊則是起到了優(yōu)化電路時(shí)序和改變數(shù)據(jù)位寬的作用[14]。

本設(shè)計(jì)通過調(diào)用MIG IP核以及對用戶接口進(jìn)行相應(yīng)的設(shè)計(jì)來實(shí)現(xiàn)對DDR3 SDRAM的控制。外部輸入時(shí)鐘為200 MHz,位寬為32位。DDR3 SDRAM工作時(shí)鐘為400 MHz,而DDR3 SDRAM雙邊沿讀寫數(shù)據(jù)的特點(diǎn)能使讀寫速率達(dá)到800 MHz。DDR3 SDRAM控制器如圖3所示。

圖3 DDR3 SDRAM控制器

寫狀態(tài)包含:① IDLE,初始化完成后,等待寫指令;② FIFO1-WRITE,判斷編碼FIFO中的數(shù)據(jù)是否有效;③ FIFO1-READ,判斷DDR3 SDRAM中的存儲空間是否足夠完成一次突發(fā)寫入,若可以,則將數(shù)據(jù)從編碼FIFO模塊中讀出;④ DDR-WRITE,存儲控制器向DDR3 SDRAM中寫入數(shù)據(jù);⑤ ADDRESS-WRITE,判斷存儲控制器向DDR3 SDRAM中寫入的數(shù)據(jù)是否完成,若完成,則將寫地址加8。讀狀態(tài)包含:① IDLE,初始化完成后,等待讀指令;② FIFO2-READY,判斷FIFO中的存儲空間是否能夠完成一次突發(fā)寫入;③ ADDRESS-READ,判斷讀寫地址是否相同,若相同,則讀地址置0。若不相同,則讀地址加8;④ DDR-READY,判斷DDR3 SDRAM中的數(shù)據(jù)是否有效;⑤ DDR-READ,將數(shù)據(jù)從存儲器中讀出寫入編碼FIFO。

數(shù)據(jù)解碼模塊的功能是將軟件端編碼的數(shù)據(jù)進(jìn)行相應(yīng)的解碼。低96位通道信息數(shù)據(jù)傳輸給序列輸出模塊產(chǎn)生高精度脈沖;31位count值設(shè)計(jì)為一個(gè)減法計(jì)數(shù)器,在count=0之前,循環(huán)地將當(dāng)前96位的通道信息數(shù)據(jù)傳輸給序列輸出模塊;stop用來控制單次脈沖的結(jié)束,stop=1時(shí),停止脈沖數(shù)據(jù)更新;stop=0時(shí),繼續(xù)從解碼FIFO中更新脈沖數(shù)據(jù)。

序列輸出模塊的功能是將解碼模塊產(chǎn)生的96位通道信息數(shù)據(jù)進(jìn)行序列化輸出。數(shù)據(jù)以24×4的形式并行輸入,通過高速并串轉(zhuǎn)換產(chǎn)生脈沖序列。并串轉(zhuǎn)換的過程如圖4所示。

圖4 解碼與高速序列化輸出過程

整個(gè)并串轉(zhuǎn)換過程分為2段,第1段以250 MHz的工作時(shí)鐘完成2位數(shù)據(jù)的并轉(zhuǎn)串,第2段再以500 MHz的工作時(shí)鐘進(jìn)行并串轉(zhuǎn)換,并通過專用數(shù)據(jù)輸出寄存器(dedicated dual data rate output register,ODDR)完成數(shù)據(jù)的輸出。ODDR能實(shí)現(xiàn)數(shù)據(jù)在上升沿和下降沿同時(shí)輸出數(shù)據(jù),因此在500 MHz的工作時(shí)鐘下,最終實(shí)現(xiàn)了24個(gè)通道精度為1 ns的脈沖序列信號,其電平標(biāo)準(zhǔn)為LVCOMS33。

2 測試與驗(yàn)證

本設(shè)計(jì)的軟件環(huán)境采用Python2.7,硬件綜合工具為Vivado2016.3。硬件部分選用Xilinx公司Artix-7系列的XC7A200T-1FGG484芯片和2片Micron公司MT41K256M16TW型號DDR3 SDRAM芯片。2片DDR3 SDRAM的位寬為32位,存儲空間高達(dá)1 GiB。本文對脈沖發(fā)生器進(jìn)行測試的設(shè)備是普源公司的DS4054型號示波器,其帶寬為500 MHz,最高實(shí)時(shí)采樣率為4 GSa/s。最終的測試與實(shí)驗(yàn)結(jié)果如圖5所示。

圖5 脈沖測試和拉比振蕩實(shí)驗(yàn)結(jié)果

圖5a所示為同一時(shí)間脈沖發(fā)生器3個(gè)通道的輸出脈沖信號,其寬度的設(shè)置分別為1、2、4 ns。由圖5a可知,其輸出實(shí)際值與設(shè)定值基本吻合。因此,可以得出以下結(jié)論:① 可以產(chǎn)生最小脈沖寬度和精度為1 ns的信號;② 上升沿和下降沿時(shí)間均小于1 ns;③ 各個(gè)通道可獨(dú)立穩(wěn)定工作。

本文還通過拉比振蕩實(shí)驗(yàn)分別對2種精度的脈沖發(fā)生器進(jìn)行了驗(yàn)證。首先,通過一段532 nm激光將電子自旋態(tài)以較高保真度初始化到ms=0基態(tài)上,然后施加微波脈沖序列實(shí)現(xiàn)電子自旋態(tài)翻轉(zhuǎn)[15],最后利用激光讀出NV電子自旋熒光信息。

由圖5b可知,2種精度下擬合系數(shù)分別為0.97、0.78,這表明用1 ns精度產(chǎn)生的數(shù)據(jù)擬合度更高;2種精度下差值平方和分別為0.78、1.34,這表明1 ns精度擬合圖形上的點(diǎn)與真實(shí)實(shí)驗(yàn)數(shù)據(jù)差值更小。由此可見,本文設(shè)計(jì)的1 ns精度脈沖發(fā)生器大大提高了實(shí)驗(yàn)數(shù)據(jù)的準(zhǔn)確性。

3 結(jié) 論

本文實(shí)現(xiàn)了基于FPGA和DDR3 SDRAM的1 ns精度多通道可編程脈沖發(fā)生器。本設(shè)計(jì)在提高精度和提升指令存儲空間的同時(shí),仍保持了2 ns精度脈沖發(fā)生器多通道、可編程、可與外部時(shí)鐘同步等特點(diǎn)。對系統(tǒng)產(chǎn)生的脈沖信號進(jìn)行測試,結(jié)果表明,輸出脈沖達(dá)到1 ns精度且各通道工作穩(wěn)定、互不影響。采用NV量子實(shí)驗(yàn)平臺通過拉比振蕩實(shí)驗(yàn)對本設(shè)計(jì)加以驗(yàn)證,并與2 ns精度的脈沖信號對比,結(jié)果表明其不僅能夠產(chǎn)生符合量子調(diào)控實(shí)驗(yàn)需求的脈沖信號,而且能使實(shí)驗(yàn)數(shù)據(jù)更加準(zhǔn)確。由于本設(shè)計(jì)的最小精度主要受限于FPGA芯片的工作頻率,隨著FPGA性能不斷進(jìn)步,本設(shè)計(jì)可達(dá)到的最小精度仍會有很大的提升空間。

猜你喜歡
解碼脈沖編碼
基于非因果濾波和零點(diǎn)法的近斷層脈沖型地震動識別方法
生活中的編碼
他克莫司聯(lián)合超脈沖CO2點(diǎn)陣激光治療慢性濕疹的療效觀察
激光脈寬對熔融石英中超連續(xù)光譜的影響*
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應(yīng)用
文化解碼
解碼eUCP2.0
文化 解碼
文明 解碼
临洮县| 苏尼特左旗| 祁连县| 温州市| 健康| 寿光市| 盐山县| 新安县| 隆子县| 岫岩| 牟定县| 教育| 太和县| 肥城市| 云安县| 昌宁县| 潜江市| 庆元县| 天长市| 弋阳县| 石棉县| 瑞昌市| 竹北市| 海口市| 彩票| 彭州市| 南安市| 师宗县| 原平市| 仪陇县| 乌苏市| 北票市| 浏阳市| 墨玉县| 温州市| 富源县| 泸水县| 汶川县| 祁门县| 昔阳县| 多伦县|