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

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 基于DSP正弦信號發(fā)生器設計

          基于DSP正弦信號發(fā)生器設計

          作者: 時間:2011-03-21 來源:網絡 收藏

          1.4 獨立鍵盤的
          采用獨立鍵盤作為人機接口部分,即各個按鍵相互獨立,按下相應的按鍵,就能輸出對應幅度和頻率的正弦波。
          圖3所示為中斷方式工作的獨立式鍵盤的連接圖,每個按鍵各接一根I/O接口線,每根I/O接口線上的按鍵都不影響其它的I/O接口線。因此,可以通過檢測I/O的電平狀態(tài)判斷出哪個鍵按下。這4個獨立按鍵分別接HD0~HD3口,并且使用4個220 Ω的上拉電阻接Vcc。

          本文引用地址:http://www.ex-cimer.com/article/150945.htm

          c.jpg


          當沒有按下鍵時,對應的I/O接口線輸入為高電平,當按下鍵時,對應的I/O接口線輸入為低電平,則請求中斷INT1。而在讀鍵時,每一個鍵的狀態(tài)通過讀入鍵值的高低電平來反應。在中斷服務程序中通過執(zhí)行判鍵程序,判斷是哪個鍵按下,從而設置對應的幅度和頻率,執(zhí)行產生正弦波形的程序。
          獨立式鍵盤的電路配置靈活、軟件簡單。但每個按鍵要占用1根I/O接口線,在按鍵較多時,I/O接口線浪費較大。故在按鍵數量不多時采用這種方法,本系統采用4個獨立按鍵,而芯片有足夠的I/O接口可供使用,時可以充分利用這一特點來連接硬件,至于對按鍵時抖動的消除可在軟件中完成。使用中斷,可提高CPU的效率,實現資源共享和并行處理,同時也可以在芯片運行過程中對突發(fā)故障做出及時發(fā)現和處理。

          2 系統軟件
          2.1 正弦波形產生原理
          常見產生正弦波的方法有6種:(1)采樣回放法;(2)實時計算法;(3)查表法;(4)查表結合插值法;(5)數值迭代法;(6)泰勒級數展開法。
          采樣回放法容易實現,但系統的擴展性差,且并沒有充分利用的數據計算處理能力。實時計算法需要花費較多時間,只能產生較低頻率的正弦波,而且存在計算精度與計算時間的矛盾。查表法的精度受表的大小影響較大,表越大精度越高,但是存儲量也越大。查表結合插值法亦稱混合法,用它產生的正弦波達不到理想的精度。數值迭代法較難編寫出清晰的程序來。泰勒級數展開法是一種有效的方法,與查
          表法和查表結合插值法相比,該方法需要的存儲單元很少,而且精度更高。一個角度為的正弦和余弦函數,展開成5項泰勒級數如下
          d.jpg
          e.jpg
          式中,x為θ的弦度值,正弦波的波形可以看成是由無數個點組成,這些點與x軸的每個角度值相對應,利用可大量重復計算的優(yōu)勢來計算出x軸每一點對應的y值,然后通過D/A轉換即可輸出連續(xù)的正弦模擬信號。
          2.2 變頻調幅的方法
          (1)16位定時模塊。
          C5402 DSP芯片片內定時器是一個軟件可編程的計數器,它包括以下3個16位存儲器映射寄存器:定時寄存器TIM,定時器周期寄存器PRD和定時控制寄存器TCR。片內定時器中,4位的預定標計數器PSC和16位定時計數器TIM組成一個20位的計數器,定時器每個CPU時鐘周期減1,每次計數器減到0將產生定時器中斷(TINT),同時PSC和TIM重新載入預設的值。定時器中斷TINT的速率可由式(3)計算。
          f.jpg
          (2)變頻調幅實現方法。
          調幅的實現相對簡單,只需在所有采樣值前乘以一個調幅因子A1就可得到相應的正弦波幅值A。而調頻的實現必須依賴于C5402芯片內的16位定時器。DSP芯片不斷向D/A芯片送出采樣值,然后經模數轉換后可在示波器上觀察到連續(xù)的正弦波形。先預設要產生的正弦信號頻率為f,根據正弦波生成原理可知,向D/A送出采樣值的間隔,即向D/A送值的周期T1=T/N(N為采樣點數),那么向D/A送值的頻率為f1=N×f,即向D/A送值的頻率是期待產生的正弦波信號頻率的N倍。
          因此,為了能夠調節(jié)產生正弦信號的頻率,實際上改變向D/A芯片送值的頻率即可。而改變向D/A芯片送值的頻率就得用到C5402芯片內的16位定時器。根據式(3)將需要的頻率值換算成PRD內的初值和TDDR的初值,并將該初值分別置入PRD和TDDR。



          評論


          相關推薦

          技術專區(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); })();