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

          新聞中心

          EEPW首頁 > 元件/連接器 > 設(shè)計(jì)應(yīng)用 > 基于CPLD內(nèi)部的反向器實(shí)現(xiàn)振蕩器應(yīng)用

          基于CPLD內(nèi)部的反向器實(shí)現(xiàn)振蕩器應(yīng)用

          作者: 時(shí)間:2010-09-26 來源:電子產(chǎn)品世界 收藏

            振蕩器實(shí)現(xiàn)

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

            利用內(nèi)部的使輸入波形得到校正,再加上反向器反向和外部RC實(shí)現(xiàn)振蕩器,只需要在使用的任意兩個I/O PIN引腳(當(dāng)然從內(nèi)部原理來看最好是使用相鄰的兩個PIN引腳,會減小CPLD內(nèi)部資源的占用)。其中一個PIN 引腳串入電阻,外接一個對地電容,當(dāng)內(nèi)部的A點(diǎn)為高電平時(shí),PIN1會通過R1對C1充電,由于電容的電壓不可越變,電壓是對電流的積分,所以電壓會逐漸上升,當(dāng)電平上升至0.5 × VCCIO,CPLD才認(rèn)為是高電平,再經(jīng)過內(nèi)部的反向器會反向,所以A 點(diǎn)會變成低電平,這時(shí)C1 會通過R1逐漸放電,當(dāng)放電電平低于0.5 x VCCIO時(shí),反向器反向A點(diǎn)又變回高電平,這樣反復(fù)的振蕩就構(gòu)成了一個穩(wěn)定的振蕩器時(shí)鐘源(見表1)。

            CPLD實(shí)現(xiàn)代碼

            本設(shè)計(jì)使用VHDL語言,選用XILINX 公司的COOLRUNNER-II系列的CPLD器件, 基于0.18nm CMOS CPLD, 3.8ns PIN-to-PIN延時(shí),快速JTAG下載,2個bank,具體實(shí)現(xiàn)見代碼列表。

            振蕩器應(yīng)用

            上述代碼通過XILINX的編譯綜合器后,會產(chǎn)生一個可下載檔案,此檔案可以通過JTAG直接下載到芯片中使用,由于代碼示例的為一個實(shí)時(shí)振蕩器,也就是只有芯片上電,振蕩器部分會一直工作,對于用于電源管理的嵌入式產(chǎn)品設(shè)計(jì),由于一直振蕩帶來額外的電功耗損耗,功耗的損耗和振蕩的頻率是相關(guān)的,當(dāng)頻率越高時(shí),功耗越大。所以,設(shè)計(jì)還可以再被優(yōu)化使用。比如,當(dāng)符合什么條件時(shí)振蕩器才開始振蕩,或者達(dá)到什么條件時(shí)振蕩器停止振蕩,這樣靈活的優(yōu)化設(shè)計(jì)會給產(chǎn)品帶來更多的附加價(jià)值,延長電池的使用壽命。

            振蕩器的振蕩頻率是通過外部引腳的電阻和電容來調(diào)整的,當(dāng)電阻越小,電容越小時(shí),振蕩的頻率就很高。當(dāng)電阻很大時(shí),電容也變大,振蕩的頻率就會變低。振蕩器的精度取決于外面電阻和電容的精度,電阻的精度以現(xiàn)在工藝可以做到1%的正負(fù)誤差,電容可以選擇5%的正負(fù)誤差,高精度的電阻和電容會帶來比較精準(zhǔn)的振蕩頻率。

           



          關(guān)鍵詞: CPLD 施密特觸發(fā)器 201009

          評論


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