【正文】
....................26 致謝 ..............................................................................................................................27 附錄 ..............................................................................................................................28 第一章 前言 1 第一章 前言 選課的背景及意義 時(shí)間既是一個(gè)抽象的概念,又是物質(zhì)存在和運(yùn)動(dòng)的基本屬性之一。 關(guān)鍵詞 : 時(shí)間 數(shù)字轉(zhuǎn)換器 FPGA 計(jì)數(shù)器 門延遲 分辨率 Abstract II Design of Time to Digital Converter based on FPGA Abstract Time is one of the basic attribute of material?s existence and exercise, it?s an essential parameter of scientific researches, scientific experiments, engineering technology and other technology fields. Timedigital converter, as a time measurement technology core, are widely used in many fields. There are many ways to implement the timedigital converter, such as the counter method, the current integration method, the gate delay method and the FPGA method. This thesis designed a FPGA based TDC, the design idea is using the counter as a crude time interval measurement, the gate delay as a precise time interval measurement, and finally, the system is achieved by the FPGA. In the design, with the language of Verilog HDL, we achieved the software design of the edge detection, the counter and the outputting of serial. A measurement range of 30min, 1ns resolution of the largescale, highresolution TDC system is designed. This system is portable, if the clock frequency and the accuracy of gate delay are improved, it can be used in particle detection, laser ranging and timing positioning and any other fields. Keywords: Time to Digital Converter。 實(shí)現(xiàn)時(shí)間 數(shù)字轉(zhuǎn)換電路的方法有許多種,如計(jì)數(shù)器法、電流積分法、門延遲法以及 FPGA 法等。時(shí)間 數(shù)字轉(zhuǎn)換器作為時(shí)間測量技術(shù)的核心,在諸多領(lǐng)域都有廣泛的應(yīng)用。本系統(tǒng)可移植性強(qiáng),在提高時(shí)鐘頻率和門延遲精度后可應(yīng)用于微粒子探測、激光測距和定時(shí)定位等領(lǐng)域。 Gate delay。本文所討論的時(shí)間均指后者。 TDC 技術(shù)也 被 廣泛的應(yīng)用于有機(jī)合成、石油化工、農(nóng)藥殘留檢測等方面,具有良好的發(fā)展前景。目前,世界各強(qiáng)國都在努力地發(fā)展這項(xiàng)技術(shù)。在美國, PTTI 年會決定每年對該專題進(jìn)行討論,美國國家科學(xué)院已把它作為評估國防力量的重要標(biāo)志之一。因此,我國在這方面的技術(shù)還比較落后,急需大力的發(fā)展和研究。 這兩種設(shè)計(jì)都具有各自的特點(diǎn)??傮w看來,這兩種實(shí)現(xiàn)方法都存在各自的缺點(diǎn)和弊端,一定程度上限制了 TDC 技術(shù)的開發(fā)應(yīng)用?;?FPGA 的 TDC 電路設(shè)計(jì)工藝簡單、成本低、設(shè)計(jì)難度小且流片成功率高。在軟件設(shè)計(jì)方面采用 Verilog 語言對 FPGA 芯片進(jìn)行程序設(shè)計(jì)。精密的時(shí)間間隔測量在諸如地球動(dòng)力學(xué)研究、相對論研究、原子核和粒子物理、脈沖星周期研究和人造衛(wèi)星動(dòng)力學(xué)研究等基礎(chǔ)研究領(lǐng)域有著重要的作用。接下來,本文將介紹幾種 TDC 電路實(shí)現(xiàn)的方法。在收到 stop信號時(shí),由于計(jì)數(shù)器的計(jì)算是以接收到的上升沿個(gè)數(shù)為基準(zhǔn), T1 也被當(dāng)做測量到的有效時(shí)間。 對計(jì)數(shù)器法進(jìn)行誤差分析可知,采用計(jì)數(shù)器實(shí)現(xiàn)時(shí)間間隔測量的誤差在最不理想的情況下將接近一個(gè)時(shí)鐘周期。其示意圖如圖 22 所示。采用這種方法式,可以做出分辨率很高的時(shí)間數(shù)字轉(zhuǎn)換器。 圖 22 電流積分法示意圖 Tref t1 t0 0 T0 t2 t3 T1 CLK stop start Reset I C start ADC stop 第二章 時(shí)間 數(shù)字轉(zhuǎn)換技術(shù)研究與分析 6 門延遲法 近年來,由于 CMOS 的發(fā)展,門時(shí)間延遲可達(dá)皮秒級別。由此可以計(jì)算出 start 信號與 stop 信號之間的時(shí)間間隔。目前有些 FPGA 已經(jīng)達(dá)到 ASIC 工藝水平,具有很高的密度,能在高速的片上時(shí)鐘 下工作。正是基于 FPGA 實(shí)現(xiàn)法具有的優(yōu)點(diǎn),本設(shè)計(jì)決定采用基于 FPGA 實(shí)現(xiàn) TDC 的設(shè)計(jì)方案。如何實(shí)現(xiàn)一個(gè)在保證很高分辨率的情況下,又能測量較大范圍的時(shí)間間隔的時(shí)間 數(shù)字轉(zhuǎn)換器?這成為了一個(gè)十分有意義的課題。 圖 31 硬件系統(tǒng)總體設(shè)計(jì)圖 開發(fā)板介紹 根據(jù)硬件設(shè)計(jì)的要求,本設(shè)計(jì)采用如圖 32 所示的開發(fā)板。本文將對開發(fā)板幾個(gè)主要功能模塊進(jìn)行介紹。板上的 JTAG 調(diào)試接口有 10 個(gè)針孔插座,如圖 34所示,每個(gè)針對應(yīng)的信號都不同。下面給出了常用的三種 FPGA 芯片圖片,如圖 35。 在電源方面,只需外接 DC5V 電源即可。支持 FPGA 開發(fā),提供引腳信息,預(yù)留 PLL 資源,支持?jǐn)U展設(shè)計(jì); 2. 該核心板配置有 Flash 和 SDRAM,是一塊獨(dú)立的 SOPC 最小系統(tǒng)板,支持 SOPC 及 基于 Nios II 軟核處理器 的開發(fā); 3. 核心板適合于產(chǎn)品原型的快速開發(fā)、學(xué)生參加各種電子設(shè)計(jì)大賽、學(xué)習(xí)FPGA 和 SOPC 設(shè)計(jì)技術(shù)等,亦可用于系統(tǒng)設(shè)計(jì)前期快速評估設(shè)計(jì)方案; 4. FPGA 的所有 I/O 口全部引出,均可用于擴(kuò)展。 FPGA 的設(shè)計(jì)流程如圖 36 所示,一共包括 9 個(gè)模塊。在設(shè)計(jì)時(shí),一般采用自上而下的設(shè)計(jì)方法:將一個(gè)整體的系統(tǒng)劃分為若干個(gè)模塊單元,每個(gè)第三章 時(shí)間 數(shù)字轉(zhuǎn)換系統(tǒng)的硬件設(shè)計(jì) 12 模塊單元又可以分為幾個(gè)基本單元,如此劃分下去,直到底層單元可以直接使用EDA 庫為止。 布局布線 布局布線的過程是利用工具將邏輯映射到目標(biāo)器件的結(jié)構(gòu)資源中,在布局布線時(shí),可以選擇最佳的邏輯布局,使系統(tǒng)高效率的完成設(shè)計(jì)目標(biāo)。本文介紹了 Quartus II 軟件的設(shè)計(jì)輸入、項(xiàng)目的編譯及項(xiàng)目的仿真。在指定工程工作目錄、工程名、頂層設(shè)計(jì)文件名,并為設(shè)計(jì)中所需要的文件、庫、第三方 EDA 工具指定器件后,工程向?qū)o出一個(gè)總結(jié),最終新工程創(chuàng)建完成。 ( 4)進(jìn)行宏功能模塊實(shí)例化:本功能可以幫助用戶建立或修改包含自定義宏功能模塊變量的設(shè)計(jì)文件。該過程可以放到編譯過程中執(zhí)行。在開始仿真之前,必須為每一個(gè)輸入引腳指定輸入信號以作為仿真器的激勵(lì)信號。在對話框中選擇 Other Files,再選擇 Vector Waveform File,最后選擇 OK 按鍵,此時(shí)將打開一個(gè)空的波形編輯器窗口。在仿真結(jié)束后,報(bào)告窗口將顯示輸出節(jié)點(diǎn)的仿真波形。 Verilog 語言具有下述描述能力:設(shè)計(jì)的行為特性、設(shè)計(jì)的數(shù)據(jù)流特性、設(shè)計(jì)的結(jié)構(gòu)組成以及包含響應(yīng)監(jiān)控和設(shè)計(jì)驗(yàn)證方面的時(shí)延和波形產(chǎn)生機(jī)制。 ( 2)系統(tǒng)總體設(shè)計(jì)的工作流程 系統(tǒng)設(shè)計(jì)總框圖如圖 41 所示,它包括 五大模塊,分別為: 兩個(gè)邊緣檢測 模塊 、粗計(jì)數(shù) 模塊 、細(xì)計(jì)數(shù) 模塊 、數(shù)據(jù)計(jì)算 模塊 和串口輸出 模塊 。根據(jù)計(jì)數(shù)器的工作原理可知,計(jì)數(shù)器只對脈沖周期的個(gè)數(shù)進(jìn)行計(jì)數(shù)。門延遲法所能測量的范圍是 t 到 t2 之間的時(shí)間間隔 T?( T? =t2t),由于一個(gè)脈沖周期為 20ns,所以 t? =20 T? 。采用邊緣檢測法可以有效地消除抖動(dòng)。 計(jì)數(shù)器工作原理及設(shè)計(jì) ( 1) 40 位計(jì)數(shù)器的設(shè)計(jì) 本設(shè)計(jì) 的設(shè)計(jì) 目標(biāo)為完成 能實(shí)現(xiàn) 30min 的時(shí)間間隔測量 的 TDC 設(shè)計(jì) ,經(jīng)計(jì)算可知,應(yīng)采用 40 位的同步計(jì)數(shù)器。設(shè)計(jì)程序代碼見附錄 2。 Z start stop amp。不同的計(jì)數(shù)器還可以對不同的數(shù)制進(jìn)行計(jì)算,而根據(jù)計(jì)數(shù)器計(jì)數(shù)數(shù)制的不同,又可分為二進(jìn)制計(jì)數(shù)器和非二進(jìn)制計(jì)數(shù)器,常用的非二進(jìn)制計(jì)數(shù)器有二 十進(jìn)制計(jì)數(shù)器。它由 4 個(gè) JK 觸發(fā)器組成。當(dāng)?shù)诙€(gè)計(jì)數(shù)脈沖下降沿作用后,計(jì)數(shù)器狀態(tài)由 0001 轉(zhuǎn)移為 0010,表明輸入了 2 個(gè)計(jì)數(shù)脈沖。 1J Q1 C1 1 1K R 1J Q2 C1 2 1K R amp。 R amp。當(dāng) stop 信號被啟動(dòng)時(shí),它將經(jīng)過若干個(gè)延遲單元,直到與CLK 的上升沿在 D 觸發(fā)器中一起相遇,然后其狀態(tài)被相應(yīng)的 D 觸發(fā)器鎖存,并從 Q 端以狀態(tài) 1 輸出。 D 觸發(fā)器 的 工作原理進(jìn) 如下文所述 。 amp。 圖 46 D 觸發(fā)器 D 觸發(fā)器狀態(tài)轉(zhuǎn)移圖如圖 47 所示, D 觸發(fā)器的下一個(gè)狀態(tài)始終和 D 輸入一致,因此 D 觸發(fā)器又叫做鎖存器或者延遲觸發(fā)器。表 3 畫出了輸出值與鎖存器位數(shù)值的對應(yīng)表。串口輸出模塊設(shè)計(jì)框圖如圖 48 所示。在實(shí)際設(shè)計(jì)中,一般最大選擇 16 倍于波特率的時(shí)鐘頻率。 UART 內(nèi)核模塊輸出的計(jì)數(shù)值是從 0 依次計(jì)到 9,即先將要發(fā)送數(shù)據(jù)的最低位送入移位寄存器。人工啟動(dòng)時(shí)產(chǎn)生的脈沖寬度非常大,在本測試中接近 25 個(gè)時(shí)鐘周期。第一次計(jì)數(shù)時(shí), start 脈沖上升沿與 stop 脈沖上升沿之間間隔 14 個(gè)時(shí)鐘脈沖周期,而 t1 所顯示的脈沖個(gè)數(shù)也為 14,說明計(jì)數(shù)器計(jì)數(shù)正確。第一次發(fā)送時(shí), Datain 顯示為 7,而根據(jù) TXD 脈沖波形可以看出,其值為 0111,轉(zhuǎn)換為 10 進(jìn)制后即為所接收到的數(shù)據(jù) 7;第二次要發(fā)送的數(shù)據(jù) Datain 為 6,同樣根據(jù) TXD 波形圖可以得出其值為 0110。 ( 3) 完成調(diào)試后,啟動(dòng)開發(fā)板上的 start 按鈕和 stop 按鈕。在以 Cyclone Ⅱ EP2C5Q208C8N 為核心的實(shí)驗(yàn)表明,本課題可以實(shí)現(xiàn)分辨率達(dá) 1ns 的時(shí)間間隔測量,達(dá)到了本 次 設(shè)計(jì)的目標(biāo)。通過粗、細(xì)組合共同測量,本方案同時(shí)兼顧較大范圍(本設(shè)計(jì)測量范圍目標(biāo)為 30min) 和較高的分辨率( 1ns)的時(shí)間間隔測量。 最后,本課題采用仿真器對設(shè)計(jì)結(jié)果進(jìn)行了仿真及測試,驗(yàn)證了基于 FPGA的以計(jì)數(shù)器為粗時(shí)間間隔測量、門延遲為細(xì)時(shí)間間隔測量的時(shí)間 數(shù)字轉(zhuǎn)換器的正確性與可行性。四年時(shí)光恍如白駒過隙,但卻使人充滿收獲和感激。鄢老師是一個(gè)工作十分嚴(yán) 謹(jǐn)和負(fù)責(zé)的人,他精湛的學(xué)術(shù)令我折服,認(rèn)真的態(tài)度令我欽佩,而對我的幫助和關(guān)懷則更讓我對他充滿感激和尊敬。 最后,我要感謝我的父