漳州电视台GPS授时系统

2011-06-25 09:39:14朱丹总
电视技术 2011年12期
关键词:PC机串口时钟

朱丹总

(漳州电视台 播出部,福建 漳州 363000)

0 引言

目前大部分电视台都采用硬盘自动播控系统来进行电视节目的播出,角标和字幕切出时间的准确性取决于字幕机和播控站PC机等设备时间的精度,因此大部分电视台都会采用授时系统,通过对各相关设备进行时间校正,来确保各信号的准时播出。

漳州电视台自动授时系统采用专用的GPS模块来接收时间信息,采用单片机作为主控芯片来进行时间源的获取,并对各终端设备进行授时。

1 系统结构

如图1所示,整个系统主要由GPS接收模块[1-2]、CPU控制单元、备用时钟模块、时钟显示单元、接口转换单元和PC机接收处理等部分组成。

1.1 GPS接收模块

本授时系统采用瑞士u-blox公司提供的LEA-4S接收模块,该模块具有很高的灵敏度,可以接收并处理微弱的信号,适用于各种环境。经设置,该模块每秒可通过串口输出一串$GPRMC信号给CPU,该信号含有从GPS卫星定位系统上接收下来的日期和时间参数。

1.2 CPU控制单元

主控制器采用ATMEL公司的ATmega16单片机,该单片机含有一个串行收发器USART。进入正常工作后,单片机只从GPS模块接收数据,并向各终端设备单向发送数据。因此可采用单片机的接收口RxD来接收GPS模块送过来的$GPRMC信号,发送口TxD则用于输出授时信号到播控站、字幕机等设备,对其校时。

为了便于产生9600 Hz波特率的串口通信频率,AT⁃mega16单片机采用11.0592 MHz的晶振(fosc),根据AT⁃mega16单片机波特率BAUD和寄存器UBRR值的计算公式UBRR=fosc÷BAUD÷16-1,可推导出,只要将UBRR设置为71,便可将串口通信的波特率设置为9600 Hz。

1.3 备用时钟单元

在恶劣天气或受到干扰等情况下,GPS接收模块有时接收不到有效的GPS信号,无法向单片机提供正确的时间信息,为此笔者设计了一个备用时钟模块,单片机未能从GPS模块接收到有效的时间信息时,会自动从备用时钟模块获取时间信息,确保了时间源的不间断获取。

时钟模块采用专用的时钟芯片HT1380,该芯片是带年月日和时分秒的串行时钟保持芯片,外接32.768 kHz走时晶振,日计时误差约为0.5 s,在GPS模块能提供有效的时间信息时,单片机每间隔1 h对HT1380的计时信息修正1次,进一步确保了备用时钟模块的计时精度。

1.4 LED时钟显示模块

该模块由4个LED数码管和驱动线路组成,用来显示时间。为了简化电路和减少占用单片机I/O端口,采用动态扫描方式来驱动数码管的显示,即对每位数码交替驱动显示,每隔2 ms驱动点亮1位数码管。

1.5 接口转换单元

ATmega单片机和终端PC机的通信接口都为RS-232,传输距离有限。为了延长传输距离,提高数据传输的可靠性,采用MAX485芯片先将单片机串口输出的RS-232协议信号转换为RS-485协议信号,当信号传输到播控站、字幕机等终端时,再经RS-485/232转换模块还原为RS-232协议信号,然后送入播控站和字幕机等设备的RS-232串口,采用RS-485协议信号来进行信号传输。

由于本系统采用单向授时方式,即授时信号只是由主控板送至各设备终端,为了简化电路和提高信号传输的可靠性,将芯片MAX485设置成单向传输方式,如图2和图3所示,将发送端MAX485芯片的RE和DE控制脚都设置为高电平,而接收端MAX485芯片的RE和DE控制脚都设置为低电平,这样就可确保信号是由主控板向各受控设备单向传送。

为了使用方便,如图3所示,将字幕机和播控站所使用的RS-485转RS-232模块设计成无源方式,整个电路的供电直接从接收终端的RS-232接口的DTR(第4脚)和RTS(第7脚)获取,由78L05稳压后,产生5 V直流电源,对接收模块电路供电。

1.6 PC机接收处理

PC机内的接收处理软件将接收到的授时信号经校验和解码处理,然后对PC机和字幕机等设备的系统日期和时间进行校准。

