嵌入式同步时钟系统的设计与实现详解
扫描二维码
随时随地手机看文章
同步时钟系统是同步设备中实现同步通信的核心,因此,要实现数字同步网的设备同步就要求同步时钟系统一方面要能提供精确的定时同步,另一方面还要能方便实现网络管理中心对同步时钟的管理。本文详细介绍了利用嵌入式微控制器MSP430单片机和数字锁相环(DPLL)来实现嵌入式同步时钟系统的方案和设计实例。
系统总体结构
同步设备的同步时钟系统要求能达到3级时钟标准,可使用从SDH网络上提取的时钟或外部时钟源来作为同步的基准时钟信号,同时也可以通过时钟模块自振来产生时钟信号。产生的这些同步时钟信号为同步设备进行SDH传输和为设备各单板提供同步时钟源,同时同步时钟系统还要能够通过以太网口和网管通信,从而实现对同步时钟系统的网络管理。为了使时钟系统能稳定可靠地工作,通常还要求有两块时钟板同时在线,一块处于正常工作状态,另一块则处于热备份工作状态。随时可以 进行时钟的无缝切换。
在功能上,本系统可以分为I/O接口模块、时钟定时模块和控制通信模块三部分。系统结构如图1所示。
I/O接口模块
本模块由时标选择和分频控制驱动两部分组成。时标选择部分主要完成对外部输入时钟信号的缓冲、解码,通过单片机选择其中的一路输入产生DPLL的参考时标。该系统可支持2路SDH上传输的19440KHz信号输入和2路G.703标准的2048KHz或2048Kbps的信号(支持75W和120W两种阻抗比配方式)。
分频控制驱动部分对DPLL给出的信号进行分频,形成19.44MHz和6.48MHz信号,根据主/备用信号控制输出。最后由驱动电路形成8路19.44MHz和10路6.48MHz的输出信号送交同步设备各单板。
时钟定时模块
DPLL完成时钟定时模块的核心功能。DPLL利用外来的时标信号,使其处于跟踪方式工作;同时也可利用单片机将控制信号送到其内部,使其运行在保持或自由振荡方式。DPLL在工作的同时又给出自身的工作状态,如跟踪、保持、自由振荡、失锁、失效、丢失外标信号等情况报告,通过将这些信息送交单片机再上报给网管系统来实现对时钟系统的监控。
控制通信模块
此模块包括单片机和以太网接口模块两部分,主要完成主备时钟板间的通信、监控并上报时钟工作状态、接收并执行网管下发的指令。通过以太网接口和网管通信,将网管下发的指令处理后分发给各时钟模块,同时再把从时钟模块收集来的信息上报给网管。
系统的设计实现
I/O接口模块
首先,外部输入时钟信号经过输入缓冲/解码器进行缓冲和解码后变成标准TTL/CMOS电平再送交CPLD处理。当CPLD收到时钟输入信号时通过单片机送来的选择信号使能一路时标输入信号,并通过分频处理输出到DPLL。最后,DPLL产生的同步时钟信号通过输出驱动器生成多路需要的输出信号送到同步设备各单板。其设计原理图如图2所示。
输入解码器通过专用的商用芯片来实现对符合ITU-T G.703接口的2Mbps时钟信号源进行解码和对符合ITU-T G.703接口的2MHz时钟源信号和19.44MHz时钟源信号
进行缓冲,给下一级输出标准TTL/CMOS兼容的信号。输出驱动器也采用专用的商用时钟驱动芯片将同步时钟产生的G.813标准的时钟信号输出给同步设备的各单板使用。
对于两路2.048M和两路19.44M信号的输入,在CPLD内部构建三个二选一的多路选择器来选择其中一路信号使能输入。这三个多路选择器的选择使能信号存储在一个寄存器中,通过向其中写入不同的值来使能选择相应的一路输入信号。再构建分频电路对选出的信号进行分频,从而产生时标信号输出到DPLL的时标信号输入端。
时钟定时模块
考虑到设计的精度与复杂性,此模块利用现有的时钟定时单元来构建DPLL,使设计的周期大大缩短,稳定性得到保证。该模块采用JWF02时钟模块,它是一独立元件,使用方便。它能自适应8K、2048K/1544K、10M、19.44MHz四种参考时标输入;同时可支持以1KHz的步长从1KHz到20MHz的用户编程输入参考时标;用户可以选择8K/2048KHz或38.88MHz/19.44MHz输出。JWF02时钟模块串口和单片机的串口相连,接收传送来的时钟调节指令;时钟输入脚接由I/O接口模块选择的时标信号;时钟输出端口将产生的同步时钟传送到输出驱动器驱动输出到同步设备各单板;其时钟工作状态也可由输出部分送单片机供监控。其逻辑连接图如图3所示。
控制通信模块
该模块是整个嵌入式同步时钟系统的控制中心。它接收到网管下达的指令,并将这些指令实施到时钟定时模块,再将时钟的工作状态通过以太网接口上报给网管,从而实现对同步时钟系统的网络管理。
该模块中的单片机采用TI公司的FLASH型16位MSP430F149嵌入式微控制器。采用C语言作为开发语言,采用IAR公司提供的集成开发环境:IAR Embedded Workbench嵌入式工作台以及调试器C-SPY,大大提高了开发的进度。
以太网接口模块采用RealTek公司的RTL8019AS全双工以太网控制器,处理以太网协议并实现以太网数据的收发。要接收和发送数据包都必须通过DMA读写RTL8019AS内部自带的16K的RAM来实现。RTL8019AS内部支持local DMA和remote DMA两种操作方式,外部通过RJ45接口与以太网进行连接通信。该模块的连接图如图4所示。
通信控制模块主要由软件来实现。首先需要对RTL8019AS以太网控制器的内部寄存器进行配置,使其能完成以太网数据帧的顺利收发。这部分由三个函数组成:初始化,接收分组和发送分组。初始化函数完成以太网控制器的上电复位、MAC地址的配置、收发缓冲环首尾地址的配置以及DMA的初始化和收发数据格式的定义等。接收时,通过读取RTL8019AS的当前寄存器CURR和边界寄
存器BNRY的值来确定接收环中是否有分组存在,当两者的值相等时(有分组),启动remote DMA将接收环中的以太网帧送交给单片机处理。发送数据时,单片机将封装好的以太网帧通过remote DMA送到RTL8019AS的发送缓冲环,同时再启动local DMA将数据帧送到以太网线路上传输。
要实现同网管的顺利通信,系统还要实现对以太网数据帧的封装与拆封,以及对IP分组的处理等,这些都可以通过在单片机内部构造诸如TCP/IP等相应的协议栈来处理。单片机收到网管传输来的以太网数据帧后,先去除封装的头部,提取出网管下发的指令,再由单片机执行相应操作,实现网管对时钟的配置管理。同时,单片机通过查询时钟系统的工作状态,将它们进行编码后封装到标准的以太网帧中通过以太网送到网管中心,作为监控同步时钟系统的信息使用。
另外,通过使用MSP430F149内的另一个串口同另一块时钟板上的单片机串口相连接,实现两块板之间的通信,保证在主用时钟发生错误时能及时启动切换,做到始终有一个正常的时钟处于工作状态,提高系统的可靠性。
系统运行过程
嵌入式同步时钟系统的运行过程如图5所示。
结 语
本文给出了嵌入式同步时钟系统的设计方案和具体实现。在设计中采用嵌入式设计的方法把同步定时时钟部分和网络通信部分嵌入到同一块电路板上,使系统既降低了成本又方便了在线维护,可用作诸如路由器、交换机等同步网络设备中的时钟模块。