999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA實現的任意波形發生器的設計

2010-06-05 10:48:02封治華杜改麗
電子設計工程 2010年10期
關鍵詞:單片機設計

封治華,杜改麗

(1.中國電子科技集團公司 第二十七研究所,河南 鄭州 450047;2.河南職工醫學院 河南 鄭州 451191)

波形發生器廣泛應用于電子電路、自動控制和科學試驗領域,是一種為電子測量工作提供符合嚴格技術要求的電信號設備,和示波器、電壓表、頻率計等儀器一樣是最普通、最基本也是應用最為廣泛的電子儀器之一,幾乎所有電參量的測量都要用到波形發生器。隨著通信、雷達的不斷發展,對信號源的頻率穩定度、頻譜純度、頻率范圍和輸出頻率的個數以及信號波形的形狀也提出越來越多的要求。不僅要求能產生正弦波、方波等標準波形,還能根據需要產生任意波形,且操作方便,輸出波形質量好,輸出頻率范圍寬,輸出頻率穩定度、準確度及分辨率高,頻率轉換速度快且頻率轉換時輸出波形相位連續等。可見,研究制作高性能的任意波形發生器十分有必要,而且意義重大。

1 任意波形發生器的FPGA實現

系統框架如圖1所示,上位機產生任意波形數據,經USB2.0控制器CY7C68013A與FPGA(現場可編程門陣列)相連。將數據下載到FPGA的RAM當中,再通過硬件電路依次從波形存儲器中讀取出來,經D/A轉換及濾波后得到所需信號波形輸出。

圖1 系統整體框架圖Fig.1 Framework diagram of system

關于DDS的基本原理與結構在這里就不再加以闡述[4],用FPGA按照DDS的基本原理和結構設計和實現一個任意波形發生器,所以DDS的幾個基本部分都是應當具備的。實現任意波形發生的關鍵在于把存放波形量化表的ROM換成了可以改寫的RAM,這樣通過與RAM的接口可以改變存放在波形RAM中的數據從而實現任意波形發生。這里主要介紹控制部分、相位累加器、波形RAM幾個模塊來敘述任意波形發生器的實現。

1.1 控制部分

這個部分主要是要解決DDS模塊與單片機的接口問題。在FPGA的實現中,主要設計了2個模塊,一個是輸入寄存器模塊,為了接收單片機寫入的頻率控制字。另外一個是地址分配模塊,這樣單片機就可以通過不同的地址來選通FPGA各個模塊工作。設計中DDS采用了32位的相位累加器。這樣對于一個頻率控制字,單片機要分4次分別寫入4個字節;基于這樣的要求,設計了輸入寄存器模塊如圖2,這個部分主要是要解決DDS模塊與單片機的接口問題。

圖2 輸入寄存器模塊圖Fig.2 Block diagram of input register

din[7..0]是該模塊與單片機數據線的接口,clr是低電平異步清零,en是高電平使能,clk為數據寫入時鐘,dout[31..0]是寄存器輸出的32位頻率控制字。該模塊工作過程為:當en為高電平,clr也為高電平時,clk的上升沿將輸入的8位數據鎖存進該模塊中,當鎖存完4個字節的數據后,自動將該4個字節的數據按照先寫入的在高位的順序組合成一個32 bit的數據輸出到dout[31..0]。

該模塊的功能仿真圖如圖3所示,看到當clr=‘1’并且en=‘1’ 時, 經過 4個時鐘,dout上將前 4個時鐘的值‘00’、‘01’、‘02’、‘03’組成 32 位的‘00010203’數值輸出在 dout上。

地址分配模塊采用一個3/8譯碼器來實現地址選通的功能,如圖4所示。

由于累加器的清零是當“clr”=1的時候,所以在與門后加一個反相器,而頻率寄存器清零的條件是“clr”=0,所以,就可以直接與門后相連即可。3/8譯碼器的使能端接VCC,G2AN和G2BN連起來接CS,作為整個任意波形發生器模塊的片選信號,當低電平的時候選中,各模塊才開始工作。

