《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II在GPRS終端系統(tǒng)中的應(yīng)用
嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II在GPRS終端系統(tǒng)中的應(yīng)用
摘要: 嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II在GPRS終端系統(tǒng)中的應(yīng)用,GPRS是在目前運(yùn)行的GSM網(wǎng)絡(luò)基礎(chǔ)上發(fā)展起來(lái)的數(shù)據(jù)業(yè)務(wù),,可以采用與GSM同樣的調(diào)制技術(shù),、頻率,以及同樣的TDMA幀結(jié)構(gòu),。利用現(xiàn)有的基站子系統(tǒng)(BSS),GPRS從一開(kāi)始就可以提供全面的覆蓋。GPRS終端系統(tǒng)的硬件組成G
Abstract:
Key words :

GPRS" title="GPRS">GPRS是在目前運(yùn)行的GSM網(wǎng)絡(luò)基礎(chǔ)上發(fā)展起來(lái)的數(shù)據(jù)業(yè)務(wù),,可以采用與GSM同樣的調(diào)制技術(shù)、頻率,,以及同樣的TDMA幀結(jié)構(gòu),。利用現(xiàn)有的基站子系統(tǒng)(BSS),GPRS從一開(kāi)始就可以提供全面的覆蓋,。

  GPRS終端系統(tǒng)的硬件組成

  GPRS終端系統(tǒng)主要由控制部分和GPRS無(wú)線模塊組成,,如圖1所示。

  

 

  圖1 GPRS終端的硬件組成原理

  為了適應(yīng)嵌入式技術(shù)在GPRS通信中的應(yīng)用,,系統(tǒng)的控制部分采用了S3C44B0x芯片,。

  S3C44B0x是16/32位RISC微處理器, 為手持設(shè)備和通常應(yīng)用提供了一種高性?xún)r(jià)比的解決方案,。

  S3C44B0x具有豐富的片內(nèi)資源,,可以通過(guò)串行接口操作GPRS模塊,,操作指令為AT命令集。

  GPRS無(wú)線模塊采用了SIM300,,該模塊支持GPRS的語(yǔ)音,、數(shù)據(jù)和短信息功能,內(nèi)嵌TCP/IP協(xié)議,。該模塊主要由射頻天線,、內(nèi)部Flash、SRAM,、GSM基帶處理器,、匹配電源和一個(gè)60腳的ZIF插座組成。其中,,GSM基帶處理器是核心部件,,其作用相當(dāng)于一個(gè)協(xié)議處理器,用來(lái)處理外部系統(tǒng)通過(guò)串口發(fā)送過(guò)來(lái)的AT指令,。GPRS模塊接收速率可達(dá)86.2kbps,,發(fā)送速率達(dá)21.5kbps,易于集成,。

  μC/OS-II的移植

  μC/OS-II是一個(gè)移植性很強(qiáng)的操作系統(tǒng),,其源代碼分為硬件無(wú)關(guān)和硬件有關(guān)兩個(gè)部分,移植時(shí)只需修改與硬件有關(guān)的部分,。移植μC/OS-II到S3C44B0X 上,,需做以下工作:

  (1) 修改數(shù)據(jù)類(lèi)型

  為保持與平臺(tái)的無(wú)關(guān)性,μC/OS-II使用經(jīng)過(guò)宏定義的通用類(lèi)型,,如INT16U,,表示16 位無(wú)符號(hào)數(shù)。在移植時(shí),,要把它們映射成正確的類(lèi)型,。

  (2) 進(jìn)入和退出臨界段

  用關(guān)閉和打開(kāi)中斷的方式,實(shí)現(xiàn)進(jìn)入臨界段函數(shù)OS_ENTER_CRITICAL()和退出臨界段函數(shù)OS_EX2IT_CRITICAL(),。

  (3) 設(shè)置堆棧生長(zhǎng)方向

  不同的處理器堆棧的生長(zhǎng)方向不同,,對(duì)S3C44B0X來(lái)說(shuō),其生長(zhǎng)方向可以向上也可以向下,。但是,,由于編譯器ADS僅支持堆棧從上往下長(zhǎng),并且必須是滿(mǎn)遞減堆棧,,所以這里要設(shè)置的實(shí)際使用方向?yàn)橄蛳略鲩L(zhǎng),,即

  #define OS_STR_GROWTH 1;

  (4) 任務(wù)的切換和調(diào)度

  進(jìn)行任務(wù)的切換和調(diào)度有兩種方法,一是當(dāng)前運(yùn)行的任務(wù)主動(dòng)調(diào)用OS_Sched() ,判斷是否有更高優(yōu)先級(jí)的任務(wù)要運(yùn)行,,如果有就將其切換到就緒態(tài),,然后調(diào)用OS_TASK_SW() ,產(chǎn)生一個(gè)軟中斷,,中斷向量指向函數(shù)OSIntCtxSw() ,,在其中修改任務(wù)堆棧,運(yùn)行新的任務(wù),。二是產(chǎn)生硬件中斷后,,在中斷處理函數(shù)中調(diào)用OSIntEx()。

  在上述過(guò)程中,,產(chǎn)生軟中斷和修改任務(wù)堆棧的代碼都是與處理器相關(guān)的,, S3C44B0X 的軟中斷匯編指令是SWI ,壓棧和出棧的匯編指令分別是STM和LDM,。

  (5) 堆棧的初始化

  μC/OS-II在創(chuàng)建任務(wù)時(shí)會(huì)調(diào)用OSTaskStkInt() 函數(shù)對(duì)任務(wù)堆棧進(jìn)行初始化,,這里需要將堆棧設(shè)置成和產(chǎn)生中斷后的形式一樣,一般包括任務(wù)起始地址,、中斷返回地址,、CPU 寄存器等內(nèi)容。另外,,還要保證任務(wù)是運(yùn)行在特權(quán)模式下,,而不是用戶(hù)模式下。

  (6) 時(shí)鐘節(jié)拍中斷

  μC/OS-II用時(shí)鐘節(jié)拍中斷實(shí)現(xiàn)時(shí)間延遲和超時(shí)功能,,定時(shí)頻率一般在10Hz~100Hz。設(shè)置定時(shí)器的代碼與CPU 相關(guān),,中斷向量必須指向μC/OS-II時(shí)鐘節(jié)拍中斷服務(wù)子程序OSTickISR() ,。系統(tǒng)的流程和任務(wù)的組成

 

  本系統(tǒng)中,首先調(diào)用OSInit(),,初始化μC/OS-II所有的變量和數(shù)據(jù)結(jié)構(gòu),,再調(diào)用arm_init()初始化微控制器的定時(shí)器及串口等硬件,通過(guò)調(diào)用OSTaskCreate(),,依次創(chuàng)建各個(gè)任務(wù),,最后調(diào)用OSStart()啟動(dòng)系統(tǒng),開(kāi)始多任務(wù)調(diào)度,。整個(gè)系統(tǒng)控制程序模塊及流程如圖2 所示,。

  

 

  圖2 系統(tǒng)控制程序模塊及流程

  整個(gè)系統(tǒng)中的任務(wù)包括arm控制部分的鍵盤(pán)掃描、LCD顯示任務(wù)和通信任務(wù)以及GPRS終端功能的短消息任務(wù),,語(yǔ)音通話任務(wù)等,。因此,在μC/OS-II系統(tǒng)中的任務(wù)主要包括:

  鍵盤(pán)掃描任務(wù)task_sys_key scan(),包括4×4鍵盤(pán)部分的掃描識(shí)別keyscan(),,以及對(duì)應(yīng)按鍵功能編碼的實(shí)現(xiàn)keyscan_code()等,。

  LCD顯示任務(wù)task_sys_ lcddis(),包括背景內(nèi)容顯示display_context(),、輸入內(nèi)容顯示display_input(),、輸出內(nèi)容顯示display_output()等。

  通信任務(wù)task_sys_ communication(),,除了包括系統(tǒng)和主機(jī)進(jìn)行通信的函數(shù)host_msg(),,以實(shí)現(xiàn)通過(guò)電腦進(jìn)行系統(tǒng)操作,還有各個(gè)任務(wù)之間相互通信的處理msg_tasl(),。

  話音通話任務(wù)task_sys_ telephone(),,其中包括電話呼叫GPRS_phone_call()、電話接聽(tīng)gprs_phone_recevie()等,。 另外,,還包括系統(tǒng)短信收發(fā)任務(wù)。

  根據(jù)系統(tǒng)進(jìn)行GPRS短消息通信和語(yǔ)音通信的功能要求,,設(shè)置各個(gè)任務(wù)的優(yōu)先級(jí)如表1所示,。

  結(jié)語(yǔ)

  μC/OS-II實(shí)時(shí)操作系統(tǒng)是開(kāi)放源代碼且得到實(shí)際驗(yàn)證的軟件平臺(tái),而S3C44BOx具有強(qiáng)大的32位RISC性能,,基于此軟件及硬件平臺(tái)對(duì)GPRS模塊進(jìn)行設(shè)計(jì),,能大量減輕研發(fā)任務(wù),提高研發(fā)速度,,為在短時(shí)間內(nèi)實(shí)現(xiàn)GPRS終端系統(tǒng)設(shè)計(jì)創(chuàng)造良好條件,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。