<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 嵌入式多路信號數據采集系統

嵌入式多路信號數據采集系統

作者: 時(shí)間:2011-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏
3.2 接口程序及SD卡驅動(dòng)的實(shí)現

本文引用地址:http://dyxdggzs.com/article/155779.htm

  在實(shí)時(shí)內核下,接口程序讀取A/D采樣數據的方法通常有三種:程序延時(shí)法、ADC轉換完畢時(shí)產(chǎn)生中斷法和程序循環(huán)等待的方法。其中循環(huán)等待的方法CPU開(kāi)銷(xiāo)小,不需要中斷服務(wù),比較適合中采用。

  循環(huán)等待A/D讀取數據的偽代碼如下:

  

  之間通過(guò)串口相連,采集數據先通過(guò)開(kāi)發(fā)板串口UART0發(fā)送到無(wú)線(xiàn)數據終端AYG285C的緩沖區,然后緩沖區將數據打成一個(gè)個(gè)數據包,通過(guò)GPRS網(wǎng)絡(luò )發(fā)送到遠程數據處理中心。因此,在μC/OS2Ⅱ下LPC2134的UART底層接口驅動(dòng)顯得尤為重要。

  UART0初始化函數片斷如下:

  

  在本中,串口通信采用8位數據位,1位停止位,奇校驗,無(wú)流控制。在實(shí)際使用中為接收數據穩定波特率設置為9600bps效果較好。在測試中,測量到的數據范圍為10-6~101,有效數字為4位,所以在發(fā)送數據時(shí)采用每幀數據由3個(gè)字節組成,第1個(gè)字節為數據指數部分,高四位為0,低四位中的第四位表示指數符號,0表示正數,1表示負數;其余三位表示指數的數值部分。

  后續兩個(gè)字節為數據底數部分,采用壓縮的BCD碼編碼方式,高位在前,低位在后,即一個(gè)字節表示兩位十進(jìn)制數,則兩個(gè)字節表示四位十進(jìn)制數。

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

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

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

  

  圖3 SD卡讀寫(xiě)軟件移植結構圖

3.3 應用程序實(shí)現

  系統初始化完成后,創(chuàng )建各個(gè)任務(wù),進(jìn)入多任務(wù)調度處理。應用程序框架流程如圖4所示。

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

  

  圖4 應用程序框架流程圖

  4 結語(yǔ)

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

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

c語(yǔ)言相關(guān)文章:c語(yǔ)言教程


熱電偶相關(guān)文章:熱電偶原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 系統 數據采集 信號 嵌入式

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>