地址鎖存模塊主要解決單片機P0口的分時復用問題。本設計選用的單片機為51系列單片機,其P0口既作為數據口,又作為地址總線的低8位,因此在使用時,需要將地址信號從分時復用的地址/數據總線中分離出來。本設計選用8D鎖存器74LS373來作為地址鎖存器[6]。當74LS373用作為地址鎖存器時,應使OEN為低電平導通輸出,此時,鎖存使能端G為高電平時,輸出Q1~Q8狀態與輸入D1~D8狀態相同;當G發生負跳變時,輸入端數據D1~D8鎖入Q1~Q8。因此在使用74LS373時,51單片機的ALE信號可以直接與74LS373的G相連。

1.2 相位累加器設計

相位累加器用于對輸入頻率控制字進行累加運算,輸入頻率控制字決定輸出信號的頻率和頻率分辨率。因此相位累加器是整個DDS性能的關鍵部分。傳統的相位累加器是用1個加法器加1個D觸發器組成,調用其中的1個宏模塊設置成32位數據相加,再加另一個32位的宏模塊,就可以組成相位累加器。它在QuartusII軟件中的最高編譯頻率只有262.12 MHz,顯然不能滿足設計要求。其時序仿真如圖5所示。

圖3 輸入寄存器的功能仿真圖Fig.3 Function simulation diagram of input register

圖4 地址分配電路Fig.4 Address distribution circuit

通過仿真,當直接采用32 bit累加器的時候系統時鐘最大只能達到大約25 MHz[3],顯然是達不到要求的。從設計上看,它實質上是一個帶反饋的32位加法器,把輸出數據作為另一路輸入數據和從單片機傳來的頻率控制連續相加,產生有規律的32位相位地址碼。一般位數小的累加器可以通過FPGA中的進位鏈得到快速高效的電路,但是進位鏈必須位于臨近的LE(邏輯單元)或LAB(邏輯陣列塊)中,長的進位鏈會減少供其他邏輯使用的布線資源,同時過長的進位鏈也會制約系統頻率的提高,所以進位鏈不能太長[2]。因此,在相位累加器的設計中,要解決的難題是設法提高工作速度。為了解決速度難題,需從兩個方面進行改進。

1.2.1 改進的流水線結構

在時序電路設計中為了提高速度,流水線結構是一種常用的設計方法。對于累加器來講,流水線結構就是把一個位數很長的加法拆分成N個位數較短的加法,在N個時鐘周期內做完然后輸出運算結果,N就是流水線的級數。采用流水結構以后由于加法器的字長變短了,對于FPGA來講加法器字長變短對工作頻率的提高是相當可觀的。當然,流水結構的使用并不能無限制地提高電路的工作速度。因此對于不同的器件來說,采用多少級流水對性能的提升比較大這個要經過仿真實驗才能得到一個比較肯定的值。

本文運用流水線結構對相位累加器進行設計,當m=8、n=4的情況下,相位累加器的工作頻率是最高的,達到了約70 MHz[3]。但是為了進一步提高工作頻率,還需要結合下面的并行進位方法。

綜上所述,本實驗成功構建了LncRNA-GHET1過表達胃癌細胞株 MGC803,為進一步研究 LncRNA-GHET1基因過表達對胃癌細胞增殖、侵襲及轉移等行為學的影響奠定重要基礎。

1.2.2.并行進位加法器[6]

DDS累加器電路的設計采用了流水線結構,由8級4位加法器完成對32位控制字的累加。32位累加器的結果在送入相位幅度變化電路時,進行了高位截斷,只取高12位數據進行查表。因而,在8級的流水線結構中,前5級4位加法器實際上只貢獻了進位,在設計時,前4級加法器采用了超前進位鏈,而高位加法器不僅要給出進位值,還要獲得加法的結果,因此采用了QuartusII自帶的宏模塊結構。通過每一位的Pi、Gi和Ci-1值很容易求得該位進位值Ci。再與該位的和(Ai+Bi)相異或就得到最后的結果 Si。 即

采用上述結構,極大地提高了累加器的工作速度,其功能仿真圖如圖6所示,從圖中可以看出,此4 bit超前進位加法器完全滿足4位全加器的邏輯功能。

圖5 傳統結構相位累加器的時序仿真Fig.5 Timing simulation of the traditional structure phase accumulator

圖6 4 bit超前進位加法器的功能仿真圖Fig.6 Functional simulation diagram of the 4bit ahead adder