2 程序设计及应用

2.1 单片机程序

本系统采用汇编语言来设计ATmega16单片机程序,如图4所示,开机后主程序先进行初始化设置,将串口通信参数设置为波特率9600 Hz,数据位8位,校验位无,停止位1位,并开辟了接收缓存空间receiveBuffer和发送缓存空间sendBuffer,用于暂存接收和待发送数据。进入主循环后,不断地进行按键检测、发送授时信号和LED时间显示处理。

如图5所示,单片机以中断的方式接收并处理GPS模块发送过来的$GPRMC信号,GPS模块通过串口每秒钟发送如下的1帧信号到单片机:

$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF>

代码中:<1>代表UTC时间,hhmmss(时分秒)格式;<9>代表世界协调时间(Universal Time Coordinated,UTC)日期,dd⁃mmyy(日月年)格式;hh是用作奇偶校验的数据,代表了$和*之间所有字符按位异或值。每当收到完整的一串数据后,先判断校验码是否正确,以防止接收数据有误。接收到正确的数据后,先从<1>和<9>提取出 UTC时间和日期,UTC时间与格林尼治平均时(Greenwich Mean Time,GMT)相同。因北京和英国伦敦相隔8个时区,所以需要将解出来的UTC时间和日期进行时差转换才能得到北京时间,然后送出显示和授时。漳州电视台硬盘播出系统上采用的是安徽现代电视技术有限公司的台标发生器,为了兼容其接收授时信号的格式,每组由单片机发送出来的授时信号都包含如下信息:5A,<1>,<2>*hh。其中:5A代表握手信号;<1>代表北京时间,hhmmss格式;<2>代表日期,ddmmyy格式;hh为校验码。在台标发生器RS-232接口上的转换器采用专用的有源RS-485/232接口转换器。

图4 ATmega16单片机程序流程图

图5 单片机中断流程图

2.2 PC机端程序的实现

本系统采用Visual Basic语言[3]来编写PC机端的管理软件。如图6所示,在软件的初始化设置时,将PC机串口通信的参数设置成和单片机串口一样的参数,即波特率9600 Hz数据位8位,校验位无,停止位1位。串口通信设置代码为:

MSComm1.CommPort=1

MSComm1.Settings="9600,N,8,1"

图6 PC机端程序流程图

MSComm1.InputLen=0

MSComm1.InBufferSize=256

MSComm1.OutBufferSize=256

MSComm1.InBufferCount=0

MSComm1.OutBufferCount=0

MSComm1.PortOpen=True

MSComm1.SThreshold=0 MSComm1.RThreshold=1

为了防止误改系统时间,接收端软件收到一组时间信号后,先与PC机原来的系统时间进行比较。如果不一致,接着再接收一组时间信号,并对先后收到的两组时间数据进行分析,确认正确后才修改系统时间。

2.3 GPS模块设置软件

GPS模块在使用前需先采用厂家提供的专用设置软件进行输出参数的设置,LEA-4S的设置软件为u-center 3.0,界面如图7所示。

3 小结

本授时系统采用了单片机ATmega16作为主控芯片,可及时准确地获取GPS信号,经过处理后发送授时信号到各终端设备。经过实际运行,本系统能同时对3台主播控站、3台备播控站、3个台标机和3台字幕机进行授时,运行稳定,授时准确,可确保节目的安全准点播出。

图7 GPS模块设置软件界面(屏幕截图)

[1]洪大永.GPS全球定位系统技术及其应用[M].福建,厦门:厦门大学出版社,1998.

[2]王尔申,胡青,张淑芳.GPS和Galileo接收机的芯片技术与系统设计[J].电视技术,2007,31(6):17-19.

[3]姚巍.Visual Basic数据库开发及工程实例[M].北京:人民邮电出版社,2003.

猜你喜欢
PC机串口时钟
别样的“时钟”
浅谈AB PLC串口跟RFID传感器的通讯应用
古代的时钟
基于PC机与单片机的多机通信技术及抗干扰方法
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
有趣的时钟
VC.NET下实现dsPIC单片机与PC机的通信
电子制作(2017年23期)2017-02-02 07:16:47
时钟会开“花”
USB接口的多串口数据并行接收方法探索
基于蓝牙串口适配器的GPS接收机与AutoCAD的实时无线通信
地矿测绘(2015年3期)2015-12-22 06:27:26