黄齐校 苏志伟 韦英妹
(1.广西广播电视技术中心;2.广西广播电视无线传播枢纽台;3.广西广播电视技术中心南宁分中心)
随着计算机技术的应用,广播电视发射机原来越多的采用单片机嵌入式系统进行控制及运行状态的监测。在嵌入式系统应用中,与PC机通信最常用的方式有基于TCP/IP网络通信和基于EIA RS232或RS485的串口通信。所以设计能够同时满足这两种通信方式的协议是十分必要的。
不同通信方式的特点,对通信协议结构设计有着不同的需求。常用的通信协议格式有以下三种,如表1所示。
从表1对比可以看出,通信协议格式的灵活性和复杂度是互相矛盾的。
发射机的控制一般采用嵌入式结构,内存和运算性能都有限,因此首选采用固定二进制格式。并且可以从以下几个原则对协议的结构进行设计。
协议结构简单,保证可以在性能相对低的嵌入式系统中实现,并且提高软件的可靠性。
预留部分空白占位字符,或者预留识别码等方式。保证将来增加功能仍能使用。
从协议的长度考虑,数据帧太长编码和解码困难,容易干扰。数据帧太短编码效率低。
统一的帧结构,通过不同的功能码区分命令类型。同时将同类型数据放置在仪器,可充分利用编译器的优化功能进行程序的优化。
减少复杂的算法,特别是校验字符,可采用校验和代替复杂的CRC校验,可以减轻运算复杂度。
考虑嵌入式硬件特性,设计帧结构。如采用DMA方式收发数据,需要协议设计成固定长度。
根据第上述设计原则,提出了一种广播电视发射机通信协议的设计方案。
表1 三种常用通信协议格式
表2
表3 下行帧项目取值范围
下行帧是从PC向发射机发送的命令帧。在该帧结构中,包含了命令类型,设备类型,设备地址码,命令功能码,命令参数和校验。(表2)
帧内命令码、功能码和参数的取值范围如表3。
上行帧是从发射机返回给PC的返回数据。返回帧包含帧头和帧体两部分。
返回帧头结构为:
项目 命令类型 设备类型 地址码 功能码 长度类型 BYTE BYTE BYTE BYTE UINT16
帧体包含了具体的数据内容:
项目 版本号1版本号2参数1 参数2…… 参数n校验类型 BYTE BYTE - - - - BYTE
针对不同命令的返回帧返回的帧体内部参数不同。由具体设备而定。
本文简要描述了采用嵌入式系统控制架构的广播电视发射机在通信协议设计时需要注意的一些原则,并根据这些原则提出了一种通信协议的设计案例,以此说明这些原则在实际发射机通信协议设计时的可操作性。为同类设备进行通信协议设计时,提供参考。