李小林 王炳強
摘要:隨著經濟的快速發展,社會在不斷的進步,傳統嵌入式軟件開發環境架構存在缺乏可擴展性、不能共享通信資源、不能共享目標機代理等資源的問題。文章研究嵌入式軟件通信架構(TargetcommunicationFramework,簡稱TCF),以及基于該架構的嵌入式軟件開發環境技術。TCF在目標機和宿主機之間建立共享的通信鏈接、統一通信協議、基于服務的架構,共享通信通道和目標機代理,是下一代嵌入式軟件開發環境的全新設計理念。
關鍵詞:TCF;嵌入式軟件開發環境;交叉調試;CDT;天脈操作系統
引言
通信信號自動調制方式識別的應用范圍廣泛,在軟件無線電接收機中更具有十分重要的意義。軟件無線電的思路是構建一個通用硬件平臺,用軟件來實現盡可能多的無線通信功能,目標是實現多波段、多體制、多制式的接收和發送,達到通信設備之間的互聯互通,信號調制方式的自動識別是軟件無線電接收機的必備功能之一。
1軟件無線電概述
約瑟夫·米托拉(JesephMitola)在1922年5月份舉行的美國通信系統會議上第一次正式提出了“軟件無線電”(SWR,SoftwareRadio)的概念。該概念的核心思想就是積極建構一個模塊化、標準化、通用化的硬件支持平臺,而后借助該硬件支持平臺,讓寬帶D/A轉換器、A/D轉換器與天線在最大程度上相互靠近,利用軟件技術來實現各種所需要的無線通信功能,例如數據格式、工作頻段、加密模式、調制解調方式以及通信協議等等,讓軟件無線電擁有使用靈活、通用性強、便于升級和系統聯網的優勢。由于軟件無線電的各種功能是通過軟件編程實現的,因此,假如需要對通信系統進行更新只需要添加新型軟件模塊即可;同時,軟件無線電可以形成多種通信協議與調制波形,因此能夠有效兼容以往的舊體制電臺,延長了通信系統的使用壽命,降低了使用成本。
在今天,日新月異的電子技術和計算機技術、高速發展的信號處理技術和寬帶模數轉換技術、具有較高技術成熟度的EDA工具和可編程器件尤其是不斷提升的硬件制造水平,這些均為軟線無線電提供了極大的技術便利。有鑒于此,軟件無線電的物理層必須要具備非常優秀的適應性和靈活性,能夠在最大程度上兼容各種操作系統,并保證各種通信功能可以正常使用。
2嵌入式通信架構
TCF設計共享的物理鏈接解決共享網絡資源的問題;設計統一的通信協議、并采用基于服務的架構,解決共享代理的問題、缺乏可擴展性的問題。
2.1共享的物理鏈接
TCF通信鏈接包括通道、消息、JSON碼、服務四層,對應OSI網絡模型的5到7層。會話層由通道和消息組成;表示層進行數據描述和編碼;應用層駐留各種服務。TCF根據目標機配置創建宿主機和目標機的數據交換通道。一個物理網絡可以創建多路通道,一個通道可以掛接多個服務。工具調用通道的標準接口,選擇需要的服務。
2.2統一的通信協議
TCF制定一種統一的基于文本的通信協議。該協議定義消息的時序和數據格式。TCF包含四類消息:命令消息、回復消息、事件消息、流控制消息。命令消息通知目標機執行預定義動作。回復消息回復命令的執行結果或狀態。事件消息通知訂閱者目標機狀態的改變。流控制消息發送網絡狀態,預防堵塞。表1列舉消息類型及其語法。TCF通信協議規定斜體部分數據的格式;黑體部分和服務相關,可以使用任意的符合需求的數據編碼。TCF默認選擇JSON編碼。JSON(JavaScriptObjectNotation)是一個基于文本的、輕量級的數據交換協議。
宿主機工具創建通道,選擇需要的服務并發送命令消息,命令消息的語法中,“C”表示是命令類消息標識,“token”是通道標識,“service”是服務標識,“command”是命令名稱,“argu-mentsdata”是命令參數。目標機代理收到、解析命令消息,派發調用的服務。服務的執行結果通過回復消息發給工具。回復消息有兩類,R類和P類。一個命令消息對應一個R類消息或多個P類消息。R類消息是立即執行并返回的消息,“resultdata”表示返回數據;P類消息是長時間執行的消息,“progressdata”表示當前命令的執行進度數據。目標機狀態發生改變時,發送事件消息通知宿主機工具。工具可以訂閱關注的事件類型。“event”表示事件類型。“eventdata”表示事件的數據。當宿主機發送消息的速度過快,超過通道或目標機的處理能力時,目標機發送流控制消息給宿主機。“trafficcongestionlevel”的取值范圍為-100到100,表示通信擁塞級別從小大。當通信擁塞級別大于0時,宿主機就會調整消息發送頻率。
2.3基于服務的架構
TCF把目標機代理的功能歸納分類為一組服務。目標機只運行一個代理,容納、管理所有服務;接收宿主機的命令消息,派發相應服務;組織回復消息;監聽目標機狀態變化,組織事件消息;根據網絡狀態組織流控制消息。TCF定義的基本服務共5類、12種:(1)遠程定位類,包括定位服務,用于發送、接收遠程定位信息,自動發現上線的目標機;(2)遠程文件系統控制類,包括文件系統服務;(3)遠程進程控制類,包括進程服務,提供啟動、停止、掛接、解掛等進程控制;(4)目標系統狀態控制類,包括系統監控服務,用于獲取目標機系統狀態,如系統內核、進程、線程對象的信息;(5)調試控制類,包括:運行控制服務、斷點服務、寄存器服務、內存服務、上下文服務、反匯編服務、棧幀服務、符號表服務。TCF支持動態加卸載服務。可以在目標設備運行時啟動、停止指定服務。TCF支持擴展服務。擴展分為實現新的服務以及服務增值。服務增值加工服務回復消息,回復經過二次解釋的數據。
3TCF的典型實現
Eclipse是嵌入式軟件集成開發環境的主流平臺。通過集成不同的插件,Eclipse可以擴展各種功能:支持C/C++開發的CDT(C/C++DevelopmentToolkit)項目;支持遠程系統開發的RSE(RemoteSystemExplorer)項目;實現TCF架構的項目。TCF項目分為宿主機端、目標機端。宿主機使用Java實現的TCF架構核心。目標機端使用C實現TCF代理。我們選擇Eclipse+TCF+CDT+RSE的結構,實現支持天脈1嵌入式實時操作系統的嵌入式軟件開發環境。在結如圖1描述的結構中,基于CDT實現調試器;基于RSE實現監控器。調試器和監控器通過TCF架構核心和目標機上的TCF代理程序通信,完成天脈的開發調試。
結語
隨著各家供應商的接受,基于TCF的商用開發工具軟件已經逐步出現,如WindRiver公司workbench3.2及其后續系列產品。TCF已經納入Eclipse開源社區,借著開源目的優勢,TCF將成為新一代嵌入式軟件開發環境行業的實際標準。
參考文獻:
[1]劉芳,臧威.基于Eclipse平臺的嵌入式交叉調試環境MRTOS[J].電子科技,2013,26(5):18-21.
[2]張琴,田寶玉.通信信號調制模式的自動識別技術及發展前景[J].電訊技術,2008,48(2):6-10.