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

          新聞中心

          EEPW首頁 > 測試測量 > 設計應用 > 基于ARM和FPGA的微加速度計數(shù)據(jù)采集系統(tǒng)設計

          基于ARM和FPGA的微加速度計數(shù)據(jù)采集系統(tǒng)設計

          作者: 時間:2010-03-29 來源:網(wǎng)絡 收藏

          由A/D轉換輸出轉換后的8位數(shù)字信號,可以從QuartusⅡ內置的邏輯分析儀中讀取,圖5為通過QuartusⅡ軟件內置邏輯分析儀查看讀取數(shù)據(jù)值的截圖。從圖5中可以看出在讀寫方式中,在WR/RDY的上升沿開始啟動轉換,到INT的下降沿轉換完成,轉換時間可通過時間標尺計算出來,為24×40=960 ns,之后就可以通過RD的上升沿開始讀取轉換后的數(shù)據(jù)到數(shù)據(jù)總線中,如圖5中的XDD以及YDD。因為單片機的處理速度一般都低于A/D轉換芯片的速度,故將XDD與YDD的數(shù)據(jù)存儲到中的FIFO中,F(xiàn)IFO便起到數(shù)據(jù)緩沖的作用,以備接下來單片機對數(shù)據(jù)進行讀取。

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

          3.2 系統(tǒng)接收數(shù)據(jù)
          圖6為相連接部分的傳輸接口框圖。系統(tǒng)主要控制的啟動和采集結束后對數(shù)據(jù)的顯示和存儲,在的過程中,ARM處理器系統(tǒng)讀取FPGA中的數(shù)據(jù),實際上是讀取FIFO中的數(shù)據(jù)。FIFO的容量可以通過軟件進行設置,它有兩個狀態(tài)顯示信號,分別為ALFUL和EMPTY,ALFUL是指FIFO接近滿,當ALFUL從低電平變?yōu)楦唠娖胶?,ARM單片機系統(tǒng)就可以發(fā)送RDFIFO信號來讀取FIFO中的數(shù)據(jù)輸出端口的數(shù)據(jù),當FIFO中的EMPTY信號從低電平變?yōu)楦唠娖?,表明FIFO中已無數(shù)據(jù)可讀,ARM單片機就開始等待ALFUL的跳變進行下一次的讀取。


          3.3 加速度數(shù)據(jù)顯示和存儲
          由ARM系統(tǒng)采集到的數(shù)據(jù)可通過串口線發(fā)送到上位機進行實時顯示,也可以通過模擬IDE通信協(xié)議儲存到IDE硬盤中。LPC2210通過串口線與上位機進行通信主要是應用ARM芯片LPC2210中的通用異步接收/發(fā)送裝置UART0,而使用LPC2210的通用可編程I/O口,可以模擬產(chǎn)生IDE硬盤的讀寫時序,實現(xiàn)對存儲設備的讀寫操作。這樣可以實現(xiàn)加速度數(shù)據(jù)的顯示和存儲。

          4 結語
          這里介紹一種MEMS器件設計方案,結合當前應用廣泛的處理芯片ARM和FPGA,給出了一種配置靈活、通用性強的數(shù)據(jù)采集方案。實驗中可準確采集美新加速度計MXR6150G/M的加速度信號,采集到的信號既可以在上位機實時顯示,又可以存儲在IDE接口硬盤中,達到了數(shù)據(jù)顯示和存儲的目的。

          加速度計相關文章:加速度計原理

          上一頁 1 2 3 4 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁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); })();