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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ARM的嵌入式多路信號數(shù)據(jù)采集系統(tǒng)

          基于ARM的嵌入式多路信號數(shù)據(jù)采集系統(tǒng)

          作者: 時間:2012-09-10 來源:網(wǎng)絡 收藏

          LPC2134的UART0使用中斷方式進行通信,這樣不會占用CPU很多時間,效率比較高。當中斷服務處理子程序接收到一次中斷,它僅能知道UART0產(chǎn)生了中斷,還需要查詢中斷標志寄存器U0IIR,依據(jù)不同中斷源類型進行不同處理。在處理完當前的中斷源類型之后,不能立即退出服務,而應當繼續(xù)判斷U0IIR寄存器最低位是否為0。

          如果為0,則表示還有尚未處理的中斷,應該繼續(xù)根據(jù)U0IIR[3∶0]判斷中斷源類型,進行處理,直到U0IIR的最低位為1,最后發(fā)送中斷結(jié)束命令結(jié)束中斷服務處理程序。

          SD卡讀寫軟件移植到7微處理器LPC2134上的結(jié)構(gòu)圖如圖3所示。其中硬件抽象層是讀寫SD卡的硬件條件配置,是與硬件相關(guān)的函數(shù);命令層包含SD卡的相關(guān)命令以及卡與主機之間數(shù)據(jù)流的控制,這一層與實時操作μC/OSⅡ相關(guān),與硬件無關(guān);應用層是向應用程序提供卡的API函數(shù),這一層由實時操作μC/OSⅡ控制。

          SD卡讀寫軟件移植結(jié)構(gòu)圖

          圖3 SD卡讀寫軟件移植結(jié)構(gòu)圖

          3.3 應用程序?qū)崿F(xiàn)

          初始化完成后,創(chuàng)建各個任務,進入多任務調(diào)度處理。應用程序框架流程如圖4所示。

          本系統(tǒng)的主要任務是完成。系統(tǒng)在得到遠程數(shù)據(jù)中心的采集命令后,選擇適當?shù)牟杉ǖ?,并設置A/D模塊參數(shù)。在采集過程中判斷是否要停止,如果停止,任務處于等待掛起狀態(tài)。

          應用程序框架流程圖

          圖4 應用程序框架流程圖

          4 結(jié)語

          本系統(tǒng)采用了+RTOS以及+GPRS的方案,選取適當?shù)钠骷?gòu)成了多路的系統(tǒng),具有一定的實用價值。考慮到現(xiàn)場采集到的多是小,為了有較好的準確度和精確度,對A/D后的采集數(shù)據(jù)還要進行分析和調(diào)整,然后再發(fā)送到數(shù)據(jù)處理中心。為此,可以進行反復實驗,獲得多組數(shù)據(jù),最后通過最小二乘法曲線擬合來提高準確度。另外,隨外界環(huán)境的變化,也可以修改擬合曲線以適應具體的應用。隨著3G時代的來臨,大量數(shù)據(jù)信息的傳輸成為可能,可以考慮采集現(xiàn)場的相關(guān)視頻。在短消息功能,數(shù)據(jù)加密技術(shù)以及軟件操作和文件管理上還有待進一步開發(fā)和優(yōu)化。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 3 下一頁

          評論


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