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

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于FPGA控制VGA顯示的多通道數(shù)字示波器的設(shè)計

          基于FPGA控制VGA顯示的多通道數(shù)字示波器的設(shè)計

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

          2.2 A/D轉(zhuǎn)換電路
          A/D轉(zhuǎn)換模塊采用存儲采樣數(shù)據(jù)的并行數(shù)據(jù)處理方法,這樣可以使硬件電路得到最大程度的簡化,同時也提高了系統(tǒng)的穩(wěn)定性。AD部分的采樣,選用實時采樣技術(shù)。能夠捕獲到單個信號。采樣速率為10 MHz,即在最高頻率1 MHz時,實時采樣可以在每周期采10個點以保證取到一個完整的信號波形。
          2.3 觸發(fā)電路模塊
          觸發(fā)電路模塊屬于外觸發(fā),對模擬信號實現(xiàn)任意電平觸發(fā),該模塊采用電壓比較器來實現(xiàn)單次觸發(fā)。
          2.4 存儲模塊
          存儲模塊包括內(nèi)存儲和外存儲兩部分,使用外部電路進行搭建的為外存儲,內(nèi)存儲在軟件部分進行說明。
          外部非易失性存儲器模塊采用存儲容量為16 KB的E2PROM芯片24C128,該芯片作為手動存儲的存儲介質(zhì),從而實現(xiàn)掉電不丟失的設(shè)計目的。
          2.5 顯示模塊
          顯示模塊是建于內(nèi)的雙緩沖機制,由嵌入的MicroBlaze軟核進行控制,能夠進行多個頁面間的切換。另外,每個界面,可以實現(xiàn)中文信息、彩色通道和所測輸入波形的顯示,并可控制顯示內(nèi)容的顯示顏色。
          2.6 鍵盤模塊
          4×4矩陣鍵盤模塊實現(xiàn)人機交互。
          通過鍵盤,可以對示波器的數(shù)字通道、模擬通道、混合通道、存儲、回放、波形左移、波形右移等功能進行選擇。

          3 基于的軟件設(shè)計
          的硬件主要包括:觸發(fā)電路模塊、數(shù)字信號發(fā)生模塊、存儲模塊、鍵盤模塊、顯示模塊等5個部分,軟件流程圖如圖2所示。

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

          b.jpg


          3.1 觸發(fā)電路程序
          AD采樣啟動后,將從AD進來的數(shù)據(jù)與觸發(fā)字進行比較,當(dāng)滿足設(shè)定條件時,會產(chǎn)生觸發(fā)信號,此信號送到RAM控制器端。通過對外部觸發(fā)電路發(fā)出觸發(fā)信號與內(nèi)部的兩路數(shù)字信號進行觸發(fā)的選擇后,RAM控制器得到觸發(fā)后將采樣數(shù)據(jù)寫入到RAM中。當(dāng)RAM在進行寫數(shù)據(jù)過程中觸發(fā)信號是被抑制的;當(dāng)RAM達到預(yù)觸發(fā)深度時,釋放觸發(fā)信號,等待下一次觸發(fā)的到來。
          3.2 數(shù)竽信號發(fā)生程序
          利用DDS的原理,在FPGA內(nèi)部生成一個信號發(fā)生器。主要包括頻率控制寄存器、高速相位累加器和比較器3部分。具體做法為:使用一個表示信號平均值的數(shù)據(jù)與AD采樣得來的數(shù)據(jù)進行比較得到同頻同相的A路信號,再經(jīng)由A信號觸發(fā)計數(shù)器,經(jīng)過合理設(shè)置計數(shù)脈沖,得到有45°延時,占空比25%的B路信號。最后對該相位值計算數(shù)字化正弦波幅度輸出。
          表示信號平均值的數(shù)據(jù)由MicroBlaze測量信號提供。



          評論


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