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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA的DDS基本信號發(fā)生器的設(shè)計(jì)

          基于FPGA的DDS基本信號發(fā)生器的設(shè)計(jì)

          作者: 時(shí)間:2012-09-02 來源:網(wǎng)絡(luò) 收藏

          3.3 LCD 12864口核設(shè)計(jì)
          對于Altera SOPC Builder未提供的一些外設(shè)接口模塊,用戶可以通過自定義邏輯方法在SOPC設(shè)計(jì)中添加自己開發(fā)的IP核,通過Avalon的讀寫時(shí)序?qū)Ω鱾€(gè)設(shè)備進(jìn)行操作。本設(shè)計(jì)通過構(gòu)建IP核來直接控制NiosⅡ和LCD12864的接口,按照指定的時(shí)序?qū)⒉ㄐ螀?shù)顯示在LCD上。在SOPC Builder中自己定義component,并把液晶顯示模塊看成外部存儲(chǔ)器,直接做成Avalon總線Slave設(shè)備,IP核設(shè)計(jì)包含軟件部分和硬件部分,需要寫HDL模塊,定義控制狀態(tài)、數(shù)據(jù)寄存器和控制位,描述組件與Avalon總線的接口以及組件與液晶屏的接口。系統(tǒng)編輯器從文件中讀取I/O信號和參數(shù)信息。其次對LCD模塊進(jìn)行初始化,由于SOPC Builder中的LCD12864控制模塊已經(jīng)考慮了LCD的讀寫時(shí)序,所以使用NIOSⅡ IDE進(jìn)行LCD驅(qū)動(dòng)和控制時(shí)只需對LCD進(jìn)行初始化。
          3.4 NiosⅡ嵌入式處理器系統(tǒng)
          NiosⅡ是Altera針對其設(shè)計(jì)的嵌入式軟核處理器,它與其他IP核可構(gòu)成SOPC系統(tǒng)的主要部分。它具有靈活的自定義指令集和自定義硬件加速單元,以及圖形化開發(fā)環(huán)境NiosⅡIDE。經(jīng)由SOPC Builder生成NiosⅡ嵌入式處理器系統(tǒng),其CPU模塊框圖如圖4所示。

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

          h.JPG


          利用NIOSⅡIDE開發(fā)工具完成所有軟件開發(fā)任務(wù),系統(tǒng)接收撥扭開關(guān)掃描模塊發(fā)來的4位掃描碼,根據(jù)掃描碼數(shù)值的不同進(jìn)入不同的子程序,然后再通過的鍵盤掃描模塊向NIOSⅡ處理器發(fā)送鍵盤掃描碼,軟核處理器根據(jù)接收到的掃描碼產(chǎn)生相應(yīng)的信號數(shù)據(jù)以及控制信號,并通過PIO傳送給中的模塊,實(shí)現(xiàn)頻率控制字的變化,即輸出頻率可調(diào),并將信號數(shù)據(jù)顯示在LCD上。同時(shí)DAC器件將產(chǎn)生的8位信號數(shù)據(jù)進(jìn)行數(shù)模轉(zhuǎn)換,從而產(chǎn)生頻率可調(diào)的方波、三角波、正弦波、鋸齒波。

          4 結(jié)束語
          該信號源能夠很好地滿足對不同波形、不同頻率的信號的需求,具有很強(qiáng)的實(shí)用性,并且可以方便地通過液晶顯示器直觀地觀察到波形信號的參數(shù)信息。由FPGA實(shí)現(xiàn)的不僅可實(shí)現(xiàn)頻率可調(diào)波形變換且具有頻率切換快,信號的質(zhì)量和精度高于模擬方式的特點(diǎn)。


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: FPGA DDS 信號發(fā)生器

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();