APP下载

基于Smartfusion2的IRIG-B码编码器设计与实现

2015-12-29安徽四创电子股份有限公司余飞侠范晓东

电子世界 2015年23期
关键词:码元编码器时钟

安徽四创电子股份有限公司 陈 伟 王 宇 余飞侠 范晓东

基于Smartfusion2的IRIG-B码编码器设计与实现

安徽四创电子股份有限公司 陈 伟 王 宇 余飞侠 范晓东

旨在设计一种基于Smartfusion2的IRIG-B码编码器。该设备采用Smartfusion2作为主控制器并在其内部配置了Cortex-M3微处理器系统MSS,采用双模授时机(GPS/BD)作为标准时钟源。利用双模授时机送出的1PPS以及时间信息触发Cortex-M3微处理器系统MSS的编码程序,利用双模授时机送出的1PPS和10MHz及来自MSS的IRIG-B码流触发FPGA调制程序,从而完成DC码的编码。MSS节省了FPGA资源,提高调制效率,FPGA保证了B码信号边沿的精准。通过现场运行以及示波器观测,该系统运行稳定、授时准确,达到了预期要求。

Smartfusion2;FPGA;Cortex-M3;IRIG-B

0 引言

我国工业控制、通信、气象、航天、电力系统测量与保护等领域的测试设备均采用国际标准IRIG-B时间码[1](简称B码)作为时统设备的时间同步标准。B码具有世界通用、接口标准化、适用于远距离传输等特点。目前国内的IRIG-B编码大都以FPGA为核心控制器,资源消耗量大、编码精度低、工作效率和稳定性差。因此,需要更高效的控制器,有效的编码算法实现即插即用、授时精度高及运行稳定的新型编码器。鉴于SmartFusion2[2-3]是Microsemi的最新65nm工艺的片上系统产品,即是基于Flash架构FPGA发展而来,内部集成166 MHz的ARM Cortex-M3的硬核处理器,且不占用FPGA的逻辑资源,为用户提供高安全性、高可靠性及超低功耗等性能。本方案正是采用SmartFusion2作为编码器核心控制器,将FPGA和微处理器Cortex-M3优势相结合,实现高精度授时和高可靠性的时统设备IRIG-B码编码器。本方案正是采用SmartFusion2作为编码器核心控制器,将FPGA和微处理器Cortex-M3优势相结合,实现高精度授时和高可靠性的时统设备IRIG-B码编码器。

1 IRIG-B码简介

B码是一种串行的时间格式码[4-9],用于各系统时间同步,IRIG-B码的帧周期为1秒,由100个码元组成,每个码元10ms,码元宽度有8ms、5ms和2ms三种,分别代表码元P(位置识别标志或基准码元)、二进制的1以及二进制的0,如图1所示。为了便于传输和提取B码中的信息,每10个码元中有一个位置识别标识,分别称为P1、P2、…、P9、P0。帧参考标志是由位置识别标志P0和相邻的基准码元Pr组成的,Pr的前沿即是每帧的准秒时刻,也就是从该准秒时刻起,按秒、分、时、天等时间信息进行编码,最终形成IRIG-B码,如图2所示。

2 硬件电路设计

IRIG-B码信号编码器的整体硬件电路设计框架如图3所示,这里的SmartFusion2在其内部配置了FPGA和Cortex-M3硬核处理器。

图1 IRIG-B码码元图

图2 IRIG-B码信号波形

图3 硬件电路设计框架

本设计中时钟源采用的是经过驯服的双模授时机(GPS/BD),其可以输出标准UTC(世界协调时)时间信息和同步1PPS(秒脉冲)及与其同源的10MHz时钟。首先,作为标准时钟源将UTC(世界协调时)时间信息和1PPS(秒脉冲)送入SmartFusion2,这里SmartFusion2采用Microsemi公司的M2S010芯片。接着,在SmartFusion2里,先经过Cortex-M3微处理器系统MSS进行编码程序,根据IRIG-B码标准格式,将UTC(世界协调时)时间信息转换成标准二进制码流并发送给FPGA编码模块;接着,FPGA编码模块对输入的二进制码流进行编码输出。

此处电源模块,以满足各芯片对供电电压的需求,分别需要电压为+5V、+3.3V,这里采用电源转换芯片LT1963ES8以完成+6.5V到+5V的转换,集成电路LT1963EST-3.3以完成+5V到+3.3V的转换。

3 软件程序设计

