- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
接口协议智能编解码方法研究
3 编解码方法举例
按照以上思路,飞机A 报告自身位置的报文编解码的设计如下。
飞机自身的位置信息属于态势信息,包括经度(LONG)和纬度(lat)、高程(H)。编解码的任务就是处理这三种信息。
首先,将编解码规则整理成XML 文档。这一步是编解码的前提和基础。一般,一个XML 文档对应一种规则,整理一次以后,以后的编解码即可反复利用此XML 文档。
然后,填充编解码的帧头信息(帧头编解码)。编码时关键代码如下:
FrameHead PosHead; Unit *p=NULL; //帧头,信息单元申明
//信息单元处理
p-> unit_number="State_SelfPos";
memset(p->send_elemet,0,MAX_ELE);
p->send_elemet[1]= p->send_elemet[2]= p->send_elemet[3]=1; //假定高度、纬度和经
度//是规则中的前三个信息元素
p->next=NULL;
//帧头处理
PosHead.frame_number= "PosHead_06-2-5_1"; // 填写报文编号
PosHead .type = 1 ; //报文类型(发送)
PosHead .start = "plane_A "; //发送方
PosHead .destination= "alert"; //接收方
PosHead .number=1; //编码信息单元数量
PosHead .length=128; //编解码信息单元长度
PosHead.responsion=1; //应答控制(确认收到)
PosHead .resposion_number=NULL; //所应答报文的编号
PosHead .chunnel=1; //发送通道
PosHead.info=p; //第一个编解码信息单元
接下来,调用编码函数进行编码,这样就将信息转化成为了二进制代码。最后,接收方解码此信息,调用解码函数。
4 结论
本文中提出的报文编解码方法,在复杂信息系统仿真中已经得到广泛应用。实践证明,有如下特点:
z 编解码速度快,完全能够满足复杂信息系统仿真通信的要求;
z 协议的改变不影响仿真系统软件,接口协议的数据处理和仿真程序分离;
z 不同的复杂信息系统仿真都可以使用这种方法,接口协议的编解码程序代码具有可移植性。
本文作者创新点:针对接口协议的复杂性和灵活性,提出了一种新颖的编解码方法,有效的解决了接口协议种类多、编解码方式灵活等问题;而且方法已经应用于863 计划项目,取得了良好的效果。
作者:肖凡 马瑞萍 冀海燕 来源:21IC电子网