胡玉生 林文才
(国家新闻出版广电总局824台)
摘 要:我台S7HP发射机的并机管理系统出现故障,将造成长时间的停播,为了应急播出,本文设计了以STM32单片机为核心的单机通信平台,介绍了单机通信平台的硬件组成及工作原理,同时给出了软件流程图,该平台采用以太网TCP/IP协议模拟发射机的并机管理系统与单元机进行通信,开单机应急播出,维持发射机正常运行。
关键词:单机通信 STM32单片机 以太网TCP/IP协议
1. 前言
我台两部S7HP型发射机系法国Thomson公司生产的大功率全固态中波发射机,是由3个单元机组成,每个单元机输出功率为400KW,三并机输出功率1200KW,可实现N-1和N-2状态播出,即可以实现三并机、两并机和单机播出。即使有一个或者两个单元机发生故障甚至关闭,发射机的并机管理系统可甩开故障单元机,发射机仍可正常运行。维护操作只需针对故障单元机,这种设计维护方便而且具有很高的可靠性,但对并机管理系统要求很高,一旦并机管理系统出现大故障,将造成长时间的停播,严重威胁安全传输发射工作。我台两部发射机于2002年正式播音,已运行十三年,随着设备老化,许多板件容易损坏。若并机底板等大板件损坏,并机管理系统将处于故障状态,从而关闭整部发射机,而大板件更换耗时长久,将造成长时间的停播。对发射机进行备机,需重新改造机房,且价格昂贵,耗费巨大。分析发射机运行方式,在并机管理系统出现故障情况下,单元机将出现并机封锁故障(Blocking by GESMUL),断开单元机与并机管理系统的光纤通信连接,单元机将出现并机安全装置故障(Combiner safety device)。由此可见,单元机本身并无故障,只是受并机控制无法开机,若甩开并机管理系统,接入单机通信平台,代替并机管理系统与无故障单元机进行通信,解除并机控制,即可实现开单机应急播出,维持发射机正常运行。
2. 系统设计
S7HP发射机在两个单元机出现故障情况下,以降级方式运行,将无故障的单元机通过单机滤波柜切换到天线上,人工操作单元机触摸屏开启单元机,维持单机400KW播出。发射机单机运行示意图如图一所示。
在并机管理系统出现故障,无法短时间内恢复播出,可断开并机管理系统与无故障单元机之间的光纤连接,接入单机通信平台,使其与单元机建立通信连接,解除并机封锁,实现应急开单机播出。单机通信平台工作示意图如图二所示。
本文基于STM32单片机和以太网控制芯片W5200搭建单机通信平台,经过光纤收发器与单元机进行以太网通信,硬件连接示意图如图三所示。
3. 硬件设计
单机通信平台硬件系统由主控模块、以太网模块、光纤模块和显示模块构成,组成结构如图四所示。主控模块是系统的核心模块,模拟并机管理系统与单元机进行数据交换。光纤模块主要实现数据的网络传输。以太网模块按照TCP/IP协议,完成主控模块通信数据的转换。显示模块可以显示系统的运行状态。主控模块、以太网模块和显示模块的电路集成在一块板件上,光纤模块使用外置光纤收发器。
3.1 主控模块本设计采用32位处理器STM32F103VET6为主控芯片,该芯片是由ST公司生产的,其外设丰富,性能优越。作为本系统的控制中心,协调各个模块的工作,以实现与单元机的通信。STM32F103xx芯片是ST公司推出的基于Cortex-M3核的微控制器,它在Cortex-M内核的基础上扩展了高性能的外围设备。STM32F103xx系列微控制器的工作频率最高可达72MHz,内置有高速存储器,有丰富的增强I/O端口和链接到APB总线的外设。STM32产品成熟,性价比高,集成度高,功耗低,在编程时可以使用其自带的固件库,使整个程序架构清晰,方便易懂。STM32F103VET6是100脚STM32F103系列的高端芯片,其高达512K的FLASH存储器和64K的RAM可存储大量用户数据,从而在设计时不需要外接存储芯片,简化了整个设计过程。100脚的处理器封装小巧,功能强大,因此整个设计选择此款芯片为主控芯片。主控模块电路实际上就是基于芯片STM32F103VET6的最小系统,主要包括晶振电路、复位电路、启动模式选择电路和调试接口电路。最小系统电路如图五所示。
图五 STM32F103VET6最小系统
(1)晶振电路高速外部时钟信号HSE由8MHz晶振产生,为系统提供精确的主时钟,低速外部时钟信号LSE由32.768KHz晶振产生,为实时时钟或者其他定时功能提供低功耗且精确的时钟源。与晶振连接的负载电容器必须尽可能地靠近晶振引脚,可减少时钟输出的失真和缩短启动稳定时间。(2)复位电路采用RC复位电路,在上电或者按下复位按键时,在NRST引脚产生高于20us的低电平延时脉冲,从而使芯片复位。(3)启动模式选择电路通过设置BOOT[1:0]引脚可以选择三种不同的启动模式,如表一所示。
表一
启动模式选择管脚 | 启动模式 | 说明 |
BOOT1 | BOOT0 |
X | 0 | 用户闪存存储器 | 用户闪存存储器被选为启动区域 |
0 | 1 | 系统存储器 | 系统存储器被选为启动区域 |
1 | 1 | 内嵌SRAM | 内嵌SRAM被选为启动区域 |
在系统复位后,SYSCLK的第四个上升沿,BOOT管脚的值将被锁存。通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。
3.2 以太网模块以太网模块采用韩国WIZnet公司生产的以太网控制芯片W5200,该芯片利用内部硬件实现了TCP/IP协议栈,内部有32K的存储器用于通信数据的存储,通过SPI接口就可以实现网络的连接,而不必要处理复杂的以太网控制。SPI的时钟最高可达到80MHz,极大地提高了网络通信的传输速率。
以太网模块结构如图六所示,STM32单片机提供了时钟信号、控制信号和复位信号,利用串行接口SPI进行通信数据的接收与发送,RJ45提供了以太网通信接口,网络指示灯指示网络的工作状态。
3.3 显示模块使用LED指示灯显示系统工作状态,指示灯功能如表二所示。 表二
指示灯 | 状态 | 功能 |
AB1指示灯 | 亮/灭 | 亮表示单元机AB1已连接,灭表示未连接 |
AB2指示灯 | 亮/灭 | 亮表示单元机AB2已连接,灭表示未连接 |
AB3指示灯 | 亮/灭 | 亮表示单元机AB3已连接,灭表示未连接 |
STATE指示灯 | 不亮 | 系统未初始化 |
闪烁 | 系统初始化完成,等待单元机连接 |
一直亮 | 系统与单元机通信中 |
3.4 光纤模块发射机的并机管理系统与三个单元机之间采用光纤通信进行数据的交换,传输方式为多模光纤,工作波长为850nm。使用美国IMC Networks公司推出的光纤收发器McBasic MM850,即可实现单机通信平台与单元机的通信连接。该光纤收发器功能强大,质优价廉,端口速率为10Mbps,支持多模850nm传输,采用ST光纤接口。
4. 软件设计
4.1 开发环境Keil是德国知名软件公司Keil(现已并入ARM 公司)开发的微控制器软件开发平台,是目前ARM内核单片机开发的主流工具。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器在内的完整开发方案,通过一个集成开发环境(uVision)将这些功能组合在一起。uVision当前最高版本是uVision5,它的界面和常用的微软VC++的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。本软件编写使用的开发环境是Keil
μVision4,并用Keil编译器附带的烧写程序,用Cortex_M3 J_LINK方式完成程序的下载。
4.2 发射机通信协议S7HP型发射机是通过以太网的光纤传输控制协议来进行信息交换, TCP协议的报文有两种类型,一个是服务报文,一个是数据报文。其中数据报文又分为三种:①状态数据报文,传输发射机并机或放大单元的状态信息;②模拟值数据报文,传输发射机并机或放大单元的运行参数;③命令数据报文,MMI本地操作或远程控制中心发送的操作命令。(1)服务报文服务报文的结构为:服务码 > 0x8000。发射机各放大单元(客户端)与并机管理系统(服务端)的正常通信需要一个心跳机制,心跳包(服务报文)为0xCAFE。为了确保客户端与服务端之间的正常通信,客户端须每500ms发送一个心跳包,服务端收到心跳包则回送一个心跳包,若连续10次(5秒)没有收到心跳包,则判定通信中断。(2)数据报文数据报文的结构为
报文长度 < Ox7FFF |
报文头 |
消 息 正 文 | 消息正文头 |
Block 1 |
Block 2 |
。 |
。 |
Block N |
报文头的结构为:
报文类型定义如下:
类型 | 值 |
放大单元故障和告警 | 0 |
放大单元状态 | 1 |
放大单元模拟值 | 2 |
并机故障和告警 | 5 |
并机状态 | 6 |
并机模拟值 | 7 |
发射机命令 | 8 |
源设备定义如下:
源目标 | 值 |
并机管理系统 | 0 |
放大单元1 | 1 |
放大单元2 | 2 |
放大单元3 | 3 |
MMI1 | 4 |
MMI2 | 5 |
远程操作 | 6 |
发射机命令消息正文定义如下:①不需要消息正文头;②消息格式为:
单机通信平台和放大单元通信成功后,主要任务是发送命令,解除并机封锁,用到的命令有倒本地指令和放大单元上天线指令。若要发送倒本地指令,则发送的代码如下:
报文长度 | 报文头 | 消息正文 |
报文类型 | 预留 | 源设备 | 消息大小 | 命令类型 | 值 | 时间 | 日期 |
0x0014 | 0x00000008 | 0x00 | 0x00 | 0x0001 | 0x0006 | 0x0000 | 0x00010101 | 0x07dd0101 |
其他数据报文类型在本系统并未用到,可做扩展功能使用,在此就不一一介绍。(3)网络参数设置发射机的网络参数如下:端口号:2332设备的IP地址:
类型 | 设备 | IP地址 |
服务端 | 发射机 | 192.6.2.210 |
客 户 端 | 放大单元1 | 192.6.2.211 |
放大单元2 | 192.6.2.212 |
放大单元3 | 192.6.2.213 |
MMI 1 | 192.6.2.214 |
MMI 2 | 192.6.2.215 |
远程控制端 | 192.6.2.216 |
将单机通信平台的IP地址设置为192.6.2.210,端口号设置为2332,即可模拟并机管理系统和放大单元进行通信,通过三次握手和放大单元建立连接,并保持与放大单元的心跳通信,给放大单元发送命令,解除放大单元的并机封锁,使其处于无故障状态,实现开单机播音。
4.3 软件编程系统软件主要完成W5200的SPI通信、状态显示以及模拟并机同单机的以太网通信。程序采用STM32的固件函数库在Keil
μVision4环境下编写,主要包括以下内容。
4.3.1 初始化首先完成GPIO口初始化配置,将PA3配置为W5200的复位信号,配置PA8引脚为W5200的SPI从模式片选,配置PA5为SPI时钟,配置PA7、PA6为SPI的输入输出口。
4.3.2 以太网通信系统程序流程如图七所示。单机通信平台模拟并机管理系统,对W5200配置网络参数,设置平台IP地址为192.6.2.210,默认网关为192.6.2.1,子网掩码为255.255.255.0。系统初始化设置完成后,等待客户端的连接,对于单机发送的连接请求,通过三次握手建立TCP连接,之后客户端和服务器开始传送数据。平台与单机建立连接后,给单机发送指令,解除其并机封锁故障,这时可人工操作单机触摸屏(MMI)使其开单机播音。为了保持通信连接正常,平台与单机之间需要进行心跳通信,平台收到单机发送的心跳数据报文,立即回送一个心跳数据报文,并将心跳丢失次数寄存器清零,若在500ms内未收到心跳数据报文,则心跳丢失次数寄存器加1,当累加到10次,平台自动断开连接,等待新的客户端重新连接。
4.4 功能介绍单机通信平台具有以下几个功能:(1)自动识别已连接的单元机,并显示连接设备号;(2)自动保持与单元机的通信连接,并在连接正常后,自动发送解除并机封锁指令;(3)通信中断后,可重新等待客户端接入;(4)可显示通信连接状态。
5. 结束语
单机通信平台已投入使用,在并机失效情况下,实现发射机应急播出,为维护工作争取了宝贵时间,使安全传输发射任务多了一份保障。我们将进一步优化软件代码,使其稳定运行,确保设备间通信连接正常,还需设计外壳,使其更美观,更方便使用。随着科技的不断进步,作为技术维护人员,我们要时时刻刻要求自己,努力学习新知识,将自己所学运用到广播事业中去。
参考文献:[1] 廖义奎. Cortex-M3之STM32嵌入式系统设计.[2] 北京恒信盈泰科技有限公司.W5200数据手册.
编辑:中国新闻技术工作者联合会
评论 点击评论