IRIG-B码信号编码器的软件设计主要是基于FPGA+Cortex-M3微处理器系统MSS而完成,如图4所示,其中,Cortex-M3微处理器系统MSS主要根据输入的1PPS,负责将时间信息转换成标准二进制码流的编码程序设计,FPGA主要负责Cortex-M3微处理器系统MSS的构建、IRIG-B码码流编码输出程序设计等。

3.1 IRIG-B码编码方法简述

根据IRIG-B码波形,在本设计中每1ms视为1bit,有脉宽为高电平1,否则为低电平0,则IRIG-B码中三种码元“P”、“1”和“0”分别用二进制表示为1111111100、1111100000和1100000000,则一帧IRIG-B(DC)码为100码元即为1000bit二进制码流。

MSS将输入的一帧标准UTC(世界协调时)时间信息进行解算,得到秒、分、时、日、月、年等时间信息,并根据IRIG-B码标准格式,将上述时间信息转换成相应的码元,并进行充实得到100码元;再将该码元“P”、“1”及“0”等,扩充转换为1000bit时间码流并存入大小为16bit的整形数组EncodeBuf[64]中;当1PPS脉冲到来时,将EncodeBuf[64]同步发送给FPGA编码模块;FPGA编码模块根据1PPS同步将收到的时间信息码流EncodeBuf[64]存入到双端口RAM中;同时由同源的1PPS和10MHz产生同源的1KHz时钟,根据此1KHz时钟,双端口RAM轮流将内存中时间码流以1bit字长,输出1000bit,即输出与输入1PPS同步的IRIG-B码波形,FPGA程序如图5、6所示。

图5 IRIG-B码编码核的FPGA程序

3.2 MSS程序设计简述

MSS里完成的程序设计,主要有以下几个方面:(1)对Cortex-M3微处理器系统MSS进行初始化。配置一个GPIO端口作为中断引脚,映射来自时钟源的1PPS(秒脉冲)中断;配置一个APB总线主模块,以输出已转换好的时间码流EncodeBuf[64];配置一个UART模块,接收来自时钟源的标准UTC(世界协调时)时间信息。(2)读取时钟源的标准UTC时间信息并进行解算,得到秒、分、时、日、月、年等时间信息,并根据IRIG-B码标准格式,将上述时间信息转换成相应的码元,并进行充实得到一帧100码元;再将该码元“P”、“1”及“0”等,扩充转换为1000bit二进制时间码流并存入大小为16bit的整形数组EncodeBuf[64]中。(3)当1PPS中断到来时,将上述时间码流EncodeBuf[64]发送给FPGA编码模块。

3.3 FPGA程序设计简述

在FPGA里完成的程序设计主要有以下几个方面:

(1)设计锁相环PLL、复位电路,给FPGA程序里相应模块提供参考时钟与复位,并根据同源的1PPS(秒脉冲)和10MHz时钟,得到同源的1KHz时钟用于IRIG-B码流输出时钟,如图7所示。

(2)构建Cortex-M3微处理器系统MSS,包括CPU、GPIO模块、UART模块、APB总线等,如图8所示。

图4 总体软件设计程序

图6 IRIG-B码编码核的FPGA内部程序

图7 时钟模块的FPGA程序

图8 Cortex-M3微处理器系统MSS的FPGA程序

(3)定制码流接收模块,通过APB总线,以100MHz时钟,每成功读取大小为16bit的二进制码流,即刻将其输出,并使RE输出脚使能,如图9所示。

图9 码流接收模块的FPGA程序

(4)定制双端口RAM模块,FPGA程序采用了乒乓操作,即写RAM1操作的同时,进行读RAM2操作,而写RAM2操作的同时,进行读RAM1操作,如此循环操作,如图10所示,RAM写时钟为100MHz,写字长为16bit,而RAM读时钟为1KHz,其与1PPS同源,读字长为1bit,其中,RAM控制程序通过1PPS来控制RAM1、RAM2的读写切换及IRIG-B码波形输出,通过100MHz控制RAM写地址,通过1KHz控制RAM读地址。

图10 RAM读写模块的FPGA程序

4 实验测试结果

基于SmartFusion2芯片方案设计中FPGA部分采用Libero SoC v11.0设计软件,用Verilog HDL语言实现设计,Cortex-M3微处理器系统MSS部分采用Microsemi SoftConsole IDE v3.4编程软件设计,利用双模授时机(GPS/BD)作为时钟源,其可输出经过驯服的标准UTC(世界协调时)时间信息和同步1PPS(秒脉冲)及与其同源的10MHz时钟。根据本设计方案,接入时钟源信号,系统上电,测试结果如下:

