嵌入式多路信號數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn)方案
2.3 GPRS終端
GPRS終端選用的是南京傲屹電子有限公司的AYG285C,它是采用GPRS模塊專為工業(yè)集成設(shè)計(jì)的,在溫度范圍、震動(dòng)、電磁兼容性和接口多樣性等方面均采用特殊設(shè)計(jì),保證了惡劣環(huán)境下的工作穩(wěn)定性,基于GPRS公網(wǎng)的數(shù)據(jù)傳輸具有通信范圍廣,傳輸穩(wěn)定可靠等特點(diǎn)。通過按鍵可以進(jìn)行模塊參數(shù)設(shè)置或者進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)通信,串口波特率在300~115200bps可調(diào),校驗(yàn)位可選:無校驗(yàn),奇校驗(yàn),偶校驗(yàn)。支持協(xié)議PPP、IP、TCP、UDP、DNS、PING的客戶端功能。另外,電源、工作狀態(tài)有LED指示,方便現(xiàn)場查看MODEM運(yùn)行情況。
當(dāng)需要進(jìn)行多任務(wù)處理和調(diào)度時(shí),一個(gè)嵌入式實(shí)時(shí)操作系統(tǒng)就必不可少。為此系統(tǒng)中采用源碼公開的μC/OS2Ⅱ操作系統(tǒng),它具有執(zhí)行效率高、占用空間小、實(shí)時(shí)性能優(yōu)良以及可擴(kuò)展性強(qiáng)等特點(diǎn),最小內(nèi)核可編譯至2K字節(jié)。
μC/OS2Ⅱ的移植需要滿足以下要求:
1.處理器的C編譯器可以產(chǎn)生可重入代碼;
2.可以使用C調(diào)用進(jìn)入和退出臨界區(qū)代碼;
3.處理器必須支持硬件中斷,并且需要一個(gè)定時(shí)中斷源;
4.處理器需要能夠容納一定數(shù)據(jù)的硬件堆棧;
5.處理器需要有能夠在CPU寄存器與內(nèi)核和堆棧交換數(shù)據(jù)的指令。
本系統(tǒng)使用的LPC2134ARM7處理器滿足以上所有條件,因此可以對其進(jìn)行移植。根據(jù)μC/OS2Ⅱ的要求,移植μC/OS2Ⅱ到一個(gè)LPC2134ARM7體系結(jié)構(gòu)上需要提供2個(gè)或3個(gè)文件:OSCPU.H(C語言頭文件)、OS-CPU-C.C(C程序源文件)及OS-CPU-A.ASM(匯編程序源文件)。
數(shù)據(jù)采集任務(wù)中,采用C語言進(jìn)行編程,但對于系統(tǒng)的初始化,仍然采用匯編來制作啟動(dòng)代碼,它可以實(shí)現(xiàn)向量表定義、堆棧初始化、系統(tǒng)變量的初始化、中斷系統(tǒng)初始化、I/O初始化、外圍初始化、地址映射等操作。
芯片復(fù)位后,系統(tǒng)初始化流程如圖2所示。
圖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開銷小,不需要中斷服務(wù),比較適合嵌入式系統(tǒng)中采用。
循環(huán)等待A/D讀取數(shù)據(jù)的偽代碼如下:
之間通過串口相連,采集數(shù)據(jù)先通過開發(fā)板串口UART0發(fā)送到無線數(shù)據(jù)終端AYG285C的緩沖區(qū),然后緩沖區(qū)將數(shù)據(jù)打成一個(gè)個(gè)數(shù)據(jù)包,通過GPRS網(wǎng)絡(luò)發(fā)送到遠(yuǎn)程數(shù)據(jù)處理中心。因此,在μC/OS2Ⅱ下LPC2134的UART底層接口驅(qū)動(dòng)顯得尤為重要。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論