PTP GPTP芯片资料翻译88E6352

88E6352应用

网关
车载信息娱乐
车身域控制器

PTP

PTP通过周期型地交换控制包实现

  • 选择其中网络最佳质量时钟元素,作为PTP网络中Grand Master.没有Grand Master 节点变成PTP slave节点。
  • PTP节点从Grand Master节点获得他们驱动频率和时间信息。

基本观念是PTP帧的时间戳经可能接近物理线束。

为了支持PTP协议,设备在Packet包和识别转发给CPU的PTP消息中,编码EtherType/Sub-type场。设备的802.1AS控制帧时间戳从离开的节点到被给的节点。设备支持全灵活的配置16种PTP帧类型时间戳在使用MsgldTSEn(PTP全局寄存器偏移0x1)。PTP帧类型通过Msgld场描述,如下。

ptp帧结构

在这里插入图片描述

PTP通讯

PTP核基于EtherType和Sub-type场回应帧,确定帧的时间戳信息是否可用。在PTPcore中,注意 帧事件消息帧可以获得时间戳。设备支持两个到达计数和一个离开计数器。确保更多的到达事件在硬件上能够步骤。例如,从Grand Master发出同步帧PDelayReq或者PDelayResponse消息能够同时达到被给Slave节点。

switch交换机数据管道 识别和接收到使用组播的目标地址,会通过PTP帧和转发它到CPU_DEST(Global offset 0x1A)。在接收的PTP帧在修订时,发送CPU_DEST需加一个To_CPU DSA标识。设备支持two-step PTP时钟,其中紧接着的一个消息通过软件节点定时被发出。
当PTPArrIntEn(PTP Global Config register 0x03)设置在0x1,一个通过硬件生成中断,同时PTP事件消息通过硬件打上时间戳
PTPArr0IntStatus(PTP Port Status Register offset 0x0)和PTPArr1IntStatus(PTP Port Status Register offset 0x4)指定是否处理收集错误到达时间戳触发情况。
在时间戳寄存器PTPArr0Time(PTP Port Status Register Offset 0x01 & 0x02)或者PTPArr1Time(PTP Port Status Register Offset 0x05 & ox06 )成功捕捉时间戳后,相对应的无效位PTPArr0TimeVaild(PTP Port Status Register Offset 0x0) 或者 PTPArr1TimeVaild(PTP Port Status Register Offset 0x04)位被设置。
类似的PTP到达中断寄存器和时间戳寄存器,这里设备支持PTP帧离开中断和时间戳寄存器。设备也能够捕捉到从到达和离开PTP帧公共头ID,确保软件能够在正确PTP帧中解析时间戳信息。
当PTP软件接收到帧,各自的场需要定时更新和帧需要向前到下级PTP从节点。软件的PTP帧到达到硬件被标记为From_CPU DSA 标识帧。
注意每一个端口PTPInt(PTP Global Status Register 0x08)位被设置,当PTP帧时间戳到达时,PTPArrIntEn被设置端口或者当一个外向PTP帧时间戳和PTPDepIntEn设置端口。在软件读取和清除PTPArr0TimeVaild(PTP Port Status register offset 0x0)或者PTPArr1TimeVaild(PTP Port status register offset 0x04)中断位被清除。PTP帧入口要求时间戳相关中断和之后软件清除PTPDepTimeVaild(PTP Port Status register offset 0x08)出口时间戳PTP帧。

当ptp帧在入口时流经交换机数据路径时,它可能会由于队列拥塞、策略、CRC而被丢弃,例如,原因输出可能由于CRC校验或者策略原因。硬件通过增加PTPTSArrDisCtl(PTP端口状态寄存器偏移0x0D)或PTPNonTSArrDisCtl(PTP端口状态寄存器偏移0x0D)来跟踪这样的丢弃事件。PTPTSArrDisCtr不断增加需要时间戳的PTP帧和PTPNonTSArrDisCtl不断增加不需要时间戳的PTP帧。相同的,这里有两个硬件支持出发计数器名为PTPTSDepDisCtl(PTP Port Status register offset 0x0D)和PTPNonTSDepDisCtl(PTP Port Status register offset 0x0D).

配置GPTP

配置switch global寄存器

配置avb命令寄存器

位BIT场FILLD类型TPYE描述
15AVBBusySCAVB单元忙。为1时,开始AVB操作。AVB操作只能在位从1设置为0才能完成。当AVB需求操作完成后,该位自动清零。
14:12AVBOpRWRAVB单元操作码。设备支持AVB操作(当帧传输到交换机,这些操作能够被执行):000:不操作 。011 = 写入下面AVBAddr所指向的寄存器。AVBData寄存器写的内容在选择寄存器。100 = 读入下面AVBAddr所指向的寄存器。数据从选择的寄存器传输到AVBData 寄存器。110=读取下面AVBAddr寄存器地址位定义的寄存器的post increment。对于PTP数据结构,该命令指示硬件从AVBAddr位置开始拍摄4个连续数据寄存器的快照。这用于捕捉宽度超过16位的时间计数器值以及序列标识符信息。
11:8AVBPortRWR指定物理设备端口。例如,该场被设置为为0x1,AVB寄存器属于端口1。使用0xF值访问AVB Global寄存器。访问PTP global 寄存器设置AVBBlock为0x0和AVBPort为0xF。访问TAI(Time Application Interface)Global寄存器,设置AVBBlock为0x0和设置AVBPort为0xE。访问AVB 公共global寄存器,设置AVBBlock为0x1和设置AVBPort为0xF.访问Qua global寄存器,AVBBlock为0x2和设置AVBPort为0xF。
7:5AVBBlockRWR这个场设定设备锁定地址。例如,在AVB寄存器空间,该场选择块如PTP,SRP和Qav。在选择指定块地址选择AVBAddr。ox0:选择PTP寄存器.0x1:选择AVB公共寄存器空间。0x2:选择Qav寄存器空间。0x3~-0x7保留。
4:0AVBAddr这些位标识在上面指定的AVBOp位中指定的寄存器操作的地址位。

配置AVB数据寄存器

位BIT场FILLD类型TPYE描述
15:00AVBdataRWRAVB数据位。这些位表明了读数据和写数据都依靠于AVB命令寄存器(Offset 0x16)。例如读操作,硬件逻辑从指定地址(AVB命令行寄存器)取数据和存储这些数据位。写操作例子,硬件逻辑利用场数据位 写指定地址位值在AVB命令寄存器。AVB寄存器的内容通过AVBBlock记录

参考连接

88e6352资料介绍:https://cn.marvell.com/content/dam/marvell/en/products/assets/automotive/ethernet/documents/marvell-automotive-ethernet-88ea6352-product-brief-2019-03.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值