<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 汽車(chē)電子 > 設計應用 > 基于A(yíng)VR和FPGA高精度數字式移相發(fā)生器的設計

基于A(yíng)VR和FPGA高精度數字式移相發(fā)生器的設計

——
作者: 時(shí)間:2007-12-20 來(lái)源: 收藏

  1 引 言

  移相信號屬于信號源的一個(gè)重要組成部分,但傳統的模擬移相有許多不足,如移相輸出波形易受輸入波形的影響,移相角度與負載的大小和性質(zhì)有關(guān),移相精度不高,分辨率較低等。而且,傳統的模擬移相不能實(shí)現任意波形的移相,這主要是因為傳統的模擬移相由移相電路的幅相特性所決定,對于方波、三角波、鋸齒波等非正弦信號各次諧波的相移、幅值衰減不一致,從而導致輸出波形發(fā)生畸變。目前利用DDS技術(shù)產(chǎn)生信號源的方法得到了廣泛的應用,但是專(zhuān)用DDS芯片由于采用特定的集成工藝,內部數字信號抖動(dòng)很小,不可以輸出高質(zhì)量的模擬信號。隨著(zhù)現代電子技術(shù)的發(fā)展,特別是隨和可編程技術(shù)的發(fā)展而興起的數字移相技術(shù)卻很好地解決了這一問(wèn)題。在眾多的之中, 是目前最新單片機系列之一,其突出的特點(diǎn)在于速度高、片內硬件資源豐富等。以為核心的PLD產(chǎn)品,是近幾年集成電路中發(fā)展最快的產(chǎn)品。采用芯片,可并行處理多項任務(wù),其高速性能好(執行速度達到納秒級),純硬件系統的可靠性高。利用FPCA實(shí)現DDS能很好地解決專(zhuān)用DDS芯片的諸多缺點(diǎn),他可以根據需要方便地實(shí)現各種比較復雜的調頻、調相和調幅功能,具有良好的實(shí)用性。

  本文結合系列單片機ATmega16和采用Cyclone器件實(shí)現DDS的一種數字式移相信號設計新方案。該方案具有靈活可變的特點(diǎn),更重要的是可以和其他功能模塊組合擴展為任意信號。

  2 系統總體方案設計及實(shí)現

  圖1是系統總體方案設計示意圖,他包括鍵盤(pán)按鍵控制部分,單片機系統部分,FPGA部分,以及幅度控制和D/A轉換電路。單片機采用ATmega16,他根據矩陣式鍵盤(pán)輸入給FPGA送出頻率控制字與相位控制字,用于設定輸出正弦波的頻率與相位。高速D/A轉換器用于正弦波的DA轉換,利用單片機的幅度控制字來(lái)控制他的參考電壓可以達到數字調幅的目的。FPGA構成DDS的核心部分,用于接收送來(lái)的頻率字與相位字,同時(shí)給DA轉換器輸出正弦波數據。采用字符型液晶1602A顯示屏實(shí)時(shí)顯示輸出的頻率與相位。

  2.1 單片機與FPGA間的通信

  ATmega16的同步串行接口允許在芯片和外設之間,或幾個(gè)單片機之間,以與標準SPI接口協(xié)議兼容的方式進(jìn)行高速的同步數據傳輸。本系統中,ATmega16只負責發(fā)送數據,不需要接收數據,故設置為主機工作模式。圖2為單片機與FPGA通過(guò)SPI通信的框圖。

  

  2.2 數控移相信號發(fā)生器設計

  DDS的主要思想是從相位的概念出發(fā)合成所需的波形,他的基本原理框圖如圖3所示。他采用了相位累加振蕩方法的直接數字合成系統,把正弦波在相位上的精度定為N位,得分辨率為1/2N。用時(shí)鐘頻率fclk一次讀取數字相位圓周上各點(diǎn)作為地址,對出相應ROM中的正弦波的幅度值,然后經(jīng)DAC重構正弦波。相位累計器的作用是讀取數字相位圓周上各點(diǎn)時(shí)可以每隔M個(gè)點(diǎn)讀一個(gè)數值,從而得到輸出正弦波頻率fsin為:

  

{{分頁(yè)}}

  基于DDS的數字移相信號發(fā)生器是整個(gè)系統的設計核心部分,其電路模型圖如圖4所示。這部分完全是由VHDL語(yǔ)言設計,并在FPGA Cyclone器件上實(shí)現的。電路要求能輸出2路正弦信號,由2路10位D/A實(shí)現波形輸出。信號頻率能通過(guò)輸入的8位頻率控制字同步控制;其中一路作為參考信號,另一路是可移相的信號,可通過(guò)輸入的8位相位控制字控制。其中“FWORD”是8位頻率控制字,控制輸出波形信號的頻移量;“PWORD”是8位相移控制字,控制輸出波形的相移量;ADDER32B及AD-DER10B分別為32位和10位加法器;SIN_ROM是存放波形數據的ROM,10位數據線(xiàn),10位地址線(xiàn)(數據和地址線(xiàn)最大可以到32位),其中正弦波數據文件是后綴為mif的文件,可由C程序直接生成。REG32B和REG10B分別是32位和10位寄存器;POUT和FOUT為8位輸出,可以分別與兩個(gè)高速D/A連接,輸出參考信號和可移相波形信號。

  

  2.3 嵌入式鎖相環(huán)的設計

  當輸出波形頻率較高時(shí),由于采樣一個(gè)完整周期的波形數據點(diǎn)數減少,勢必引起波形失真,要消除波形失真,一是可以增加采樣波形數據的點(diǎn)數,二是提高系統的主工作時(shí)鐘頻率。若不增加外配ROM的情況下,可以使用后一種方法。本系統設計時(shí)在充分利用FPGA的存儲空間的情況下,為了提高波形的輸出頻率(在不失真的條件下),還使用了Cyclone器件中的嵌入式鎖相環(huán),提高系統的主工作時(shí)鐘頻率,在實(shí)際工作時(shí)的主時(shí)鐘頻率達120 MHz。其在QuartusⅡ下的仿真圖如圖5所示。

  

  3 實(shí)驗結果

  最后D/A輸出的信號經(jīng)過(guò)濾波后得到的信號波形如圖6所示。

  

{{分頁(yè)}}

  4 實(shí)驗結論

  通過(guò)設計和實(shí)驗,得出以下結論:

  (1)本設計通過(guò)鍵盤(pán)控制波形輸出的頻率和相位,波形頻率可調范圍為:10 Hz~15 MHz,相位可調范圍為:0



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>