图11 实验测试结果

用示波器监测1PPS输入端和IRIG-B码波形输出端口,从图11所示可看出,每1PPS对应一帧IRIG-B码数据。

图12 实验测试结果

根据IRIG-B码标准波形,如图2所示,将图12中任一帧IRIG-B波形展开,可得到帧参考标志P0Pr,准秒时刻及对应的10个位置识别标志,及各码元格式符合标准。用示波器上升沿触发方式捕捉1PPS上升沿,可获得如图13所示波形,可看出,输出的IRIG-B码准秒时刻与输入的1PPS误差优于20ns,则本设计的编码误差优于20ns,因此该B码信号编码器的设计完全符合标准要求。

图13 实验测试结果

5 结束语

本文分析了目前IRIG-B码编码技术实现的现状及存在的问题,介绍了IRIG-B码解码的基本原理,提出基于FPGA和Cortex-M3设计实现的IRIG-B码编码器,并结合某型双模授时机进行了监测。监测结果表明,新的IRIG-B码编码器完全满足时统设备授时的需求,明显提高了IRIG-B码的授时精度、提升了IRIG-B码编码效率、加强了系统运行的可靠性。

[1]IRIG Standard 200-98 IRIG Serial Time Code Formats(Format B)[S].

[2]ARM Cortex-M3 Processor and Microcontroller Subsystem in Smartfusion2 SoC FPGA Devices User’s Guide.SmartFusion2_CortexM3_UM.pdf[EB/OL].www.microsemi.com/soc/support/search/default.aspx.2012-12-03.

[3]Smartfusion2 SoC FPGA Fabric Architecture User’s Guide.SmartFusion2_Fabric_UM.pdf[EB/OL].www.microsemi.com/soc/support/search/default.aspx.2012-12-03.

[4]冯胜民,陈娟花等.基于FPGA的IRIG-B码产生器设计与实现[J].电子测量技术,2015,38(5):67-71.

[5]张建春,任记达.基于FPGA的IRIG-B码调制解调实现[J].现代导航,2012,8(4):305-308.

[6]庞吉耀.基于FPGA的IRIG-B码编码器实现[J].现代电子技术,2009(24):113-117.

[7]吴炜,周烨,黄子强.FPGA实现IRIG-B(DC)码编码和解码的设计[J].电子设计工程,2010,18(12):162-164.

[8]朱敏,雷斌.基于FPGA的IRIG-B码编解码的设计与实现[J].新特器件应用,2010(11):15-18.

[9]顾阳阳,付道文.基于FPGA的IRIG-B码编解器设计[J].电子科技,2015,28(5):39-42.

Design and Implementation of IRIG-B signal encoder based on Smartfusion2

Chen Wei Wang Yu Yu Feixia Fan Xiaodong
(Anhui Suncreate Electronics Co.,Ltd.,Hefei 230031)

A IRIG-B signal encoder based on Smartfusion2 is designed.This device selects Smartfusion2 as the controller which confi gure Cortex-M3 processor and Microcontroller Subsystem in Smartfusion2 (MSS),and selects GPS/BD as standard time source.The encoding procedure in MSS is triggered by 1PPS and time info from GPS/BD timing,then IRIG-B code stream obtained.The modulating procedure in FPGA is triggered by 1PPS and 10MHz from GPS/BD timing and IRIG-B code stream from MSS,then DC code obtained.MSS achieve save FPGA resources and improve modulate efficiency,FPGA make the rising edge of B-format code be accurate.The system run stability and the expected timing goals are achieved perfectly,which are proved by the fi eld application and oscilloscope.

Smartfusion2;FPGA;Cortex-M3;IRIG-B

陈伟(1987—),女,安徽合肥人,硕士研究生,安徽四创电子股份有限公司工程师。

国家电子信息产业发展基金项目,项目编号:工信部财[2013]472号。

猜你喜欢

码元编码器时钟
融合CNN和Transformer编码器的变声语音鉴别与还原
别样的“时钟”
基于ZYNQ的IRIG-B(DC)码设计与实现
LFM-BPSK复合调制参数快速估计及码元恢复
古代的时钟
基于FPGA的同步机轴角编码器
有趣的时钟
应用旋转磁场编码器实现角度测量
基于极大似然准则的短猝发信号盲解调
时钟会开“花”