《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > μC/OS-II在GPRS終端系統中的應用
μC/OS-II在GPRS終端系統中的應用
摘要: 本文介紹了實時多任務μC/OS-II操作系統在GPRS終端中的移植及應用,以及GPRS終端的硬件組成和軟件框架,詳細說明了μC/OS-II在ARM器件S3C44B0x芯片上的移植過程和GPRS終端的軟件設計。
Abstract:
Key words :

  實時嵌入式操作系統μC/OS-II面向中小型嵌入式應用,包含全部功能模塊的內核大約為10KB,RAM的應用量主要與系統中的任務數有關。

  GPRS是在目前運行的GSM網絡基礎上發展起來的數據業務,可以采用與GSM同樣的調制技術、頻率,以及同樣的TDMA幀結構。利用現有的基站子系統(BSS),GPRS從一開始就可以提供全面的覆蓋。

  GPRS終端系統的硬件組成

  GPRS終端系統主要由控制部分和GPRS無線模塊組成,如圖1所示。

GPRS終端的硬件組成原理

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

  為了適應嵌入式技術在GPRS通信中的應用,系統的控制部分采用了S3C44B0x芯片。

  S3C44B0x是16/32位RISC微處理器, 為手持設備和通常應用提供了一種高性價比的解決方案。

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

  GPRS無線模塊采用了SIM300,該模塊支持GPRS的語音、數據和短信息功能,內嵌TCP/IP協議。該模塊主要由射頻天線、內部Flash、SRAM、GSM基帶處理器、匹配電源和一個60腳的ZIF插座組成。其中,GSM基帶處理器是核心部件,其作用相當于一個協議處理器,用來處理外部系統通過串口發送過來的AT指令。GPRS模塊接收速率可達86.2kbps,發送速率達21.5kbps,易于集成。

μC/OS-II的移植

  μC/OS-II是一個移植性很強的操作系統,其源代碼分為硬件無關和硬件有關兩個部分,移植時只需修改與硬件有關的部分。移植μC/OS-II到S3C44B0X 上,需做以下工作:

  (1) 修改數據類型

  為保持與平臺的無關性,μC/OS-II使用經過宏定義的通用類型,如INT16U,表示16 位無符號數。在移植時,要把它們映射成正確的類型。

  (2) 進入和退出臨界段

  用關閉和打開中斷的方式,實現進入臨界段函數OS_ENTER_CRITICAL()和退出臨界段函數OS_EX2IT_CRITICAL()。

  (3) 設置堆棧生長方向

  不同的處理器堆棧的生長方向不同,對S3C44B0X來說,其生長方向可以向上也可以向下。但是,由于編譯器ADS僅支持堆棧從上往下長,并且必須是滿遞減堆棧,所以這里要設置的實際使用方向為向下增長,即

  #define OS_STR_GROWTH 1;

  (4) 任務的切換和調度

  進行任務的切換和調度有兩種方法,一是當前運行的任務主動調用OS_Sched() ,判斷是否有更高優先級的任務要運行,如果有就將其切換到就緒態,然后調用OS_TASK_SW() ,產生一個軟中斷,中斷向量指向函數OSIntCtxSw() ,在其中修改任務堆棧,運行新的任務。二是產生硬件中斷后,在中斷處理函數中調用OSIntEx()。

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

  (5) 堆棧的初始化

  μC/OS-II在創建任務時會調用OSTaskStkInt() 函數對任務堆棧進行初始化,這里需要將堆棧設置成和產生中斷后的形式一樣,一般包括任務起始地址、中斷返回地址、CPU 寄存器等內容。另外,還要保證任務是運行在特權模式下,而不是用戶模式下。

  (6) 時鐘節拍中斷

  μC/OS-II用時鐘節拍中斷實現時間延遲和超時功能,定時頻率一般在10Hz~100Hz。設置定時器的代碼與CPU 相關,中斷向量必須指向μC/OS-II時鐘節拍中斷服務子程序OSTickISR() 。

  系統的流程和任務的組成

  本系統中,首先調用OSInit(),初始化μC/OS-II所有的變量和數據結構,再調用ARM_init()初始化微控制器的定時器及串口等硬件,通過調用OSTaskCreate(),依次創建各個任務,最后調用OSStart()啟動系統,開始多任務調度。整個系統控制程序模塊及流程如圖2 所示。

系統控制程序模塊及流程

圖2 系統控制程序模塊及流程

  整個系統中的任務包括ARM控制部分的鍵盤掃描、LCD顯示任務和通信任務以及GPRS終端功能的短消息任務,語音通話任務等。因此,在μC/OS-II系統中的任務主要包括:

  鍵盤掃描任務task_sys_key scan(),包括4×4鍵盤部分的掃描識別keyscan(),以及對應按鍵功能編碼的實現keyscan_code()等。

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

 

  通信任務task_sys_ communication(),除了包括系統和主機進行通信的函數host_msg(),以實現通過電腦進行系統操作,還有各個任務之間相互通信的處理msg_tasl()。

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

  根據系統進行GPRS短消息通信和語音通信的功能要求,設置各個任務的優先級如表1所示。

 結語

  μC/OS-II實時操作系統是開放源代碼且得到實際驗證的軟件平臺,而S3C44BOx具有強大的32位RISC性能,基于此軟件及硬件平臺對GPRS模塊進行設計,能大量減輕研發任務,提高研發速度,為在短時間內實現GPRS終端系統設計創造良好條件。

  參考文獻

  1.周航慈,吳光文等,基于嵌入式實時操作系統的程序設計技術[M],北京航空航天大學出版社,2006

  2.曹莉,基于GPRS網絡的數據無線傳輸的實現接口[C],現場總線與網羅技術,2006

  3.華亮,基于μ C/OS-II的嵌入式系統應用平臺的構建[C],計算機工程,2004年

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 女人张腿让男桶免费视频网站 | 日韩不卡毛片 | 日韩欧美三级在线观看 | 久久久久久亚洲精品不卡 | 欧美日韩一区二区中文字幕视频 | 一级做a爰片欧美一区 | 失禁h啪肉尿出来高h | 国产成人亚洲合集青青草原精品 | 免费看美女毛片 | 国产精品99久久免费观看 | 午夜香蕉网 | 国产成人禁片免费观看视频 | 亚洲在线视频网站 | 18在线观看国内精品视频 | av在线天堂网 | 男女在线免费视频 | 欧美日韩一区二区三 | 国产成人在线播放 | 久久99精品久久只有精品 | 黄网站www | 成人a毛片 | 国产亚洲人成网站在线观看 | 久草久 | 成人免费网站久久久 | 99久久国产免费 - 99久久国产免费 | 国产特黄一级毛片特黄 | 精品中文字幕久久久久久 | 欧美另类精品一区二区三区 | 亚洲深夜福利视频 | 亚洲欧美精品成人久久91 | 自拍偷拍视频在线观看 | 国产欧美综合在线一区二区三区 | 国产成人久视频免费 | 韩国精品欧美一区二区三区 | 国产黄三级三·级三级 | 国产成人精品久久 | 精品中文字幕一区在线 | 亚洲视频一区二区在线观看 | 视频三区精品中文字幕 | 亚洲免费在线看 | 一级做a爰全过程免费视频毛片 |