嵌入式软件通信架构研究
2018-10-21李小林王炳强
李小林 王炳强
摘要:随着经济的快速发展,社会在不断的进步,传统嵌入式软件开发环境架构存在缺乏可扩展性、不能共享通信资源、不能共享目标机代理等资源的问题。文章研究嵌入式软件通信架构(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.