802.3 spec选学之GMII

2.2.1 GTX_CLK
方向从reconciliation层到PHY,频率125M ,TX_EN, TX_ER, and TXD在其上升沿采样。

2.2.2 RX_CLK
方向从PHY到reconciliation层,RX_DV, RX_ER and RXD在其上升沿采样。PHY可以从接收到的数据中(指从介质中接收到的)恢复时钟,也可以使用本地时钟,比如GTX_CLK。如果是第一种方式,时钟频率为数据速率的1/8,如果是后者,那就是固定的125M。
当从介质接收到的信号是连续的并且 PHY 可以恢复 RX_CLK 参考并连续提供 RX_CLK 时,无需逐帧在恢复的时钟参考和本地时钟参考之间转换 . 如果从介质中接收到的信号丢失导致 PHY 丢失恢复的 RX_CLK 参考,则 PHY 应从本地时钟参考获取 RX_CLK。从本地时钟到恢复时钟或从恢复时钟到本地时钟的转换只能在 RX_DV 和 RX_ER 被置低时进行。
在 CRS置1和帧开始时 RX_DV置1之间的间隔期间,PHY 可以通过将 RX_CLK 保持在高或低状态来延长一个周期,直到 PHY 成功锁定到恢复的时钟。 在帧结束时清除 RX_DV 或在载波扩展结束时清除 RX_ER 之后,PHY 可以通过将 RX_CLK 保持在高电平或低电平状态的时间间隔来延长 RX_CLK 的周期,但不可超过标称时钟周期的两倍。
RX_CLK 和 GTX_CLK之间不需要约束相位关系。

2.2.3 TX_EN
TX_EN 与 TX_ER 相结合表示协调子层正在 GMII 上呈现数据以供传输。 它应由协调子层与前导码的第一个八位字节同步声明,并在所有要传输的八位字节都提交给 GMII 时保持声明。 TX_EN 应在 GTX_CLK 的第一个上升沿之前取反,跟随帧的最终数据八位字节。 TX_EN 由 Reconciliation 子层驱动,并应与 GTX_CLK 同步转换。

2.2.4 TXD[7:0]
对于 TX_EN 被置位且 TX_ER 被取消置位的每个 GTX_CLK 周期,数据在 TXD<7:0> 上呈现给 PHY 以供传输。
TXD<0> 是最低有效位。 当TX_EN 和 TX_ER 都被去置位, TXD<7:0> 对 PHY 没有影响。
当 TX_EN 被去置位且 TX_ER 被置位时,TXD<7:0> 用于请求 PHY 生成Carrier Extend或Carrier Extend Error代码组。 第 35.2.2.5 节描述了在传输带有载波扩展的帧期间TXD<7:0>的使用。 载波扩展只能在帧的数据部分之后立即发出信号。

2.2.5 TX_ER
TX_ER 由 Reconciliation Sublayer 驱动,并应与 GTX_CLK 同步转换。 当 TX_ER 被置位一个或多个 TX_CLK 周期而 TX_EN 也被置位时,PHY应发出一个或多个代码组,这些代码组不是有效数据的一部分,也不是正在传输的帧中某处设置的定界符。 不需要保留帧内误差的相对位置。
TX_EN置0,TX_ER置1,然后TX1传输约束好的代码时,可以指示载波扩展和载波扩展错误。
当 TX_EN 被去置位且 TX_ER 被置位时,置位适当的 TXD 值将让PHY 生成载波扩展或载波扩展错误代码组。 从 TX_EN置位和 TX_ER去置位到 TX_EN去置位和 TX_ER置位且 TXD 指定载波扩展的转换应导致 PHY 发送end-of-packet定界符作为载波扩展的初始化代码组。 图 35-5 和 35-6 显示了 TX_ER 在载波扩展传输期间的行为。 通过将 TX_EN 置为0且 TX_ER 与 TXD<7:0> 的适当值一起置为有效,请求传输在载波扩展错误(an error in carrier extension)。
帧的突发传输也使用突发帧之间的载波扩展。 


2.2.6 RX_DV
方向从PHY到reconciliation层,RX_CLK上升沿同步。preamble期间无所谓,在SFD之前拉高即可,帧结束分隔符之后拉低,用于告诉MAC,RXD上传输的是PHY已经恢复和解码的数据。

2.2.7 RXD[7:0]
方向从PHY到reconciliation层,RX_CLK上升沿同步。
RX_DV置1时,RXD[7:0]在一个时钟周期里从PHY传输8bit数据到MAC,RXD0是最低位。
RX_DV置0时,RX_ER置1时,RXD传输0E,指示载波错误。最终传递给PLS的是一个没有接收到有效数据。
不管是全双工还是半双工,如果环回模式未被设置,TXD上的数据都没必要环回到RXD上(环回的作用应该是测试或全双工模式的回声消除?)。
RX_DV置0时,RX_ER置1时,RXD传输0F,指示传输载波扩展,这里是先传载波扩展再传0F,还是说0F本身就是载波扩展?
RX_DV置0时,RX_ER置1时,RXD传输1F,指示载波扩展错误。但最终传递给PLS的是ZERO和ONE,这是为啥?
载波扩展似乎是有两个应用场景,一是立即接在帧尾,一是在burst模式下插在两帧之间。

