APP下载

数字电视发射机控制器通信系统的设计与实现

2011-08-09党宏社刘星亮杨小青

电视技术 2011年19期
关键词:校验发射机命令

刘 静,党宏社,刘星亮,杨小青

(陕西科技大学电气与信息工程学院,陕西 西安 710021)

责任编辑:任健男

0 引言

当前,新兴的移动数字电视广播作为模拟信号广播电视的延伸,大有替代传统无线广播的趋势。数字电视发射机控制器是实现发射机智能化的核心。而发射机控制系统的通信网络,为整个控制器提供控制和信息通道,是发射机控制器的重要部分。在分布式系统中,分机常采用多机通信方式,由于RS-485通信接口的传输距离远,连线少,所以被认为是一种很好的通信模式[1-2]。

整个发射机控制系统采用DCS(Distributed Control System)设计结构。这种分布式控制系统不仅可靠性高,灵活性好,也易于维护,当某一局部出现故障时,并不影响整个系统的正常运行。因此具有管理、操作集中,而危险不集中的优点。发射机控制系统整体框图如图1所示。该控制系统由主控板、电源控制板、其他控制板、功放控制板、功放检测板(6块)以及上位机等部分组成。主控单元通过通信接口RS-485分别与电源控制单元、功放控制单元、其他控制单元连接,功放控制单元通过通信接口RS-485与功放检测板连接。该系统所有通信均采用主从方式,每一次通信先由主机发起,从机响应,各从机之间不能直接通信,必须经过主机中转。本文主要以主控板和下面3个分机之间的通信为例,详细描述多机通信在数字电视发射机控制器中的应用。

图1 系统整体框图

1 硬件设计

由于工作环境的恶劣以及实时性的要求,控制系统采用多单片机协作的方式,控制芯片也采用小型化、稳定性高、实时性好的单片机。主控芯片W77E516,内含64 kbyte的可重复编程的Flash ROM,具有1 kbyte的片内数据存储器,在相同频率下,根据不同指令类型,其运行速度是标准8051的1.5~3倍,由于采用全静态CMOS设计,功耗也比标准8051低。分系统采用较为常用的AT89S52和W77E58。

发送和接收驱动器均选用MAXim公司的MAX485。MAX485为半双工通信方式,结构和引脚都非常简单,易于应用。

为了提高抗干扰能力,需要选取匹配电阻,其阻值一般约等于传输电缆的特性阻抗[3]。匹配电阻一般在RS-485网络中取120 Ω。

2 软件设计

在通信协议的设计上将握手协议与差错控制相结合,采用先“紧”后“松”的协议设计思想[4],即在通信开始传输最关键的地址帧和命令帧时充分考虑到传输丢失和传输误码的影响,虽然降低了通信效率,但提高了可靠性,即牺牲时间换取可靠性。而在之后的数据传输阶段,则认为是在保证了无传输丢失和无传输误码的条件下通信,因此数据的发送接收和校验程序设计得较为简便,即牺牲可靠性换取时间。笔者将两者有机结合,设计出了一种简单可靠的多机应答式通信协议。

系统共分3个从机,分配的地址分别为01H,02H,03H。通信过程分为3个部分:地址的沟通,即主机向从机发送地址,被选中的从机要回复本机地址给主机;命令的沟通,即在主机接收到正确的从机地址后发送命令给被选中的从机,该从机回复相同的命令给主机;有效数据的传送,即在主机接收到从机回复的正确命令后,发送设置量给从机,或要求从机上传数据。在这3个部分中,若任何部分沟通出现问题,则退出此次通信。系统通信的波特率采用9600 band,通信数据长度可根据实际需要来定,具体的数据帧格式如图2所示。

图2 数据帧格式

有效数据均以ASCII码形式发送,对数据的校验采用异或方式。通信过程的3个部分中,地址的沟通流程如图3所示(其中M用于记录重发的次数),命令的沟通与地址沟通相似,区别仅在于在发送地址帧时TB8=1,而发送命令帧时TB8=0。对于有效数据的传送部分,也采取限时等待、限次重发等措施,确保数据传送的可靠性。

图3 数据帧格式

主机和从机流程分别如图4、图5所示。其中0xFF表示校验不正确,接收的数据有误;0xEE表示校验正确,接收数据准确。由于主机采用中断方式接收数据,重发次数可由从机加以控制,因此主机无须再考虑。

图4 数据帧格式

图5 数据帧格式

3 提高可靠性的措施

3.1 差错控制

为解决数据传输过程中可能会出现数据丢失或数据传输出错的情况,分别采用以下方式来解决:

1)数据丢失时,系统采用超时处理方法,即发送方如果在一定的时间内得不到响应则重发前一帧数据或命令。

2)数据传输出错时,在帧结构中增加校验字节,跟随数据一起发送出去,而接收方首先要对传来的数据进行校验,如果正确,则接收下来,否则丢弃本次数据。

3.2 超时处理

由于外界干扰,在实际数据或命令传输过程中,可能会出现数据/命令帧丢失或出错的情况,这样有时会导致双方都处于等待对方数据/命令帧的状态,即进入死锁状态[5]。为消除死锁现象,采取以下方法来解决:

1)限时等待的方法。即对等待时间加以限制,不是无休止地等待下去。在等待时间内,如果接收到对方回应则程序不再等待,继续往下执行;但若超出等待时间,程序作相应处理,不再继续等待,因此克服了死锁现象。

2)限次重发的方法。限次重发,顾名思义,限制重发的次数。如果接收方在一定的时间内没有接收到对方的回应,则将上一帧数据/命令重新再发一次,然后再次进入等待对方回应的状态,若此情况连续持续3次,还是没有接收到对方的回应,则认为通信线路或对方发生故障,退出此次通信。

3.3 延时处理

由于主机和从机速度不匹配,主机CPU执行指令速度比较快,而从机相对较慢,在通信频繁时,从机会反应不过来。因此采用两种方法来解决,一是加入必要的延时程序,二是和同一从机通信的时间间隔拉长,例如用一变量专门累计主程序循环的次数,从0开始一直累加到5,当这个变量为5时才和某一确定的从机进行通信,然后此变量又归0,相当于主机的程序循环5次才和从机通信1次。

4 小结

文中所述的基于RS-485的主从式多机通信模式在数字电视发射机控制系统中进行了应用,经过实验室测试及现场调试表明,该控制器稳定、可靠、抗干扰能力强,满足发射机控制系统要求。

[1]杨斌,韩震宇.广播发射机微控制器的系统设计与实现[J].中国测试技术,2005,31(2):36 -38.

[2]苏学花,杨寿保.基于RS-485的分布式监控系统的设计[J].计算机应用,2001,21(8):70 -73.

[3]金勇,潘永才.一种基于RS-485总线的工控系统的设计与实现[J].现代电子技术,2006(12):134-136.

[4]寇强,党宏社.一种串口多机应答式通信协议的设计与实现[J].电视技术,2008,32(1):59 -61.

[5]赵亮,侯国锐.单片机C语言编程与实例[M].北京:人民邮电出版社,2003.

猜你喜欢

校验发射机命令
只听主人的命令
3DX系列发射机与DX系列发射机的比较——以3DX-50和DX-100为例
3DX-50发射机与PC之间通信的实现
移防命令下达后
炉温均匀性校验在铸锻企业的应用
结合抓包实例分析校验和的计算
这是人民的命令
调频发射机技术改造
BGTB5141型100kW发射机调谐控制系统
大型电动机高阻抗差动保护稳定校验研究