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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 一種高性價比等精度數(shù)字頻率計方案設(shè)計

          一種高性價比等精度數(shù)字頻率計方案設(shè)計

          作者: 時間:2010-02-03 來源:網(wǎng)絡(luò) 收藏
          正是基于單片機這種電路結(jié)構(gòu),根據(jù)原理,提出圖4所示的系統(tǒng)框圖。單片機加CPLD結(jié)構(gòu),利用單片機內(nèi)部定時器定時,外部CPLD實現(xiàn)測量邏輯電路和計數(shù)功能。基準(zhǔn)時鐘fb由單片機晶振提供,頻率為單片機時鐘晶振12分頻后所得機器時鐘。預(yù)置閘門由單片機引腳P1.0輸出控制,計數(shù)器清零和復(fù)位由單片機引腳P1.1輸出控制,單片機引腳P3.2是內(nèi)部定時器使能開關(guān)控制引腳。



          2.2單片機與CPLD接口設(shè)計

          圖5所示為一種基于總線的接口方案,采用三總線(數(shù)據(jù)、控制、地址)結(jié)構(gòu),用于實現(xiàn)單片機與CPLD之間的數(shù)據(jù)傳輸。



          單片機P0口為雙向數(shù)據(jù)總線,與CPLD的通用IO口連接,完成數(shù)據(jù)和低8位地址傳送??刂瓶偩€包括單片機讀寫控制總線RD和WR,以及地址鎖存信號ALE(Address Lock Enable)。地址總線A15(P2.7)通過CPLD的全局輸入信號引腳輸入。

          2.3 CPLD電路

          CPLD內(nèi)部電路原理框圖如圖6所示。當(dāng)預(yù)置閘門GATE輸入高電平時,由于DFF觸發(fā)器為邊沿觸發(fā)器,在上升沿時才將數(shù)據(jù)輸出,所以Q輸出端并不立即置1,只有當(dāng)外部信號上升沿到來時,Q才為1,使能計數(shù)器和定時器。這樣保證了計數(shù)器和定時器在被測信號的上升沿到來時同時有效。當(dāng)預(yù)置閘門GATE=0關(guān)閉時,兩計數(shù)器的允許信號同樣在被測信號的上升沿到來時同時關(guān)閉。由于基準(zhǔn)信號的定時器與被測信號嚴(yán)格同步,所以理論上最大誤差只有基頻的一個周期。CPLD內(nèi)計數(shù)器為32位,在預(yù)置時間內(nèi),只要計數(shù)器不溢出,即可準(zhǔn)確測量被測信號個數(shù)。



          3方案實現(xiàn)

          3.1電路原理

          電路原理如圖7所示。圖中給出了單片機(STC89C52RC)與CPLD(ATF1504AS)的具體接口電路,LCD1602接口電路,帶ISP下載接口的CPLD電路,被測信號從J1直接輸入給CPLD I/O引腳。這里沒有給出信號前置調(diào)理與波形整形電路。



          3.2 CPLD電路設(shè)計

          CPLD開發(fā)選擇Altera公司的EDA軟件QuartusII和目標(biāo)器件EPM7064SLC44=10,需要完成電路設(shè)計輸入、編譯、仿真、引腳綁定(引腳分配請參考電路圖),并編譯得到最終配置文件*.pof。然后再使用Atmel公司提供的轉(zhuǎn)換工具POF2JED軟件將前面得到的*.pof文件轉(zhuǎn)換成*.jed文件,再用AtmelISP軟件將*.jed文件下載到CPLD器件ATF1504即可。


          評論


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