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

          新聞中心

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

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

          作者: 時(shí)間:2012-09-10 來(lái)源:網(wǎng)絡(luò) 收藏

          GPRS無(wú)線終端嵌入了TCP/IP協(xié)議和UDP協(xié)議(用戶可選),本采用TCP/IP協(xié)議,實(shí)際上GPRSDTU上實(shí)現(xiàn)的協(xié)議棧是TCP/IPOverPPP。

          GRPS無(wú)線數(shù)據(jù)采集終端

          圖1 GRPS無(wú)線終端

          2 硬件組成

          2.1 傳感器及放大器

          理論上,該可以同時(shí)進(jìn)行16路數(shù)據(jù)的采集,但在實(shí)際的調(diào)試中,只選用了2路來(lái)做模擬。

          一路選用溫度傳感器,表面/液體熱電偶NR281530,獲取實(shí)時(shí)現(xiàn)場(chǎng)的溫度,另一路采用壓力傳感器,PPM241BY油井專(zhuān)用型壓力傳感器,此在油田油井中具有較好應(yīng)用。

          在前端處理單元,由于各種傳感器的輸出參數(shù)不同,輸出不僅電平低、內(nèi)阻高,而且有共模電壓以及現(xiàn)場(chǎng)惡劣環(huán)境的影響,因此,在選用放大芯片時(shí)要綜合考慮以上因素。選取常用的MCP6S2X可編程增益放大器對(duì)原始進(jìn)行放大,OP07CP做后續(xù)濾波芯片。

          2.2 微處理器

          微處理器是系統(tǒng)工作的核心,其性能的好壞直接決定了系統(tǒng)性能的優(yōu)劣。本采集系統(tǒng)對(duì)數(shù)據(jù)實(shí)時(shí)性和精度的要求,以及易操作性方面的考慮,選擇32位的7系列處理器,它具有以下特點(diǎn):

          ·體積小、低功耗、低成本、高性能;

          ·支持Thumb(16位)/(32位)雙指令,能很好兼容8位/16位器件;

          ·大量使用寄存器,指令執(zhí)行速度快;

          ·指令長(zhǎng)度固定;

          ·尋址方式靈活簡(jiǎn)單,執(zhí)行效率高

          本系統(tǒng)采用PHILIPS公司的單片32位微控制器LPC2134,它是一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位7TDMI2STMCPU,含有128KB的FLASH,該存儲(chǔ)器用作代碼和數(shù)據(jù)的存儲(chǔ)。

          LPC2134擁有兩個(gè)異步串行口UART0和UART1,本系統(tǒng)中將UART0與GPRS終端相連,實(shí)現(xiàn)數(shù)據(jù)傳輸。它采用16字節(jié)收發(fā)FIFO,內(nèi)置波特率發(fā)生器,包含使能實(shí)現(xiàn)軟件控制的機(jī)制。

          硬件SPI接口是一個(gè)同步、全雙工串行接口,最大數(shù)據(jù)位速率為時(shí)鐘速率的1/8,可配置為主機(jī)或從機(jī)。本系統(tǒng)中SPI接口作為主機(jī),根據(jù)不同的中斷,控制多個(gè)從機(jī),包括可編程增益放大器MCP6S2X,使用SPI總線訪問(wèn)SD卡,以及控制開(kāi)發(fā)板上的數(shù)碼管顯示。

          A/D轉(zhuǎn)換器是2個(gè)8路10位逼近式模/數(shù)轉(zhuǎn)換器,測(cè)量范圍是0~313V,10位轉(zhuǎn)換時(shí)間大于或等于2144μS,一個(gè)或多個(gè)Burst轉(zhuǎn)換模式。

          2.3 GPRS終端

          GPRS終端選用的是南京傲屹電子有限公司的AYG285C,它是采用GPRS模塊專(zhuān)為工業(yè)集成設(shè)計(jì)的,在溫度范圍、震動(dòng)、電磁兼容性和接口多樣性等方面均采用特殊設(shè)計(jì),保證了惡劣環(huán)境下的工作穩(wěn)定性,GPRS公網(wǎng)的數(shù)據(jù)傳輸具有通信范圍廣,傳輸穩(wěn)定可靠等特點(diǎn)。通過(guò)按鍵可以進(jìn)行模塊參數(shù)設(shè)置或者進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)通信,串口波特率在300~115200bps可調(diào),校驗(yàn)位可選:無(wú)校驗(yàn),奇校驗(yàn),偶校驗(yàn)。支持協(xié)議PPP、IP、TCP、UDP、DNS、PING的客戶端功能。另外,電源、工作狀態(tài)有LED指示,方便現(xiàn)場(chǎng)查看MODEM運(yùn)行情況。

          3 系統(tǒng)軟件實(shí)現(xiàn)

          3.1 μC/OS2Ⅱ操作系統(tǒng)

          當(dāng)需要進(jìn)行多任務(wù)處理和調(diào)度時(shí),一個(gè)實(shí)時(shí)操作系統(tǒng)就必不可少。為此系統(tǒng)中采用源碼公開(kāi)的μC/OS2Ⅱ操作系統(tǒng),它具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良以及可擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至2K字節(jié)。

          μC/OS2Ⅱ的移植需要滿足以下要求:

          ·處理器的C編譯器可以產(chǎn)生可重入代碼;

          ·可以使用C調(diào)用進(jìn)入和退出臨界區(qū)代碼;

          ·處理器必須支持硬件中斷,并且需要一個(gè)定時(shí)中斷源;

          ·處理器需要能夠容納一定數(shù)據(jù)的硬件堆棧;

          ·處理器需要有能夠在CPU寄存器與內(nèi)核和堆棧交換數(shù)據(jù)的指令。

          本系統(tǒng)使用的LPC2134ARM7處理器滿足以上所有條件,因此可以對(duì)其進(jìn)行移植。根據(jù)μC/OS2Ⅱ的要求,移植μC/OS2Ⅱ到一個(gè)LPC2134ARM7體系結(jié)構(gòu)上需要提供2個(gè)或3個(gè)文件:OSCPU.

          H(C語(yǔ)言頭文件)、OS-CPU-C.C(C程序源文件)及OS-CPU-A.ASM(匯編程序源文件)。

          任務(wù)中,采用C語(yǔ)言進(jìn)行編程,但對(duì)于系統(tǒng)的初始化,仍然采用匯編來(lái)制作啟動(dòng)代碼,它可以實(shí)現(xiàn)向量表定義、堆棧初始化、系統(tǒng)變量的初始化、中斷系統(tǒng)初始化、I/O初始化、外圍初始化、地址映射等操作。

          芯片復(fù)位后,系統(tǒng)初始化流程如圖2所示。

          系統(tǒng)初始化流程圖

          圖2 系統(tǒng)初始化流程圖

          3.2 接口程序及SD卡驅(qū)動(dòng)的實(shí)現(xiàn)

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

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

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

          UART0初始化函數(shù)片斷如下:

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

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

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


          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();