微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 在KeyStone 器件实现IEEE1588 时钟方案

在KeyStone 器件实现IEEE1588 时钟方案

时间:10-15 来源:互联网 点击:

事件,该事件会记录当前 CPTS 的时间戳,并触发中断;

· 记数器翻转中断:当CPTS 的32bit 记数器从0xFFFFFFFF 变为0x00000000 时会自动触发一个中断;

· 记数器半翻转中断:当CPTS 的32bit 记数器从0x7FFFFFFF 变为0x80000000时会自动触发一个中断;

· 以太网PTP 报文接收中断:当接受1 个以太网PTP 报文时触发中断;

· 以太网PTP 报文发送中断:当发送1 个以太网PTP 报文时触发中断;

4.1.2 CPSW 的配置

CPSW 是属于Switch 的组成部分,可以通过配置CPSW 让Switch 识别PTP 报文。CPSW 的报文识别功能也通过配置寄存器的方式来实现。需要说明的是,由于Switch 对外有两个接口(port1 和port2),因此对应的寄存器也有两份。其寄存器列表如下图所示:

配置步骤如下:

1)配置LTYPE;

每种以太网报文都有一个类型,CPSW 将根据这个类型配置侦测用户需要的报文。根据以太网报文的定义,IEEE1588 的PTP 报文的类型为0x88F7。用户需要将这个类型写入Pn_TS_SEQ_LTYPE 中(n 表示端口号)。

2)配置VLAN ID(如果使能了VLAN 报文的话);

用户可以定义需要的VLAN ID,在Pn_TS_VLAN 寄存器里面配置。

3)使能CPSW 检测模块;

CPSW 的使能包括接收和发送的使能,需要用户配置Pn_TS_CTL 里面对应的位域。

4.2 时间偏差的计算和调整

Gbe Switch 完成对PTP 报文的时间戳记录之后,用户需要根据时间戳计算当前需要调整的时间数。由于真实系统时间是基于Timer64 的时间戳,因此用户在计算CPTS 的时间戳之后需要换算到真实系统时间。

为了方便说明和计算,在下面的配置中,假定CPU 时钟为1GHz,CPTS 采用1/3 CPU 时钟,Timer64 的定时周期为1ms。

360截图20150306163140125.jpg

4.3 KeyStone1 1588 方案的说明

KeyStone1 的1588 方案主要依靠配置Gbe Switch 和软件换算时间戳两部分来完成。需要强调的是,在软件换算时间的部分,这涉及到具体的1588 时间戳计算算法。基于应用的需求和精度需求,许多算法往往比这里介绍的更复杂,但是原理上来说都是相同的。这也是KeyStone架构使用软件实现 1588 部分的一个优势,用户可以灵活使用软件功能来提高 1588 的同步精度。

5 小结

从目前来看,IEEE1588v2 标准已经越来越多的应用在通讯网络中。由于IEEE1588v2 标准也还在不断的完善中,因此从技术角度出发,熟悉1588 同步原理,了解并设计不同场景中的1588 方案,不论是从芯片设计角度或者基站整体解决方案角度来说,都是十分必要的。

本文简要的介绍了IEEE1588 的原理,并分类分析了1588 同步功能在PHY 以及KeyStone1 和KeyStone2 芯片上的应用方案。以太网PHY 实现1588 同步的精度最高,但是成本相对比较昂贵;德州仪器的KeyStone 架构上集成了支持1588 的Switch,用户可以通过KeyStone 架构灵活实现1588 同步功能,也为用户的方案设计提供了更多的选择。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top