单片机系统接收irig-b码对时信号的实现方法

文档序号:6282886阅读:982来源:国知局

专利名称::单片机系统接收irig-b码对时信号的实现方法
技术领域
:本发明属于工业自动化系统领域,可以应用在发电厂自动化系统、变电站综合自动化系统中,该方法具体使用在自动化系统中的装置对时接口,是一种简化对时方式的实现方法。技术背景随着电子技术的发展、自动化水平的不断提高,IRIG-B码对时系统也能够普及应用到工业自动化系统,尤其体现在自动化水平较高的电力自动化领域。在一个控制系统范围内,往往具有一个标准的GPS接收装置,完成从GPS卫星信号接收到解码输出脉冲的过程,控制系统内各测控及自动化装置需要接收脉冲完成全网的对时。通过对GPS接收装置输出的脉冲码流的分析,我们提出一种利用单片机系统均具备的UART(串行通讯口)完成对时信息的解码方法,能够使自动化装置轻易实现IRIG-B码脉冲的解析,而无须使用CPLD等逻辑器件,提高了产品集成度,通过软件功能实现降低了产品成本。
发明内容目前自动化装置能够实现脉冲解码的方式均需要通过CPLD或FPGA等可编程逻辑器件完成,需要在硬件接口上增加逻辑芯片进行处理,一方面产品复杂度上升影响装置开发及生产周期,另一方面造成产品整体成本的提高,不利于装置的产品化与市场竞争。为了便于单片机系统实现高精度对时,本发明独辟蹊径,通过单片机系统均具备的UART通讯口解决了对时通道的授时技术。本发明所采用的技术方案如下一种通过单片机UART接口接收IRIG-B码对时信号的实现方法,该方法只需要RS485芯片和单片机的一个UART口即能完成对时功能,无须使用CPLD逻辑器件,实现自动化装置对对时信息IRIG-B码脉冲的解析,GPS授时装置的IRIG-B码输出信号接口为RS232/485接口,IRIG-B码输出信号起始输出为逻辑1,单片机UART串行通讯口能够识别的信号为TTL电平,且起始位为逻辑0,因此将GPS授时装置的输出信号反接到自动化装置输入口,即将GPS授时装置所输出的IRIG-B码输出信号反相,然后通过RS232/485芯片进行电平调制,将反相后的IRIG-B码输出信号调制成UART能够识别通讯信号,即转换成UART口所识别的带有起动位和停止位的通讯报文帧。所述IRIG-B码是每秒一帧的时间串码,一个时帧周期的前60个码元能够表示包含秒、分、时、R、月、年信息的时间,三种码元的脉宽分别为2ms、5ms和8ms,其中2ms码元表示二进制"0",5ms码元表示二进制"1",8ms码元为位置识别标志;其特征为将单片机的UART串行通讯口的设置对应为波特率1000bps,数据格式为1位起始位,8位数据位,l位停止位,无校验方式。在UART译码方面,按照数据格式,从l)ART串行通讯口的接收寄存器读取到的数据信息是将起始位和停止位去除的8位数据,去除首尾的起始位和停止位,按照串行通讯低位在前、高位在后的原则。对时信息的时间格式帧从帧参考标志开始,当连续两次接收到的数据都为0x80即8ms码元,则表明启动对时信息的传输,完整时间格式帧为60个码元,每个码元为IO毫秒,完整对时帧接收完成后,装置进行对时时,时钟毫秒数应加上此延时即600毫秒。对于目前工业自动化系统大量应用的基于单片机的硬件设备,都可以通过本发明提出的方法完成IRIG-B码对时要求,不需要增加额外的可编程逻辑器件,只要具备485通讯接口,通过单片机的UART即可完成解码,进而实现时钟同步。本发明可使自动化硬件设备的对时接口设计复杂程度大大降低,有效缩减了硬件成本,提高产品的市场竞争力。附图1为单片机UART口接收IRIG-B码信号示意图;附图2图示了IRIG-B码的三种码元信号经过RS485芯片后的变化情况以及码元信号和通讯数据的对应关系;附图3为解析时间程序的流程图。具体实施方式下面根据说明书附图对本发明的技术方案通过实施例进一步详细表述。图1示出了本发明的单片机UART口接收IRIG-B码信号示意图,GPS授时装置输出接口为RS232/485接口,该脉冲输出有效数据电平时为逻辑1,而空闲状态时为逻辑O,与串行通讯状态相反。按照串行通讯标准,数据启始输出为逻辑O,总线空闲及停止位输出逻辑l,所以接线时,要将GPS授时装置的输出信号反接到自动化装置输入口,即将GPS授时装置IRIG-B+端口接至RS485芯片的RS485-B端口,GPS授时装置IRIG-B-端口接至RS485芯片的RS485-A端口,再通过RS232/485芯片进行电平调制后接入单片机的UART通讯口,即能够变为UART口所识别的带有起动位和停止位的通讯报文帧。GPS授时装置IRIG-B码是每秒一帧的时间串码,每个码元的宽度是10ms,每10个码元有一个位置识别标志。一个时帧周期的前60个码元能够表示包含秒、分、时、日、月、年信息的时间。码元分为三种,脉宽分别为2ms、5ms和8ms。其中2ms码元表示二进制"0",5ms码元表示二进制"1",8ms码元为位置识别标志。所以单片机的UART通讯口的设置对应为波特率1000bps,数据格式为l位起始位,8位数据位,l位停止位,无校验方式,如附图2所示。从传输报文的角度来看,三种码元均遵循异步串行通讯的规律。如上即完成了电平方面的转换设计实现方法。在UART译码方面的实现方法如下按照数据格式,从UART串行通讯口的接收寄存器读取到的数据信息是将起始位和停止位去除的8位数据,所以按照附图2所示,去除首尾的起始位和停止位,按照串行通讯低位在前、高位在后的原则,码元电平每位的状态即可得到。其中2ms码元实质上就是数据OxFE,5ms码元实质上就是数据OxFO,8tns码元实质上就是数据0x80。时间格式帧从帧参考标志开始,当连续两次接收到的数据都为0x80(8ms码元)则表明启动秒的传输。如附图3译码程序的流程图所示,接下来收到的58个字节的数据则表示了当前的时间。时、分、秒、年均用8bits的BCD码表示,低位在前,高位在后,个位在前,十位在后。天用12bits的BCD码表示,低位在前,高位在后,个位在前,十位居中,百位在后。其中秒、分、时、天都是绝对时间,年是相对时间,以2000年为基数。显然秒、分、时、年的数值可直接得出,R和月的数值根据该年是否为闰年和天的数值计算得出。单片机的UART口每接收到1个字节的通讯数据会产生一次接收中断,单片机依次将报文数据放入接收缓冲,全部接收完成后统一刷新自动化装置自身的时钟。由于完整时间格式帧为60个码元,每个码元为10毫秒,所以完整对时帧接收完成后,装置进行对时时,时钟毫秒数应加上此延时,即为600毫秒。对时的误差也就是通讯口中断响应时间加上数据接收判断和计算的时间,由于计算方法比较简单,按照目前主流50MHz的ARM7单片机运行速度计算,耗费的时间完全能够保证在100us以内,达到对时系统的时间精度要求。下面以一个实例来说明具体的计算过程。下表为单片机UART口接收到的58个数据值。帧开始参考标志数据1数据2数据3数据4数据5数据6数据7数据80x800x80OxFE0xF0OxFEOxFEOxFE0xF0OxFEOxFE数据9数据10数据11数据12数据13数据14数据15数据16数据17数据18<table>tableseeoriginaldocumentpage6</column></row><table>如前所述,数据0x80为帧开始参考标志和位置识别标志,数据OxFE对应BCD码bit位为0,数据OxFO对应BCD码bit位为1。贝ij:毫秒值=600秒值=1*1+2*0+4*0+8*0+10*0+20*1+40*0=21分种值=1*1+2*0+4*0+8*1+10*1+20*1+40*0=39小时值二1*0+2*0+4*0+8*0+10*1+20*0+40*0=10天值二1*0+2*0+4*0+8*0+10*1+20*0+40*1+80*0+100*1+200*0=150年值=1*1+2*1+4*1+8*0+10*0+20*0+40*0+2000=2007根据天和年的数值可以计算出日月值为5月30日。通过上述介绍的硬件处理方式和软件实现方法,在自动化装置的开发设计中照此完成,即可达到接收IRIG-B码对时的要求,完成产品化需要。权利要求1、一种通过单片机UART接口接收IRIG-B码对时信号的实现方法,该方法只需要RS485芯片和单片机的一个UART口即能完成对时功能,无须使用CPLD逻辑器件,就能实现自动化装置对对时信息IRIG-码脉冲的解析,GPS授时装置的IRIG-B码输出信号接口为RS232/485接口,IRIG-B码输出信号起始输出为逻辑1,单片机UART串行通讯口能够识别的信号为TTL电平,且起始位为逻辑0;其特征为,该实现方法如下将GPS授时装置的输出信号反接到自动化装置输入口,即将GPS授时装置所输出的IRIG-B码输出信号反相,然后通过RS232/485芯片进行电平调制,将反相后的IRIG-B码输出信号调制成UART能够识别通讯信号,即转换成UART口所能识别的带有起动位和停止位的通讯报文帧。2、根据权利要求1所述的单片机UART接口接收IRIG-B码对时信号的实现方法,其特征为所述IRIG-B码是每秒一帧的时间串码,一个时帧周期的前60个码元能够表示包含秒、分、时、闩、月、年信息的时间,三种码元的脉宽分别为2ms、5ms和8nis,其中2ms码元表示二进制"0",5ms码元表示二进制"1",8ms码元为位置识别标志;将单片机的UART串行通讯口的设置如下波特率1000bps,数据格式为l位起始位,8位数据位,l位停止位,无校验方式。3、根据权利要求1或2所述的单片机UART接口接收IRIG-B码对时信号的实现方法,其特征为在UART译码方面,按照数据格式,从UART串行通讯口的接收寄存器读取到的数据信息是将起始位和停止位去除的8位数据,去除首尾的起始位和停止位,按照串行通讯低位在前、高位在后的原则。4、根据权利要求1所述的单片机UART接口接收IRIG-B码对时信号的实现方法,其特征为对时信息的时间格式帧从帧参考标志开始,当连续两次接收到的数据都为0x80即8ms码元,则表明启动对时信息的传输,完整时间格式帧为60个码元,每个码元为10毫秒,完整对时帧接收完成后,装置进行对时时,时钟毫秒数应加上此延时即600毫秒。全文摘要本发明涉及自动化控制系统中由单片机系统构成的自动化装置的对时方法,公开了通过单片机UART接口接收IRIG-B码对时信号的实现方法。本方法只需要RS485芯片和单片机的一个UART口即能完成对时功能。方法中将IRIG-B码信号看作为串行异步通讯报文(报文波特率为1000bps,报文格式为1个起始位、8位数据位、1个停止位、无校验)。通过RS485芯片将IRIG-B码电平信号转换成为TTL电平信号,将该信号接至单片机的UART接口,然后对通讯中断接收到的数据进行软件译码完成对时功能。该方法对时精度高,提高了装置对时电路实现的经济性和高集成度。文档编号G05B19/418GK101251755SQ20081010210公开日2008年8月27日申请日期2008年3月18日优先权日2008年3月18日发明者奚志江,焦邵华,王晓峰申请人:四方电气(集团)有限公司;北京四方博能自动化设备有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1