下面就將前5級采用超前進位加法器的32位累加器和宏模塊中調用的4位全加器組成的32位相位累加器性能進行比較。

普通流水線累加器的模塊是由4位D觸發器,5位D觸發器和4位全加器作為基本元件,采用原理圖輸入的方法設計FPGA的流水線累加器[7]。該模塊的設計參照流水線累加器結構進行,不同之處在于:由于相位累加器只用高位尋址,所以低位上為了和高位結果同時輸出而做延時作用的D觸發器件均被去掉了。這樣做的結果是,相位累加器輸出的低20位會因為提前輸出而混亂,但是由于高12位的輸出一定是正確的,這樣做既節省了資源,對結果又沒有任何影響。仿真結果證明假如不用流水線結構,32 bit相位累加器工作頻率最高達到約25 MHz。消耗的資源是82個LEs,而用了8級流水線結構后,編譯工作頻率最高達到了約317.79 MHz,資源消耗為186個LEs。可見在資源上的消耗換來了在性能上的極大提高。

流水線累加器的時序仿真如圖7所示:可以看出當輸入數據確定后,輸出結果要經過8個時鐘周期的延時后輸出,這是因為采用了8級流水結構。采用多少級流水結構,輸出就會延時多少個周期。同時也說明,對于輸入數據切換來說,該系統會有8個時鐘周期的延時,這是累加器采用流水線結構所不可避免的后果。事實上目前許多DDS專用芯片由于也采用流水線結構,所以本身也存在這樣的問題。由于8個時鐘周期的延時與系統時鐘相比,實際上還是很小的,在一般的應用場合下也是可以接受的。由于輸出的低20位未用,被省略了,只用了輸出的高12位,所以仿真波形中只有高12位的輸出結果。從輸出結果來看,高12位的輸出值是沒有錯誤的,與設計思想吻合。

下面介紹超進位流水線累加器的構成,比較流水線累加器內部結構圖和超前進位加法器的32位相位累加器的結構圖,可以看出兩個圖的區別,經過編譯以后的報告如圖8所示,可以看出經過改進后,編譯的最大工作頻率提高到了336.7 MHz。比單純的流水線累加器提高了將近20 MHz。

1.3 雙口RAM設計

在設計波形存取電路時,首先應確定波形RAM的深度和字長。波形RAM的深度和字長與很多因素有關系。存儲器內部存儲的是一個或N個整周期的標準波形數據,存儲器容量越大,存儲的被采樣波形點數就越多,采樣效果就越好。存儲器的讀取速度是產生高頻波形的重要保證,讀取速度必須滿足相位累加器的累加速度,這樣才能保證直接數字合成過程的正常進行。同時,為了保證整個速度的同步性,選用一種同步RAM也是很必要的。

首先要確定波形RAM的深度和字長,由于任意波形發生器設計中選擇的DAC的字長是12位,很明顯波形RAM的字長也應該是12位;由于選擇的地址線位數為12位(即相位累加器輸出的高12位),尋址空間為4 K(4 096)個單元,即RAM存儲空間應為4 096×12 bit=49 152 bits,由于本設計所選擇的FPGA內部RAM最大可配置為119 808 bits,完全可以滿足49 152 bits的RAM空間設計。所以波形RAM設計為字長12位,地址線12位。針對任意波形發生器與普通DDS的不同,波形RAM的設計主要要求RAM具有讀寫兩個端口,這樣可以通過兩套地址系統,方便地進行RAM內容更新,即對RAM的寫操作;波形幅度量化數據的輸出,即對RAM的讀操作。結合ALTERA公司FPGA的特點,選擇了EP2C5F256C6這個芯片內部的雙口RAM來實現這個功能,如圖10所示。

圖7 流水線累加器仿真圖Fig.7 Simulation diagram of pipelined accumulator

圖8 超前進位累加器的編譯報告Fig.8 Compilation report of the accumulator-ahead

圖9 超前進位累加器時序仿真圖Fig.9 Timing simulation diagram of the ahead bit accumulator

圖10 雙口RAM模塊Fig.10 Block diagram of dual-port RAM

芯片內部的雙口RAM具有讀地址和寫地址兩組地址線,數據線也分成了讀數據線和寫數據線兩組。這樣波形RAM的設計就非常簡單了,將寫數據線、寫地址線和單片機的數據線、地址線相連,用單片機更新RAM中的數據;將讀地址線和讀數據線分別與相位累加器的輸出和DAC的數據輸入相連,讀數據線上即輸出了波形幅度量化數據。

