<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于DDS芯片AD9850的全數(shù)控函數(shù)信號發(fā)生器的設計與實現(xiàn)

          基于DDS芯片AD9850的全數(shù)控函數(shù)信號發(fā)生器的設計與實現(xiàn)

          作者: 時間:2009-04-25 來源:網(wǎng)絡 收藏

          本文引用地址:http://www.ex-cimer.com/article/259239.htm
          單片機與AD9850的接口既可采用并行方式,也可采用串行方式。為了充分發(fā)揮芯片的高速性能和節(jié)約單片機資源,本設計選擇并行方式將AT89S52的P0口經(jīng)74HC373鎖存器擴展后接至的并行輸入控制端(D0~D7)。AD9850外接120 MHz的有源晶振,產(chǎn)生的正弦信號經(jīng)低通濾波器(LPF)去掉高頻諧波后即可得到波形良好的模擬信號。這樣,將D/A轉換器的輸出信號經(jīng)低通濾波后,接到AD9850內(nèi)部的高速比較器上,即可直接輸出一個抖動很小的方波。再將方波信號加至積分電路,即可得到三角波信號。另外,也可通過鍵盤編輯任意波形的輸出信號。

          3.2鍵盤輸入接口及LCD接口電路

          本系統(tǒng)中的數(shù)字輸入設置電路采用2×8矩陣鍵盤。由于LCD具有顯示內(nèi)容多,電路結構簡單,占用單片機資源少等優(yōu)點,本系統(tǒng)采用RT1602C型LCD液晶顯示屏來顯示信號的類型、頻率大小和正弦波的峰一峰值,圖4所示是鍵盤輸入及LCD接口電路圖。

          同樣,考慮到AT89S52單片機的IO引腳資源有限,本系統(tǒng)的鍵盤輸入及LCD輸出均通過74HC245連接到AT89S52單片機的P0端口,從而實現(xiàn)端口擴展和復用。

          3.3信號幅度數(shù)控預置電路

          為了實現(xiàn)對輸出的正弦模擬信號幅度的數(shù)字控制和預置,本系統(tǒng)采用了AD811高速運放、衰減、真有效值轉換、以及A/D轉換等電路,具體電路圖如圖5所示。


          X9C102是實現(xiàn)信號幅度數(shù)字可調(diào)的關鍵器件。真有效值轉換模塊AD637主要負責信號的TRMS/DC轉換,然后經(jīng)TLC2453模數(shù)轉換向單片機輸送正比于正弦波信號幅度的數(shù)字量,以便單片機輸出合適的幅值控制指令。

          3.4積分電容自動切換控制電路

          三角波是常用信號之一,本系統(tǒng)采用RC積分電路將方波信號轉換成三角波。由于信號頻率很寬(低頻達1 Hz以下,高頻達60 MHz以上),為了完成不同頻段的線性積分,需要不同的積分電容(10pF、100pF、1 nF、10nF、100nF、1 μF、10 μF、100μF)?;跀?shù)控和自動切換的需要,本系統(tǒng)采用如圖6所示的CD4051八選一電路。


          CD4051的八選一控制信號來源于AT89S52的P0~P3接口,74HC373P也是考慮復用P0端口而設置的。AD9850輸出的方波經(jīng)積分電路轉換為三角波后,經(jīng)AD811高速運放可提高其負載能力。

          4系統(tǒng)軟件設計

          4.1 主程序


          主程序可控制整個系統(tǒng),包括控制系統(tǒng)的初始化、顯示、運算、鍵盤掃描、頻率控制、幅度控制等子程序,其主程序流程如圖7所示。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();