新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于MCU/FPGA的多功能正弦信號發生器的設計

        基于MCU/FPGA的多功能正弦信號發生器的設計

        作者: 時間:2012-04-09 來源:網絡 收藏

        在通信、廣播、電視系統中,都需要射頻發射,即載波,把音頻、視頻信號或脈沖信號運載出去,這就需要能產生高頻信號的振蕩器。正弦波振蕩電路在各個科學技術部門的應用是十分廣泛的。在工業、農業、生物醫學等領域(如高頻感應加熱、熔煉、淬火,超聲波焊接、超聲診斷、核磁共振成像等)都需要功率或大或小、頻率或高或低的振蕩器。

        本文引用地址:http://www.104case.com/article/190535.htm

        本系統以直接數字合成(DDS)芯片為信號發生核心,以單片機為控制和人機界面核心,使用作為控制核心,組成一個具有多種信號輸出能力的信號發生電路??奢敵鲱l率可調的正弦信號、調頻信號、調幅信號和數字調制輸出信號等,具有廣泛的應用前景[1-2]。

        1 系統總體設計方案和工作原理

        系統整體框圖如圖1。單片機接收用戶的模式選擇和參數設置值并經過程序處理后送入。在中預先構建了實現各種功能的功能模塊。DDS控制模塊用于控制DDS芯片AD9851產生相應頻率的無調制正弦波及調頻正弦波;DAC7611控制模塊用于控制DAC7611數模轉換器并為DAC904數模轉換器提供基準電壓;二進制基帶碼控制模塊用于將用戶輸入的二進制基帶碼轉換為串行數據,便于后續處理;數字調制控制模塊用于判斷用戶選擇的數字調制方式,并結合二進制基帶碼模塊輸出的數據,輸出不同的相位值給ROM中的正弦波表,實現輸出數字調制信號;DAC904用于D/A轉換輸出數字調制信號。

        6.jpg

        2 FPGA內部控制模塊及其實現

        2.1 DDS控制模塊

        AD9851是ADI公司的專用DDS芯片,采用CMOS生產的具有高集成度的直接數字合成器,內置32 bit頻率累加器、10 bit高速DAC、高速比較器和可軟件選通的時鐘6倍頻電路。外接參考頻率源時,AD9851可以產生頻譜純凈、頻率和相位都可控且穩定度非常高的正弦波。

        相位累加器的位數為N,相位控制字的值為FN,頻率控制字的位數為M,頻率控制字的值為FM,Fc為AD9851內部時鐘頻率。此時,最終合成信號的頻率和相位可由式(1)和式(2)來決定:

        7.jpg

        FPGA中DDS控制模塊的功能主要是對AD9851寫控制字,使其輸出正弦、AM、FSK、FM波。功能的切換通過寫入不同的控制字得以實現,頻率數據由P0、nWR、CS、Addr等微機標準接口寫入。對AD9851的操作由FQD、WCK、Dout、RST輸出口與芯片數字接口實現。實現FM時,需要在中心頻率周圍產生5 kHz/10 kHz的頻偏,這要求模塊輸出的頻率控制字要隨調制信號幅度變化而變化,在模塊的輸入端給出了當前的頻率控制字增量,模塊讀入這個增量與中心頻率控制字相加,即可得到當前頻率控制字,也即實現了FM。

        2.2 幅度調制模塊

        實際控制調幅度AM時,保持載波信號幅度不變,控制調制信號的幅度,就可以實現AM在10%~100%之間調節。通過控制DAC7611輸出信號幅度,即控制DAC904的參考電壓,達到控制調制度的效果??梢酝ㄟ^一個模擬乘法器AD835電路實現調幅信號,且載波信號頻率可以做得很高,也比較容易實現。

        2.3 頻率調制模塊

        在軟件實現時,根據調頻信號變化的規律采用數字方式控制DDS正弦波發生器的頻率控制字,存在一個單獨的ROM模塊中,直接作用于輸出波形的頻率值,即實現了對信號源頻率的調制。

        由單片機輸入中心頻率和最大頻偏后,啟動數字FM,FPGA內部時鐘單元將產生一個128 kHz的時鐘,用于累加8 128 bit正弦波表地址,得出相應正弦幅度量化值。該幅度值一方面作為輸出信號輸出至外部D/A的數據端口,用于恢復正弦信號;另一方面作為頻率控制字的計算依據,根據相應公式計算出頻率控制字。寫時序控制器在時鐘的作用下將生成的頻率控制字寫到DDS芯片AD9851內,從而產生一個頻率與正弦信號幅度成比例的調頻信號。

        2.4 數字調制模塊

        在具體的編程實現過程中,在FPGA內設置二進制基帶碼模塊和數字調制控制模塊。通過二進制基帶碼模塊,將鍵盤輸入的0、1值轉換為串行數據,便于后續處理。通過數字調制控制模塊判斷用戶選擇的方式為ASK、PSK還是FSK,結合二進制基帶碼模塊輸出的數據,輸出不同的相位值給ROM中的正弦波表,實現輸出數字調制信號。

        對于ASK,將載波信號與二進制基帶信號相乘;對于PSK,用二進制基帶信號控制載波的相位,當二進制基帶信號的上升沿(下降沿)到來時,載波反相,其他時間相位不變,得到的輸出經D/A轉換后就是PSK信號,對于FSK,0、1各代表不同的頻率值,二進制基帶信號控制頻率控制字。

        假設載波固定頻率為100 kHz,基帶序列碼速率為10 kb/s,當實現2ASK時,如果基帶序列為1碼,應輸出5個正弦載波,為0則應輸出零電平。可將基帶序列的速率控制轉為控制當序列符號為1時能輸出正弦波的數量,而載波的頻率是通過向自制DDS信號源寫入載波頻率控制字實現的。因此,當確定載波頻率時,從單片機輸入一個數字x表示當序列符號為1時能輸出正弦波的數量,則可確定基帶序列碼的速率。如圖2所示,數字x通過din[7..0]輸入并存儲到了模塊內部一個寄存器中,內部一個計數器從0開始計數,每當計滿x-1,計數器清零,并且使內部一個標志位flag取反。當flag為1時,輸出端口adr-out[9..0]輸出一定規律的連續地址查表RAM-1 024 B存儲器(里面存的是正弦波表),控制輸出正弦載波;當已輸出x個時,flag取反為0,則控制輸出一個固定地址到RAM-1 024 B,這個固定地址里存為0值,則此時輸出0電平。循環下去即可實現2ASK調制。同理,當選擇輸出2PSK時,每當flag取反一次則將輸出的正弦載波反相一次,則就實現了2PSK調制。當選擇輸出2FSK時,每當flag取反一次,則分別將兩個頻率控制字送入自制DDS信號源,從而控制輸出了兩個頻率相互變化的2FSK輸出。

        8.jpg

        模擬信號相關文章:什么是模擬信號


        fpga相關文章:fpga是什么


        負離子發生器相關文章:負離子發生器原理
        塵埃粒子計數器相關文章:塵埃粒子計數器原理
        離子色譜儀相關文章:離子色譜儀原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 友谊县| 安塞县| 启东市| 嵩明县| 池州市| 黄陵县| 襄汾县| 天等县| 夏河县| 澜沧| 凤台县| 芦溪县| 舞钢市| 阆中市| 曲麻莱县| 元江| 洛隆县| 彝良县| 商水县| 嘉定区| 刚察县| 嘉鱼县| 台安县| 达尔| 万安县| 库车县| 长兴县| 叶城县| 勃利县| 亚东县| 凌海市| 舞钢市| 当雄县| 洞头县| 丰顺县| 通江县| 南郑县| 陆良县| 广河县| 武功县| 雷山县|