2 結束語

本文詳細闡述了產生任意波形數據和基于FPGA的硬件設計部分,以QuartusⅡ8.0軟件平臺作為開發工具,選用CycloneII系列的EP2C5F256C6 FPGA芯片實現DDS結構中的數字部分,其中相位累加器是DDS的核心部件,重點闡述了相位累加器部分的設計,采用8級流水線結構借助前5級的超前進位模塊,編譯的最高工作頻率,由317.97 MHz提高到336.7 MHz,采用此種設計方法,節約了成本,縮短了開發周期,具有可行性。

[1]潘登.基于DDS技術的可編程任意波形發生器[D].武漢:武漢大學,2004.

[2]薛文.DDS任意波形發生器的設計與實現[D].南京:南京理工大學,2004.

[3]龐學文.任意波形發生器的研制[D].吉林:吉林大學,2005.

[4]許開華.DDS任意波形發生器數據生成與傳輸接口設計[D].成都:電子科技大學,2007.

[5]羅朝霞,高書莉.CPLD/FPGA設計及應用[M].北京:人民郵電出版社,2007:20-30.

[6]董長虹,余嘯海.Matlab信號處理與應用[M].北京:國防工業出版社,2005:60-67.

[7]郭立浩.基于FPGA的直接數字頻率合成器的研究與應用[D].西安:西北工業大學,2006.

猜你喜歡
單片機設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
主站蜘蛛池模板: 天天综合网色中文字幕| 国产欧美日韩18| AV无码无在线观看免费| 久久性妇女精品免费| 日韩二区三区| 激情影院内射美女| 久久国产精品影院| 国产男人天堂| 999国内精品久久免费视频| 成人a免费α片在线视频网站| 国产精品不卡永久免费| 亚洲综合片| 精品综合久久久久久97超人该| 婷婷激情五月网| 国产不卡国语在线| 亚洲欧美一区在线| 久久精品国产电影| 青青青国产免费线在| 亚洲色偷偷偷鲁综合| 国产视频久久久久| 色精品视频| 亚洲无码91视频| 欧美一区二区精品久久久| 人与鲁专区| 被公侵犯人妻少妇一区二区三区| 999国产精品永久免费视频精品久久| 九九热精品免费视频| 国产一区在线视频观看| 在线国产资源| 刘亦菲一区二区在线观看| 国产第一色| 久草视频中文| 亚洲中文无码av永久伊人| 国产成人无码久久久久毛片| 国产综合另类小说色区色噜噜| 国产va欧美va在线观看| 亚洲无码高清一区二区| 国产打屁股免费区网站| 国产精品冒白浆免费视频| 国产亚洲欧美在线中文bt天堂| 韩日免费小视频| 亚洲欧美日韩色图| 国产乱码精品一区二区三区中文 | 一本色道久久88| 国产在线观看91精品亚瑟| 中文字幕 欧美日韩| 成人日韩视频| 国产电话自拍伊人| 欧美中文字幕一区| 一区二区三区四区日韩| 四虎国产永久在线观看| 欧美一级视频免费| 亚洲欧美日韩中文字幕一区二区三区| 99re这里只有国产中文精品国产精品| 九色在线视频导航91| 又猛又黄又爽无遮挡的视频网站| 久久精品娱乐亚洲领先| 亚洲手机在线| 六月婷婷综合| 日韩精品欧美国产在线| 最近最新中文字幕免费的一页| 中国美女**毛片录像在线| 国产精品久久自在自线观看| 亚洲国产日韩在线观看| 九九视频在线免费观看| 嫩草在线视频| 欧美日韩专区| 四虎亚洲精品| 欧美黑人欧美精品刺激| 国产精品成人啪精品视频| 久久久受www免费人成| 国产精品原创不卡在线| 亚洲色图欧美| 久久久无码人妻精品无码| 日本人又色又爽的视频| 国产精品久久久久鬼色| 亚洲第一成网站| 欧美福利在线观看| 国产精品午夜福利麻豆| 欧美福利在线观看| 久久精品无码一区二区日韩免费| 亚洲国产成人综合精品2020|