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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于80C196的采樣與A/D處理

          基于80C196的采樣與A/D處理

          作者: 時間:2012-03-16 來源:網(wǎng)絡(luò) 收藏

          上圖中LM311是專用的電壓比較器,把其設(shè)置為過零比較。而VIN2則是通道2原始信號引出來的線,其為正弦波,所以LM311輸出的為與原始信號頻率一致的脈沖方波,送至鎖相環(huán)4046的AIN引腳。鎖相環(huán)4046的AIN與BIN為輸入,AIN引入進來的信號,BIN引入反饋信號。如果比較兩路信號其頻率不一致,鎖相環(huán)4046在內(nèi)部產(chǎn)生一個AIN信號的分或倍頻信號(一種脈沖方波)由VCOUT即4腳輸出,如BIN的頻率大于AIN的頻率則倍頻反之則分頻,此過程一直到AIN與BIN兩路信號的頻率相等才會穩(wěn)定。鎖相環(huán)后的電路是VCOUT連到的倍數(shù)器4040輸入端A,4040的Q9腳引出信號作為反饋接至4046的BIN端。4040是倍頻芯片其Q9引腳的輸出信號是輸入A端信號的512之倍頻。由于4046的AIN與BIN引入頻率相同時內(nèi)部分倍頻才穩(wěn)定,因此VCOUT穩(wěn)定的輸出是AIN輸入的512分頻,這時鎖相環(huán)穩(wěn)定從VCOUT輸出信號的512分頻的脈沖方波。為了觸發(fā)效果的需要,加一RS觸發(fā)器74HC123引出OUT觸發(fā)。OUT觸發(fā)便輸出至兩個通道的轉(zhuǎn)換器AD976的R/C腳(SAMPLE),這樣可以保證兩個通道同時采樣。

          1.2 轉(zhuǎn)換

          33.gif

          轉(zhuǎn)換的硬件連接圖如圖3(只引出了通道1)。AD976是一種高速度、低電壓、16位的模數(shù)轉(zhuǎn)換器,其線性誤差很小,帶有8位并行輸出口。A/D轉(zhuǎn)換后的16位數(shù)字值分時兩次從并行口輸出,由外來BYTE腳引入高低電平分別對應(yīng)讀取16位數(shù)字信號的高8位和低8位。/BUSY引腳輸出的是轉(zhuǎn)換過程的狀態(tài),低電平為轉(zhuǎn)換期間,高電平為轉(zhuǎn)換結(jié)束,本設(shè)計中把此信號作為的高速輸入事件的輸入,由識別可進入其A/D轉(zhuǎn)換的響應(yīng)程序。其一次A/D的過程是:微控器識別A/D事件輸入后進入響應(yīng)程序,響應(yīng)程序中微控器完成16位數(shù)據(jù)的讀取又回到下一次A/D事件的查詢狀態(tài)。在整個采樣A /D轉(zhuǎn)換過程中采樣周期為19μs左右,AD976轉(zhuǎn)換時間是5~10μs,每次轉(zhuǎn)換之前/BUSY產(chǎn)生一個事件廷遲時間為83ns,轉(zhuǎn)換結(jié)束/BUSY 產(chǎn)生一個事件延遲180~360ns,加起來采樣費時不超過11μs,所以AD976的響應(yīng)這種高速采樣是沒有問題的。轉(zhuǎn)換后的數(shù)字數(shù)據(jù)通過 74HC541鎖存送至的P3口,這就完成了信號由采樣到存儲、由模擬到數(shù)字的工作,通過對器的編程就可完成這個過程。



          關(guān)鍵詞: 處理 A/D 采樣 80C196 基于

          評論


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