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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于EZ-USB單片機(jī)的正弦信號(hào)發(fā)生器

          基于EZ-USB單片機(jī)的正弦信號(hào)發(fā)生器

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

            2)2PSK:

            實(shí)現(xiàn)原理與 2ASK類似,單片機(jī)計(jì)算出 所需要的兩組控制字,然后根據(jù)比特率10Kbps的要求,每隔50us,將這兩組控制字依次送入 DDS芯片。

            3)頻率調(diào)制:

            根據(jù)調(diào)制信號(hào)的周期,計(jì)算出頻率控制字更新的時(shí)間,然后循環(huán)送至DDS,模擬調(diào)頻信號(hào)頻率的變化。

             4寬帶功率放大電路

            采用 AD811的兩級(jí)信號(hào)放大電路,第一級(jí)為電壓放大電路,通過調(diào)節(jié)電阻阻值來調(diào)整電路的增益。后一級(jí)為電壓跟隨,進(jìn)一步提高電路的帶載能力。

            三:信號(hào)發(fā)生器系統(tǒng)軟件構(gòu)成

            本系統(tǒng)開發(fā)主要是基于高速 USB特性,加上豐富的軟件開發(fā)包,有利于快速開發(fā)一個(gè)穩(wěn)定,高效的系統(tǒng),對進(jìn)一步拓展系統(tǒng)的功能和精度有很好的快速升級(jí)能力。Cypress 公司的網(wǎng)站提供了 CY7C68013 芯片的開發(fā)工具包下載, 該開發(fā)包提供了開發(fā)固件程序的所需的一些資源,如 Keil μVision2 集成開發(fā)環(huán)境(限制版)、Cypress C51固件框架程序以及一些例子程序。CY7C68013 的固件主要有兩種引導(dǎo)方式, 一種是存儲(chǔ)在 EEPROM上, 通過上電后的自檢自動(dòng)將固件程序加在 CY7C68013上;另一種方式是通過主機(jī)將固件程序下載到CY7C68013。

            本系統(tǒng)在設(shè)計(jì)上采用外接一片 EEPROM芯片來存放 USB設(shè)備配置信息和 8051應(yīng)用程序。該應(yīng)用程序在上電后加載到 8051內(nèi)核,主要完成兩個(gè)任務(wù):實(shí)現(xiàn) USB協(xié)議,包括 USB設(shè)備配置及 USB數(shù)據(jù)傳輸;實(shí)現(xiàn)對 的初始化以及對信號(hào)的產(chǎn)生和控制。

            1固件程序框架

            固件程序流程如圖 4所示,主要執(zhí)行以下任務(wù),其中步驟①~⑤主要是完成 USB接口的初始化工作,而步驟⑥~⑩可以看作是任務(wù)執(zhí)行階段,完成 USB事務(wù)及用戶特定的任務(wù)。


            ① 初始化所有的狀態(tài)變量;

            ② CY7C68013中 USB端點(diǎn)寄存器進(jìn)行初始化設(shè)置;



          評論


          相關(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); })();