通用报文编解码和串口测试软件和实现是关于本文可作为相关专业编解码论文写作研究的大学硕士与本科毕业论文高清编解码器论文开题报告范文和职称论文参考文献资料。
【摘 要】为提高串口测试软件的通用性和灵活性、提高测试效率,提出一种通用报文编解码和串口测试软件的实现方案,重点对报文编解码所涉及的关键技术进行研究.
【关键词】串口测试 串行通信 报文编解码 自动化
【中图分类号】 G 【文献标识码】 A
【文章编号】0450-9889(2015)06C-0189-02
在串行通信系统系统的测试工作中,报文协议是一项非常重要的测试内容,需要对各种报文协议进行大量的测试.测试人员在设计测试用例时针对每个报文协议手工编制大量的测试报文,再通过串口调试工具来进行串行通信并完成相关测试,最后根据报文协议来人工判读测试数据,工作量相当繁重.此外,报文协议的复杂性、枯燥性,以及重复性地输入输出数据给手工测试带来了很大的困难,大量测试报文的编制和解析更增加了手工测试的难度和出错率.编写专用的串口测试程序是提高测试效率和准确性的有效途径,但是各类系统的报文协议种类多、区别大,使用专用的串口测试程序只能完成特定系统、特定报文协议的测试任务,无法灵活满足新系统、新报文协议的测试需求.
针对上述问题,本文以提高串口测试软件的通用性和灵活性、提高测试效率为主要目标,提出一种通用报文编解码和串口测试软件的实现方案,重点对报文编解码所涉及的关键技术进行研究.
一、软件系统组成
在数字通信中,一次通信所要传输的所有数据称为报文.待测的串行通信系统各个组成部分以及系统和外界之间必须按照协议来传输报文数据,因此在对系统进行测试的过程中,报文协议是一项非常重要的测试内容,需要进行大量的报文编码、串口调试及报文解析工作.因此,通用报文编解码和串口测试软件总体上由报文元数据管理模块、报文管理模块、串口测试模块、报文解析模块共4个模块组成.
报文元数据管理模块主要实现报文系统的元数据定义功能.元数据(Metadata)是描述数据的数据(data about data),主要是对数据属性(property)的描述性信息.对于报文系统而言,元数据描述了报文协议的数据结构和报文字段的格式.报文元数据管理模块通过友好的用户界面,让用户方便地输入和维护待测试报文协议的报文元数据.
报文管理模块提供一个直观的报文编辑界面,根据指定的报文协议的元数据信息,将数据帧结构中各项参数的具体含义和可选值等信息通过友好的用户界面呈现给用户,并根据用户设定的各项参数值生成十六进制的报文数据.
串口测试模块负责将报文管理模块生成的一条或多条报文数据发送到对应的串口,并接收串口的应答报文.
报文解析模块负责解析不同应答报文的具体含义,将报文的内容和意义直观展示给用户.由用户指定需要解析的应答报文以及期望匹配的报文协议,该模块根据报文协议的元数据信息,将十六进制的应答报文解析为用户可以理解的报文状态参数值.
二、关键技术实现
(一)数据存储方式.报文元数据既可以存储于XML文件,也可以存储于关系型数据库,两种方式各有利弊:
1.XML文件随系统软件存储于本地计算机,适合在单机环境使用;XML的语法非常适合描述数据,能清晰地表示数据的逻辑结构,易于用户理解,用户使用操作系统自带的文本编辑器即可对报文元数据进行维护.但报文元数据均以明文方式存储于XML文件之中,缺乏安全性保护机制,如果是多用户共用则可能造成用户敏感数据的泄漏.
2.关系型数据库如SQL Server既能有效地存储报文元数据,又提供了很好的安全性保护机制,适合在单机环境和网络环境使用.但是采用关系型数据库增加了系统部署的工作量和难度,不利于非专业人员使用.
本文采用SQLite来存储报文元数据.SQLite是一款轻量级的关系数据库,具有零配置的特点,无需安装和管理配置,是存储在单一磁盘文件中的一个完整的数据库.SQLite可以为数据库文件设置访问密钥,从而实现基本的数据安全保护.由于SQLite既适合在单机环境使用,无需安装和管理配置,又具有关系型数据库的优点,因此是一种比较理想的数据存储方式.如果采用抽象工厂设计模式,还可以方便的迁移到其他诸如SQL Server等数据库系统以实现C/S模式运行.
(二)报文元数据管理.本文研究的串口数据帧由帧头、数据及帧尾3部分组成.帧头标记每帧报文的开始,长度和值由串口通信协议具体定义.数据域存放数据帧的信息内容如方位角、俯仰角,或控制指令如自检命令、授时命令等.帧尾是整个数据域和帧头的校验码,常用的校验方式有累加和校验、异或和校验、循环冗余校验等,有的协议帧尾使用固定的值,甚至没有帧尾.
据此设计报文元数据的存储结构,包括数据帧表、帧头表、数据域表、位域表及枚举值表.具体作用如下.
1.数据帧表:包含某一类报文的描述性名称,帧头长度,数据域长度以及校验方式.
2.帧头表:存储某一类报文帧头各个字节的描述性名称和值.
3.数据域表:存储某一类报文数据域的各个数据项的描述性名称、数据类型、存储方式等信息.数据项的存储方式又定义为高中低3个字节、高低2个字节、不含位域的1个字节、包含位域的1个字节等类型.所谓“位域”是把一个字节中的8个二进位划分为几个不同长度的区域,这样就可以用一个字节的二进制位域来同时表示几个信息.如果数据项包含位域,还需通过位域表来进一步描述各个位域的具体信息.
4.位域表:存储组成某个字节的各个位域的描述性名称、位域长度、是否提供枚举值、是否有默认值等信息.
5.枚举值表:用于创建报文编辑界面的时候,为枚举型的位域提供输入选项,如是/否、有效/无效、正常/故障,等等.枚举值表存储这些选项的描述性名称和对应位域的二进制值.
(三)报文管理.报文管理模块主要解决两个关键问题:一是从报文元数据加载指定的报文协议定义,并动态生成报文编辑界面;二是用户根据用户在报文编辑界面设定的各项报文参数,动态生成十六进制的报文数据.
总结:本论文为免费优秀的关于编解码论文范文资料,可用于相关论文写作参考。
参考文献:
1、 基于FPGA的串行64B66B编解码IP核设计和 摘要:串行传输技术具有速度快,成本低的特点,被广泛应用于高速通信领域。在高速串行系统中,FPGA器件结合了可编程性和高速I O的优点,实现了高。
2、 编筐编篓贵在收口 [摘 要]课堂结尾是课堂教学不可或缺的环节。在小学数学课堂结尾环节,采取梳理式结尾、游戏式结尾、拓展式结尾等模式,可帮助学生巩固知识,查漏补缺,。
3、 中国首个千万众筹,只为给孩子一口新鲜空气 执着的爱,“三个爸爸”的精神创造不可能的奇迹。在被称为“霾都”的北京。有三个偏执:狂爸爸。为了能给孩子最洁净的呼吸,他们决定做一台功能齐全的空。
4、 通用去全球化谋算 相比起各大汽车品牌尤其是中国品牌的大手笔收购和全球化扩张,通用汽车这半年来的行动有些诡异。从3月出售欧宝品牌至今,收缩欧洲市场、退出印度市场、。
5、 分叉口征信业 征信行业处在一个分岔口,即选择政府主导还是市场化运作。三个多月前,沸沸扬扬的征信业被当头泼了一盆冷水,至今仍心存余悸。中国人民银行征信管理局。
6、 脱口秀之后,我把不开心都变成了段子 每个周六晚上,黄昭宇开在襄阳南路上的酒吧都会迎来一拨客流高峰。大部分人并不是为了喝酒而来,看脱口秀演出才是他們的目的。每当这个时候,黄昭宇也不。