




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、FPGA/CPLD中常見模塊設計精華集錦一、智能全數字鎖相環的設計1 引言數字鎖相環路已在數字通信、無線電電子學及電力系統自動化等領域中得到了極為廣泛的應用。隨著集成電路技術的發展,不僅能夠制成頻率較高的單片集成鎖相環路,而且可以把整個系統集成到一個芯片上去。在基于FPGA的通信電路中,可以把全數字鎖相環路作為一個功能模塊嵌入FPGA中,構成片內鎖相環。鎖相環是一個相位誤差控制系統。它比較輸入信號和振蕩器輸出信號之間的相位差,從而產生誤差控制信號來調整振蕩器的頻率,以達到與輸入信號同頻同相。所謂全數字鎖相環路(DPLL)就是環路部件全部數字化,采用數字鑒相器(DPD)、數字環路濾波器(DLF)
2、、數控振蕩器(DCO)構成的鎖相環路,其組成框圖見圖1示。當鎖相環中的鑒相器與數控振蕩器選定后,鎖相環的性能很大程度依賴于數字環路濾波器的參數設置。2 K計數器的參數設置74297中的環路濾波器采用了K計數器。其功能就是對相位誤差序列計數即濾波,并輸出相應的進位脈沖或是借位脈沖,來調整I/D數控振蕩器輸出信號的相位(或頻率),從而實現相位控制和鎖定。K計數器中K值的選取需要由四根控制線來進行控制,模值是2的N次冪。在鎖相環路同步的狀態下,鑒相器既沒有超前脈沖也沒有滯后脈沖輸出,所以K計數器通常是沒有輸出的;這就大大減少了由噪聲引起的對鎖相環路的誤控作用。也就是說,K計數器作為濾波器,有效地濾除
3、了噪聲對環路的干擾作用。顯然,設計中適當選取K值是很重要的。K值取得大,對抑止噪聲有利(因為K值大,計數器對少量的噪聲干擾不可能計滿,所以不會有進位或借位脈沖輸出),但這樣捕捉帶變小,而且加大了環路進入鎖定狀態的時間。反之,K值取得小,可以加速環路的入鎖,但K計數器會頻繁地產生進位或借位脈沖,從而導致了相位抖動,相應地對噪聲的抑制能力也隨之降低。為了平衡鎖定時間與相位抖動之間的矛盾,理想的情況是當數字鎖相環處于失步狀態時,降低K計數器的設置,反之加大其設置。實現的前提是檢測鎖相環的工作狀態。3 工作狀態檢測電路圖2為鎖相環狀態檢測電路,由觸發器與單穩態振蕩器構成,fin為輸入的參考時鐘,fou
4、t為鎖相環振蕩器輸出的時鐘移相900。fout對fin的抽樣送入單穩態振蕩器。在鎖定狀態如圖3,fout與fin具有穩定的相位關系, fout對fin抽樣應全部為0或1,這樣不會激發振蕩器振蕩,從而lock將輸出低電平;而失鎖狀態時如圖4,fout與fin出現相位之間的滑動,抽樣時就不會出現長時間的0或1,單穩態振蕩器振蕩,使lock輸出高電平。鎖相環的鎖定狀態保持時間的認定,可以通過設置振蕩器的性能。在FPGA設計中,要采用片外元件來進行單穩定時,是很麻煩的,而且也不利于集成和代碼移植。單穩態振蕩器的實現也可以在FPGA內實現,利用計數器的方法可以設計全數字化的上升、下降沿雙向觸發的可重觸發
5、單穩態振蕩器。4 智能鎖相環的設計智能全數字鎖相環的設計如圖5所示。鎖相環與CPU接口電路,由寄存器來完成。對于CPU寄存器內容分為兩部分:鎖相環的工作狀態(只讀),k計數器的參數值(讀/寫)。CPU可以通過外部總線讀寫寄存器的內容。圖5 智能全數字鎖相環框圖CPU根據鎖相環狀態就可以對鎖相環K計數器進行最優設置。實際測試時設置K初始值為23,此時鎖相環的捕捉帶較大,在很短時間內就可以達到鎖定狀態,lock變為低電平。CPU檢測到此信號后自動將K值加1,如lock仍然為低電平,CPU會繼續增加K 值;直到鎖相環失鎖,記住其最佳設置值。設置K為初始值,鎖定后,設置到最佳值,這樣鎖相會快速進入最佳
6、的鎖定狀態。關于CPU的選擇有三種方案:FPGA片內實現CPU。片上系統的發展使其成為可能。與片外系統共用CPU。DPLL大多用于通信系統中,而大部分通信系統都有嵌入式CPU。單獨采用一個廉價單片機(如89C51),不僅可用于智能鎖相環的控制,還可控制外部RAM實現FPGA的初始裝載,一機多用,經濟實惠。可以視具體情況而定。5 結論智能全數字鎖相環,在單片FPGA中就可以實現,借助鎖相環狀態監測電路,通過CPU可以縮短鎖相環鎖定時間,并逐漸改進其輸出頻率的抖動特性。解決了鎖定時間與相位抖動之間的矛盾,對信息的傳輸質量都有很大的提高。此鎖相環已用于我校研發的數字通信產品中。#p#使用PLD內部鎖
7、相環解決系統難題#e#二、使用PLD內部鎖相環解決系統設計難題微電子技術的發展趨勢是片上系統(SoC),也就是在一塊芯片上實現整個系統,包括模擬部分和數字部分。作為IC產業中重要的一個分支,可編程邏輯器件(PLD)也在努力向這個方向發展。無論是Xilinx還是Altera,它們最新的PLD產品中都集成了諸如PCI接口、乘法器、MCU核以及DSP核等部件,有的甚至集成了完整的微處理器。例如,Xlinux的Vietex2-Pro系列就是集成了PowerPC微處理器。鎖相環技術是模擬集成電路設計中一個重要的研究方向。但是,現在中高檔的可編程邏輯器件一般都集成有片內的鎖相環(如Xilinx的Spart
8、an2系列,Altera的Cyclone系列)。鎖相環一端連接外部全局時鐘或者全局控制信號,另一端連接可編程邏輯器件內部專門的布線網絡,可以最大程度地減少全局時鐘信號到片內各個部分的布線延遲,有效地消除了時鐘偏移而帶一的各種問題。同時,鎖相環一般都提供了倍頻、分頻、相移三個功能。1 應用背景介紹本文用FPGA實現FIFO,連接PCI與TI的TMS320C6204的擴展總線,與DSP傳輸數據的時鐘達到100MHz。由于DSP的接口對于時鐘和信號的要求很苛刻,所以下面具體分析核心的DSP的XBUS時序。DSP的擴展總線(XBUS)是一個32位寬的總線,支持與異步外設、異步/同步FIFO、PCI橋以
9、及外部主控處理器等的接口。它同時提供一個靈活的總線仲裁機制,可以內部進行仲裁,也可以由外部邏輯完成。本文中使用XBUS的同步FIFO接口。如果是要讀取FIFO,首先FIFO要通過中斷信號XINT0來通知XBUS數據已經準備好,然后XB響應、有效,就開始讀取中的數據,讀的時序如圖所示;如果是要寫,通過申請,然后響應、有效,開始一個寫的傳輸過程,寫的時序如圖所示。通過分析讀寫的時序關系可以看出,在FIFO實現的過程中需要注意以下幾個地方:XBUS工作時鐘是100MHz,對于大部分的FPGA來說是一個比較高的頻率。而且,由于讀出的數據要求一定的建立時間(setup time)和保持時間(hold t
10、ime),這就對內部邏輯的設計提出了較高的要求。讀FIFO時,必須在使能信號有效之后的第二個時鐘周期就把數據輸出。對于FIFO內部的雙端口RAM來說,這個實現起來不一定能滿足要求(有很多RAM是在使能信號只有的35個時鐘周期才輸出數據的)。這樣,通用FIFO中就要考慮產生預讀邏輯來產生數據,以滿足XBUS嚴格的時序要求。XBUS的使能信號XCE0/XCE1/XRE/XOE/XWE的變化時間范圍是在時鐘有效之后的17ns,考慮到FPGA內部的組合邏輯延時和布線延時,這樣對有效信號的鎖定可能是不穩定的。這就為邏輯設計帶來了很大的難度。2 鎖相環的相移功能系統時鐘是100MHz,為了獲得更好的布線效
11、果和系統性能,時鐘信號必須經過鎖相環到達全局時鐘布線網絡。同時,鎖相環還可以提供多個時鐘相移的信號,同樣可以連接到全局布線網絡來驅動片的時鐘信號。以Xilinx公司的SPARTAN2系列芯片為例(Altera的Cyclone或者更高級別的系列也提供了類似的鎖相環),使用片內鎖相環進行時鐘相移。相移以后的時鐘對于系統設計有很大的用處。本文利用了相移以后的時鐘解決了系統設計中的兩個難點,取得了令人滿意的效果:用PLL解決使能信號漂移的難題;使用PLL滿足TI的TMS320C62XX系列DSP中XBUS的建立、保持時間要求。3 使用PLL解決使能信號漂移的難題由于DSP的XBUS響應FIFO的中斷X
12、INT0時,需要回復XRF、XCE0、XOE三個信號。只有三個同時有效時,才可以讀FIFO,所以讀使能信號RDEN=not(XCE0 or XRE or XOE);XBUS回復FIFO中斷信號XINT1時,需要回復XWE和XCE1兩個信號。只有兩個信號時有效才可以寫FIFO,所以WREN=not(XCE1 or XWE)。RDEN或者WREN都是由FPGA內部組合邏輯產生的,在FPGA內部組合邏輯的物理延時(tc)為35ns。考慮到XBUS的使能信號本身相對于時鐘上升沿(td)就有17ns,所以使能信號有效相對時鐘上升沿來說可能的變化范圍為412ns,如圖4所示。系統經過鎖相環的相移,驅動FP
13、GA內部邏輯的時鐘。相對于XCLK來說,如果XBUS的回應信號的延時為1ns(圖4中實線所示部分),則RDEN經過組合邏輯延遲,變為高有效的時候,可以在時鐘的第一個上升沿采樣到(圖4中實線所示);如果XBUS的回應信號延時為7ns,則RDEN經過組合邏輯延遲以后,只能在第二個時鐘的上升延才能采樣到高有效信號。顯而易見,XBUS信號延遲的變化范圍太大,造成了系統設計的不穩定性。要解決這個問題,通過邏輯優化是沒有辦法來進行的。因為產生使能信號的那一級組合邏輯本身的延遲是無法改變的。本文靈活地運用了FPGA內部鎖相環的移相功能,巧妙地解決了信號XCLK_Shift相對于XCLK的相移問題。而且,經過
14、這個相移以后的時鐘信號,無論XBUS使能信號怎么在17ns內發生變化,都可以保證在XCLK_Shift的第二個時鐘周期采樣到高有效信號。這樣就確定了穩定的邏輯關系,為可靠穩定的設計奠定了基礎。4 使用PLL滿足XBUS的建立、保持時間要求如圖1中所示,FIFO中數據輸出時需要滿足一定的建立和保持時間(圖1中為時間5和時間6)。但是,時鐘信號XCLK輸入FPGA的時候需要首先經過IOB(輸入輸出模塊),然后才能連接到鎖相環部分進入全局時鐘網絡。采用同步輸出的時候,輸出數據也要經過IOB才可以輸出。IOB本身的延時就很容易導致無法確保正確的建立和保持時間,滿足不了XBUS的要求,如圖5所示。為了解
15、決這個問題,同樣可以采用鎖相環進行時鐘相位偏移來彌補通過IOB引起的時鐘相位偏移。這樣,數據端的輸出只要相對于經過偏移的時鐘信號滿足建立保持時間,那么,就可以滿足原始時鐘信號的要求(如圖5中虛線所示)。5 結論通過合理的使用FPGA內部的鎖相環,本文在不改動原有邏輯設計和代碼的情況下,巧妙地解決了高速DSP擴展總線XBUS與FIFO的接口問題。為系統和邏輯設計解決了可能遇到的幾個難點,為進一步的研究和開發提供了一種解決問題的新方法和思路。#p#基于FPGA的高頻時鐘的分頻和分配設計#e#三、基于FPGA的高頻時鐘的分頻和分配設計 引言隨著應用系統向高速度、低功耗和低電壓方向的發展,對電路設計的
16、要求越來越高?傳統集成電路設計技術已無法滿足性能日益提高的整機系統的要求。同時,由于設計與工藝技術水平的提高,集成電路規模越來越大,復雜程度越來越高。目前已經可以將整個系統集成在一個芯片上,即片上系統( ?縮寫為),這種芯片以具有系統級性能的復雜可編程邏輯器件()和現場可編程門陣列()為主要代表。與主要實現組合邏輯功能的相比,主要用于實現時序邏輯功能。對于設計來說,采用在實現小型化、集成化和高可靠性系統的同時,還可以減少風險、降低成本、縮短開發周期。系統硬件組成本文介紹的時鐘板主要由于為(正電子發射斷層掃描儀)的前端電子學模塊提供路系統時鐘()和路同步時鐘()。時鐘信號之間的偏差要求在之內。為
17、了消除各路時鐘信號之間的偏差,文中介紹利用來實現主時鐘的分頻、零延時輸出和分配,同時利用技術實現多路時鐘的傳輸的實現方法。圖所示是其硬件設計示意圖。由圖可知,該時鐘電路的具體工作原理是:首先由精密晶體振蕩器產生的時鐘信號,然后經時鐘驅動芯片輸入芯片的時鐘引腳以作為時鐘源。該時鐘在芯片內部經(延遲鎖定環)模塊分別生成的系統時鐘和的同步時鐘?電平信號?,然后由內部的(輸入輸出功能模塊)分配到個輸出引腳(路系統時鐘和路同步時鐘),這路電平信號兩兩進入塊(兩路)驅動轉換芯片后,即可轉換為信號并通過差分雙絞線傳輸給前端電子學模塊的塊數字電路板。 的結構單元型主要由三部分組成:可配置邏輯模塊( ),輸入、
18、輸出模塊和可編程連線( )。對于不同規格的芯片,可分別包含、甚至個陣列,同時配有、甚至個以及為實現可編程連線所必需的其它部件。圖所示是本設計中使用的芯片的內部結構。 公司的系列公司目前生產的有兩類代表性產品?一類是系列?另一類是-系列。這兩類產品除具有的三種基本資源(可編程、可編程邏輯功能模塊和可編程布線等)外?還具有片內資源。但兩種產品也有所不同。其中可以用于實現片內分布,同時專門為實現可編程片上系統開發的系列,其片內分布和塊都可以實現,并可實現片上系統所要求的其他性能,如時鐘分配和多種電平接口等特性。系列與系列產品相比,除了塊數量少于系列產品外,其余有關性能(如典型門范圍、線寬、金屬層、芯
19、內電壓、芯片輸入輸出引腳電壓、系統頻率和所含個數等)都基本相同,它的一個突出優點(也是本設計選用該系列芯片的主要原因)是:該系列產品是專門為取代掩膜門陣列的低價位,在達到門陣列數量時,其價格可與門陣列相比。因此,本文介紹的時鐘電路的設計選用系列-中的芯片來實現。用實現時鐘分頻和分配如圖所示?系列芯片內部含有四個全數字延時鎖定環(),每一個可驅動兩個全局時鐘分布網絡。通過控制輸出時鐘的一個采樣?可以補償由于布線網絡帶來的時鐘延時,從而有效消除從外部輸入端口到器件內部各個時鐘負載的延時。除提供對用戶輸入時鐘的零延時之外,還具有時鐘倍頻和分頻功能。它可以對時鐘源進行兩倍頻和、或分頻。本設計就是利用的
20、零延時和分頻功能來實現對時鐘的輸出和分頻后(約)時鐘的輸出。 數字延時鎖定環()的結構原理圖是一個的內部原理框圖,它由各類時鐘延時線和控制邏輯組成。延時線主要用于對時鐘輸入端產生一個延時。通過器件內部的時鐘分布網絡可將該輸入時鐘分配給所有的內部寄存器和時鐘反饋端。控制邏輯則主要用于采樣輸入時鐘和反饋時鐘以調整延時線。這里所說的延時線由壓控延時或衰減延時組件構成,系列芯片選用了后者。可在輸入時鐘和反饋時鐘之間不停地插入延時,直到兩個時鐘的上升沿同步為止。當兩時鐘同步時,鎖定。在鎖定后,只要輸入時鐘沒有變化,兩時鐘就不會出現可識別偏差。因此,輸出時鐘就補償了時鐘分布網絡帶來的輸入時鐘延時,從而消除
21、了源時鐘和負載之間的延時。 功能的實現系列芯片內含專門實現功能的宏單元模塊,其結構簡圖如圖所示。該模塊由、和三個庫元件組成?其原理框圖如圖所示。圖中,庫元件用于實現的主要功能?包括完成時鐘的零延時輸出、時鐘的倍頻以及分頻和鏡像操作。而和則分別實現外部時鐘的輸入以及將輸出時鐘分配到芯片引腳。本設計的時鐘分頻就是將的時鐘由輸入?經分頻后再由端傳給?然后經片內分配到芯片的普通輸出引腳。軟件實現在設計的總體構思和器件選擇完成后,必須進行的工作是建立設計輸入文件,該文件主要用于描述所設計電路的邏輯功能。這里使用的是公司提供的開發工具 。本設計采用硬件描述語言來設計,其部分程序如下: (: ;_: _(
22、);?_: _( ); ; _ ( : _; : _;: _;: _; : _;: _;: _; : _;: _;: _); ; ; : ( , );: ( , _, , , , , , , , );_: ( ,_;);_;(); _ ;_ ;_()_;_()_;_()_;_()_;_()_;_()_; ; ; _;#p#基于FPGA的多種形式分頻的設計#e#四、基于FPGA的多種形式分頻的設計與實現分頻器是數字系統設計中的基本電路,根據不同設計的需要,我們會遇到偶數分頻、奇數分頻、半整數分頻等,有時要求等占空比,有時要求非等占空比。在同一個設計中有時要求多種形式的分頻。通常由計數器或計數器的
23、級聯構成各種形式的偶數分頻及非等占空比的奇數分頻,實現較為簡單。但對半整數分頻及等占空比的奇數分頻實現較為困難。本文利用VHDL硬件描述語言,通過Quartus3.0開發平臺,使用Altera公司的FPGA,設計了一種能夠滿足上述各種要求的較為通用的分頻器。一、電路設計采用FPGA實現半整數分頻器,可以采用以下方法:設計一個模N的計數器,再設計一個脈沖扣除電路,每來兩個脈沖扣除一個脈沖,即可實現分頻系數為N-0.5的分頻器。脈沖扣除電路由異或門和一個2分頻器構成。本設計在半整數分頻器原理的基礎上,對異或門加一個使能控制信號,通過對異或門和計數器計數狀態值的控制,實現同一個電路完成多種形式分頻,
24、如圖1所示。二、VHDL語言的實現現通過設計一個可以實現8.5分頻,等占空比的17分頻,2、4、8、16、32分頻,及占空比為18和45的9分頻等多種形式分頻的分頻器,介紹該通用分頻器的FPGA實現。由圖1所示的電路原理圖可知,分頻器由帶使能端的異或門、模N計數器和一個2分頻器組成,本設計用D觸發器來完成2分頻的功能,實現方法是:將觸發器的Q反輸出端反饋回輸入端D,將計數器的一個計數輸出端作為D觸發器的時鐘輸入端。各功能模塊的VHDL語言實現如下。1模N計數器的實現一般設計中用到計數器時,我們可以調用lpm庫中的計數器模塊,也可以采用VHDL語言自己設計一個模N計數器。本設計采用VHDL語言設計一個最大模值為16的計數器。輸入端口為:使能信號en,復位信號clr和時鐘信號clk;輸出端口為:qa、qb、qc、qd。其VHDL語言描述略。2帶使能控制的異或門的實現輸入端為:xor_en:異或使能,a和b:異或輸入;輸出端為:c:異或輸出。當xor_en為高電平時,c輸出a和b的異或值。當xor_en為低電平時,c輸出信號b。其VHDL語言略。32分頻(觸發器)的實現輸入端為:時鐘信號clk,輸入信號d;輸出端為:q:輸
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 內陸養殖市場趨勢預測與分析考核試卷
- 化工企業物流成本分析與控制方法考核試卷
- 廢氣排放考核試卷
- 光學玻璃微觀缺陷修復的表面活性劑應用研究考核試卷
- 海洋腐蝕機理分析考核試卷
- 入場三級教育培訓考核試卷(含答案)
- 2024年度全科專業基地住培學員對帶教師資的評價方案
- 環保知識題庫 (一)
- 植樹節熱身活動方案
- 永生花促銷活動方案
- 最新纏論基礎知識大全共課件
- SHSG0522023年石油化工裝置工藝設計包(成套技術)內容規定
- 2022年中國重癥患者轉運指南-2
- 中學生日常行為習慣養成課題計劃2
- 懸臂澆筑連續梁梁體鋼筋施工技術交底
- 滬教牛津版小學一至六年級英語單詞匯總(最新)
- 計價格(2002)10號文
- 從銷售員到銷售總監的六門必修課
- 《云南省建筑工程資料管理規程應用指南)(上下冊)
- 工程更改控制程序DFCPQEOMS-06
- 送電線路工程跨越河流架線施工專項方案
評論
0/150
提交評論