目前普遍使用的無線通訊平臺結構簡單,可移植性差,為了實現各種無線功能,往往在每個具體的無線通訊平臺上都需要實現各種不同的無線應用,應用和無線通訊平臺間的接口十分繁多。因此,深入研究通用的無線通訊平臺技術,研制實用的無線通訊平臺就具有十分重要的意義。論文深入分析了作為無線通道和無線應用間橋梁的無線通訊平臺的技術特點,闡述了嵌入式無線通訊平臺的設計需求及其體系結構,并參考已有的無線通訊框架和相關通訊命令,設計了Wireless-Platform嵌入式無線通訊平臺,實現了無線通道和無線應用之間的平穩和高效通訊,使各種無線應用與具體的無線通訊平臺無關。
一、嵌入式無線通訊平臺的概述
隨著計算機及相關技術的發展,嵌入式系統的應用范圍越來越廣,計算越來越自由,從一般的手持設備(如:手機,PDA等)到網絡通信設備(如:路由器、交換機等)都涉及到嵌入式應用,并呈現滲透計算模式(Pervasive Computing)。各種嵌入式設備都具有功能專一、針對性強的特點。隨著Internet的發展,Internet技術與信息家電、工業控制技術等結合日益密切,以手持上網設備(如:移動電話和智能PDA)為代表的嵌入式信息終端就是這類結合體,這種手持上網設備一般都需要使用無線業務功能的支持來實現各種無線業務,如:通話,發送消息和其他操作。手持上網設備主要是通過無線通訊方式進行各種信息交互和傳遞,而無線通訊平臺正是其中的關鍵技術之一。嵌入式系統主要特點之一是多樣性。設備生產廠商在芯片選擇、無線通訊指令標準、無線業務支持和操作系統等會有許多不同的要求,沒有任何無線通訊平臺可以滿足所有嵌入式系統的要求。因此無線通訊平臺各個模塊也會根據不同的嵌入式系統進行不同實現,唯一相同的是無線通訊平臺提供給各種無線應用的抽象接口不會改變。無線通訊方式具有分散性、多樣性和變異性的特點。軟件開發過程中必須對無線通訊的特點進行細分,對各種業務進行更有針對性的設計開發,才能實現無線通訊平臺對各種無線應用的可拓展。
二、嵌入式無線通訊平臺的設計
1、體系結構的設計
由于無線通訊平臺需要處理的數據接口種類比較繁多,無線通訊命令的標準也不同。無線通訊平臺需支持各個無線應用并行請求,處理無線上報消息,轉發無線應答給無線應用,通知無線應用處理上報消息,對無線數據進行緩沖和無線通信命令處理的動態擴展。無線通訊平臺由三個邏輯抽象層構成:數據處理層,服務處理層和應用接口層。無線通訊平臺總體流程如圖所示:
各應用接口的設計
query接口:當應用需要查詢無線通訊模塊的相關狀態等信息的時候,可以通過query接口來進行查詢;需要傳遞需要查詢的狀態的查詢類型,每種無線通訊模塊的狀態都對應一種類型,如:運營商號等;
modify接口:當應用需要更改無線通訊模塊的狀態信息的時候,可以通過modify接口進行狀態更新,參數包括:更新狀態的類型和需要更新的值。
add接口:添加數據到SIM卡存儲空間中,傳遞參數包括:位置,存儲空間標志,電話號碼,電話類型和姓名等信息;
update接口:更新SIM卡存儲空間中的數據,傳遞參數包括:位置,存儲空間標志,電話號碼,電話類型和姓名等信息;
remove接口:刪除SIM卡存儲空間中的數據,傳遞參數包括:位置和存儲空間標志等;
read接口:讀SIM卡存儲空間中的數據,需要傳遞的參數包括:位置和存儲空間標志等;
flush接口:由于電話本命令實時性要求不高,并且數據量比較大,因此電話業務服務器中對電話本命令和數據進行緩沖。當命令緩沖區滿的時候才執行命令,如果需要立即執行緩沖區中的命令,那么需要調用此接口。需要傳遞的參數包括:存儲空間標志等。
send接口:發送短消息請求,傳遞的參數包括:短消息內容和消息標志等;
read接口:讀取SIM卡某條短消息請求;
write接口:往SIM卡寫短消息請求,傳遞的參數包括:短消息內容和消息標志等;
delete接口:從SIM卡刪除某條短消息請求,傳遞的參數包括:消息標志和需要刪除的短消息位置等。
accept接收來電:發送接收來電請求;
dial撥號:呼叫當前的電話號碼,傳遞的參數包括:需要呼叫的電話號碼;
state電話狀態查詢:查尋當前電話的狀態;
hangup掛斷電話:掛斷當前的電話。
hold保持電話:讓當前電話處于保持狀態。
activate恢復電話:讓處于保持狀態的電話重新恢復。
join加入多方會議。
splitMultiCall離開多方會議。
begin:開始STK功能。
response:傳遞請求類型。
3、電話業務服務器軟件設計
應用注冊。由于無線系統有通知信息和命令結果返回,應用對于通知消息和/令結果返回的處理是被動的,電話業務服務器不能夠喚醒每個應用去處理無線通知消息和命令結果返回。因此,應用需要向電話業務服務器進行注冊。
請求操作。應用發送無線操作請求,電話業務服務器根據請求的唯一標志,調用對應的通訊處理模塊接口。
管理通訊通道。由于各個接口通過向指定的通道發送消息的方式傳遞數據,因此電話業務服務器必須對通訊通道進行建立,關閉和維護。
管理不同的通訊處理方式隊列。讓不同的通訊處理方式可以在一個通訊平臺中同時使用,而不會互相影響。
通訊處理模塊的設計
命令構造模塊。完成的主要功能是構造命令。無線業務服務器根據應用發送的請求標記,調用通訊處理模塊中的命令構造子模塊提供的相應接口,并傳遞相應的參數,命令構造子模塊將請求和參數信息轉換和合適的通訊命令。此外命令構造模塊還提供對SIM卡大數據塊進行緩沖,提高無線系統訪問的整體速度。命令隊列模塊。當命令構造模塊構造命令后,就將命令添加到命令隊列模塊,由于系統不能及時處理每個命令,命令隊列模塊對各個應用發送的命令進行緩沖,并進行有效的優先等級控制(主要根據命令請求種類)。此外命令隊列模塊對每個命令還進行超時控制和錯誤重試等,保證命令執行的可靠性和穩定性。設備接口模塊。對無線系統設備的訪問提供統一的接口,使設備的訪問更加統一和標準化。對主動上報的消息和命令結果返回,設備接口模塊提供了設備數據監聽器,通知上層模塊讀設備上的數據。