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

          新聞中心

          EEPW首頁 > 網絡與存儲 > 設計應用 > 數據采集與壓縮系統

          數據采集與壓縮系統

          作者:尚壯壯時間:2013-02-27來源:電子產品世界收藏

            引言

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

            解決數據傳輸問題要根據實際的情況而定,對于采集系統而言,采集到的數據量還是很大的,在進行傳輸的過程中對帶寬要求較高,解決這一問題的有效途徑有:采用高帶寬的傳輸方式;對數據進行壓縮,變相提高數據傳輸帶寬。然而,采用高帶寬的傳輸方式是需要一定成本的,所以可以采用壓縮數據的方式。退一步來說,即使采用高帶寬方式,當傳輸的數據是壓縮過的,那么,相對于傳輸沒有壓縮的數據,后者傳輸效率無疑會更高。為此,作者在此提供一種參考方案,試著解決上述問題。

            系統硬件結構

            如圖1所示,本與壓縮系統整體分為兩個部分:部分(虛線以上)和數據壓縮部分(虛線以下),其中部分對待處理的信號進行采集,模數轉換并進行存儲;數據壓縮部分對存儲的數據進行壓縮,以提高有效容量和傳輸帶寬?! ?/p>

           

            各模塊的介紹和系統軟件流程

           ?、睌祿杉糠?/p>

            數據采集核心部分采用系列單片機(可以針對性的選擇其它芯片)。系列單片機是TI 公司研發的16位超低功耗單片機,非常適合各種功率要求低的場合。內部自帶的12 位A/ D 和控制單元,可以分別為系統采樣電路和數據傳輸部分采用,使得系統的硬件電路更加集成化、小型化,很好地解決了低功耗、數據采集、數據傳輸等問題。

            1)A/ D 采集數據模塊

            系列內部的ADC12 模塊能夠實現12 位精度的模數轉換,具有高速和通用的特性。其主要特點有:12 位轉換精度內置采樣與保持電路;有多種時鐘源可提供給ADC12 模塊,且模塊本身內置時鐘發生器;內置溫度傳感器;配有8 路外部通道與4 路內部通道;內置參考電源,且參考電壓有6 種可編程的組合;模數轉換有4 種模式,可靈活應用以節省軟件量及時間;可以關閉ADC12 模塊以節省系統功耗。

            2)傳輸模塊

            (直接存儲器訪問)控制器不需要CPU 的干預即可提供先進的可配置的數據傳輸能力,從而可以解放CPU ,使其不是將更多的時間浪費在等待上,而是將更多的時間用于處理數據。DMA 控制器可在內存與內部及外部硬件之間進行精確的傳輸控制。DMA 消除了數據傳輸延遲時間以及CPU 等待等各種開銷,從而提高了MCU 利用率,使信號處理能力更強。這樣從整體上節省了系統的處理時間。

            MSP430系列芯片內部擁有DMA控制器單元,其特性是:擁有3個獨立的DMA通道;可對通道進行優先權配置;支持邊沿觸發和電平觸發;多種尋址方式等。

            3)緩存到RAM1模塊

            之所以要用緩存模塊主要是考慮到兩個方面:一是數據采集的速率和傳輸速率不一致,二是數據采集速率和數據壓縮的速率不一致。RAM1在此起到緩存數據和協調系統的作用。通過數據緩存的設置,可以提高數據采集和壓縮系統的性能

          負離子發生器相關文章:負離子發生器原理


          關鍵詞: MSP430 DMA 數據采集

          評論


          相關推薦

          技術專區

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