2.2.8 RX_ER
方向从PHY到reconciliation层,RX_CLK上升沿同步。
RX_DV置1时,RX_ER也置1持续1个或以上的时钟周期来指示PHY发过来的信号有错误,可能是编码错误或是PHY能检测的其它错误。

2.2.9 CRS
方向从PHY到reconciliation层。CRS是异步信号,不需要时钟。CRS全双工模式下不约束。
在非中继器中,半双工模式下,CRS拉高表示发送和接收至少有一路处于非空闲态,否则拉低。冲突状态下也要保持拉高。
在中继器中,CRS仅指示接收通路的状态,拉高表示接收非空闲,否则拉低。
看波形,CRS不需要完全包住全部数据,差不多比数据晚点拉高,晚点拉低即可。

2.2.10 COL
方向从PHY到reconciliation层。检测到冲突时,COL应持续拉高,直到冲突解除。COL是异步信号,不需要时钟。COL全双工模式下不约束。

2.3 GMII数据流
<inter-frame><preamble><sfd><data><efd><extend>

2.3.1  inter-frame
GMII 发送或接收路径上的<inter-frame> 周期是在此期间路径上不发生数据活动的时间间隔。
在突发或单帧传输之间,接收路径上不存在数据活动通过清除RX_DV 和 RX_ER 或清除RX_DV且 RXD<7:0> 置0x0来指示。在发送路径上,不存在数据活动由 TX_EN 和 TX_ER 的置低指示。
在突发内的帧之间,帧间周期在 GMII 上以载波扩展的形式发出信号。

2.3.2 preamble和sfd
发送:preamble是7组10101010;sfd是10101011;发送顺序都是从左到右,先发的是LSB。
接收:千兆PHY的GMII的发送和接收之间的前导码会被缩小,即接收端未必能收到全部7组preamble,极端情况甚至可以一组都没有,直接接收SFD。

2.3.3~2.3.5 data/efd/carrier extend
data即以byte为最小单位组成的数据。
efd在TX和RX上分别直接由TX_EN和RX_DV构造?
载波扩展可能不会出现在所有帧上。

2.3.6 Definition of Start of Packet and End of Packet Delimiters
分别用RX_DV的上升沿和下降沿来定义,不知道额外定义出这么个东西有什么作用,可能是30节的层管理要用。

2.5 管理功能
本协议管理功能一般用来介绍需要具备的寄存器。

3 信号映射
介绍了GMII、MII、TBI三种接口的引脚复用。

4 电气参数

4.1 直流参数
除了满足常规的VOH VOL VIH VIL(分别是2.1V 0.5V 1.7V 0.9V)的大小关系规律外,施加到 GMII 接收器输入的电位可能超过接收器电源的电位(即,由 3.6 V 电源供电的 GMII 驱动器将 VOH 驱动到由 2.5 V 电源供电的 GMII 接收器)。

4.2 AC参数
1)由于 GMII 驱动器的输出特性和输出电压波形取决于端接技术和端接元件的位置,因此没有明确规定 GMII 驱动器的交流输出特性。 相反,指定了传送到 GMII 接收器的信号的交流特性。这些特性独立于拓扑和端接技术,并统一适用于所有 GMII 应用。
2)所有AC时间参数都用VIH_AC(min)和VIL_AC(max)来卡。
GTX_CLK和RX_CLK的高电平时间、低电平时间、周期;上升时间、下降时间及一些瞬态参数用模板来约束;这些参数用一套测试组网。
建立时间和保持时间用一套测试组网;建立时间卡数据达到阈值的时间到时钟的VIL_AC(max)的时间,而保持时间卡时钟的VIH_AC(min)到数据脱离阈值的时间。
3)测试组网是包含端接电路(为了确保通路的50ohm阻抗)和5pf的负载。时钟测量电路和信号测量电路是一样的,如果是建立和保持时间的测量,则需要把信号和时钟测试电路都搭出来。
4)参数表里有个clock slew rate,这个参数跟上升下降时间的区别是它测的是瞬态而非整个过程的平均值。slew rate的上限没有约束,但不能过高,否则高频分量会在封装引脚和焊盘上激发更大的寄生电抗,导致信号失真。
参数表里有两组建立和保持时间,带RCVR后缀的那组要求更低点,两组的时间要求之差是为数据和时钟走线失配允许的余量。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值