引言
最近新设计了一款AM335平台的工业板,它提供双千兆网口。花了比较多的时间进行网口调试,碰到了几个典型的问题,在此记录,希望有同样设计的工程师免走弯路。
PCB注意事项
因为KSZ9031提供的是RGMII接口,时钟信号速率到达125MHz, 因此需要做等长处理。 同样的,KSZ9031和变压器之间的信号也要做等长处理。如果选择的不是集成变压器的RJ45及连接器,同样变压器和RJ45接口也需要长度匹配。
对于不从网口启动的系统,如从SD卡启动,从USB启动等等,对信号做等长处理就能够满足PCB的布线要求。但是如果系统需要从网口启动, 则需要对时钟信号做延迟处理。在后续的信号时延章节有详细说明。
信号时延
相比于GMII, RGMII减少了信号线,提高了信号速率,所以信号时延就很重要,如果时延没有达到要求,系统会不稳定,甚至不能工作。
在KSZ9031手册的7.0章节详细说明了信号之间的时延关系。通俗来讲就是数据信号和时钟信号的时序关系。如下图所示, AM335的MAC在TXC的上升沿发送数据时, 在MAC端,时钟和数据没有延时,但是当数据达到PHY端时, phy芯片需要在上升沿和下降沿来采样数据信号,因此对应TXC的上升沿和下降沿,数据信号应该对应着hold周期, 即TXC相对数据信号,需要一个时延。
同样的道理, RXC相对接收数据信号,也需要一个时延。
AM335的MAC内部不支持时钟数据信号的延时,所以设置KSZ9031或者延长PCB走线来达到延时的目的。
KSZ9031支持内部延时,但是延时的范围有限:
对于发送信号,最大1.38ns
对于接收信号,最大2.58ns.
如果PCB布线时没有做等长,那么调整的时候需要一根线一根线的计算。具体PCB走线长度和时间的关系可以Google一下。我这里直接列出公式
对于常见的FR4材质的PCB, Er≈4, Ereff≈2.92。
如果PCB已经按照等长布线,那么它的计算比较简单:
时钟信号125MHZ,因此上升沿和下降沿的时间间隔为1/500MHZ=2ns
我们期望时钟信号在数据信号的中点即2ns/2=1ns.即发送时钟和接收时钟延时设置为1ns。
KSZ9031上电默认时,发射时钟延时为0,接收时钟延时为1.2ns。 如果AM335需要从网口启动,那么发射时钟信号线需要做适当的延长。如果系统是从SDcard等其他方式启动,那么可以通过系统启动后设置KSZ9031的内部延时来确保它正常工作。
电源设计
可以通过KSZ9031内部的LDO来给自身提供1.2V的供电,如下图, pin43需要外接一个MOSFET。 这个MOSFET的选择有一定的要求:
- P-channel
- 500 mA (continuous current)
- 3.3V or 2.5V (source – input voltage)
- 1.2V (drain – output voltage)
- VGS in the range of:
- (–1.2V to –1.5V) @ 500 mA for 3.3V source voltage
- (–1.0V to –1.1V) @ 500 mA for 2.5V source voltage
在它的开发板上采用的MOSFET是FDT434P,但是FDT434P已经停产,本人在选择替代时, 忽略了它的具体要求,选择NTF5P03T3G作为设计中的MOSFET。造成的后果是多花了2周时间调试网口驱动。
MOSFET选择不对的情况下,主要有以下现象:
1:使用万用表测试1.2V输出正常(非常有迷惑性);
2:驱动能加载, MDIO接口能够读写寄存器;
3:网线另一端如果是100M交换机,系统偶尔能够工作在10M或者100MHz,但是Negotiation比较慢;
4:网线另一端如果是1000M交换机, 使用其他的网络工具发现网口一直在Negotiating
最后一点关于的VGS要求可以用图表来说明:
FDT434P的传输特性曲线如下:
在Id=500mA时 VGS的范围是1.2V~1.5V
而NTF5P03T3G的传输曲线明显不符合要求,当Id=500mA是-VGS>2.5V.
后续通过验证FDC606P可以替换FDT434P使得电路正常工作。
LED电路
KSZ9031提供2种LED模式: single LED Mode或者Tri-Color Dual LED mode.
如果采用Tri-Color Dual LED mode,LED信号脉冲宽度只有640ns,根本不能被人眼分辨出,此时当电缆接入,网口正常工作时,人眼观察到的LED灯一直off状态。
所以建议使用single LED Mode。
详细的说明可以参见勘误手册。
版权声明:本文为CSDN博主「dylanZheng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dylanZheng/article/details/121926270
引言
最近新设计了一款AM335平台的工业板,它提供双千兆网口。花了比较多的时间进行网口调试,碰到了几个典型的问题,在此记录,希望有同样设计的工程师免走弯路。
PCB注意事项
因为KSZ9031提供的是RGMII接口,时钟信号速率到达125MHz, 因此需要做等长处理。 同样的,KSZ9031和变压器之间的信号也要做等长处理。如果选择的不是集成变压器的RJ45及连接器,同样变压器和RJ45接口也需要长度匹配。
对于不从网口启动的系统,如从SD卡启动,从USB启动等等,对信号做等长处理就能够满足PCB的布线要求。但是如果系统需要从网口启动, 则需要对时钟信号做延迟处理。在后续的信号时延章节有详细说明。
信号时延
相比于GMII, RGMII减少了信号线,提高了信号速率,所以信号时延就很重要,如果时延没有达到要求,系统会不稳定,甚至不能工作。
在KSZ9031手册的7.0章节详细说明了信号之间的时延关系。通俗来讲就是数据信号和时钟信号的时序关系。如下图所示, AM335的MAC在TXC的上升沿发送数据时, 在MAC端,时钟和数据没有延时,但是当数据达到PHY端时, phy芯片需要在上升沿和下降沿来采样数据信号,因此对应TXC的上升沿和下降沿,数据信号应该对应着hold周期, 即TXC相对数据信号,需要一个时延。
同样的道理, RXC相对接收数据信号,也需要一个时延。
AM335的MAC内部不支持时钟数据信号的延时,所以设置KSZ9031或者延长PCB走线来达到延时的目的。
KSZ9031支持内部延时,但是延时的范围有限:
对于发送信号,最大1.38ns
对于接收信号,最大2.58ns.
如果PCB布线时没有做等长,那么调整的时候需要一根线一根线的计算。具体PCB走线长度和时间的关系可以Google一下。我这里直接列出公式
对于常见的FR4材质的PCB, Er≈4, Ereff≈2.92。
如果PCB已经按照等长布线,那么它的计算比较简单:
时钟信号125MHZ,因此上升沿和下降沿的时间间隔为1/500MHZ=2ns
我们期望时钟信号在数据信号的中点即2ns/2=1ns.即发送时钟和接收时钟延时设置为1ns。
KSZ9031上电默认时,发射时钟延时为0,接收时钟延时为1.2ns。 如果AM335需要从网口启动,那么发射时钟信号线需要做适当的延长。如果系统是从SDcard等其他方式启动,那么可以通过系统启动后设置KSZ9031的内部延时来确保它正常工作。
电源设计
可以通过KSZ9031内部的LDO来给自身提供1.2V的供电,如下图, pin43需要外接一个MOSFET。 这个MOSFET的选择有一定的要求:
- P-channel
- 500 mA (continuous current)
- 3.3V or 2.5V (source – input voltage)
- 1.2V (drain – output voltage)
- VGS in the range of:
- (–1.2V to –1.5V) @ 500 mA for 3.3V source voltage
- (–1.0V to –1.1V) @ 500 mA for 2.5V source voltage
在它的开发板上采用的MOSFET是FDT434P,但是FDT434P已经停产,本人在选择替代时, 忽略了它的具体要求,选择NTF5P03T3G作为设计中的MOSFET。造成的后果是多花了2周时间调试网口驱动。
MOSFET选择不对的情况下,主要有以下现象:
1:使用万用表测试1.2V输出正常(非常有迷惑性);
2:驱动能加载, MDIO接口能够读写寄存器;
3:网线另一端如果是100M交换机,系统偶尔能够工作在10M或者100MHz,但是Negotiation比较慢;
4:网线另一端如果是1000M交换机, 使用其他的网络工具发现网口一直在Negotiating
最后一点关于的VGS要求可以用图表来说明:
FDT434P的传输特性曲线如下:
在Id=500mA时 VGS的范围是1.2V~1.5V
而NTF5P03T3G的传输曲线明显不符合要求,当Id=500mA是-VGS>2.5V.
后续通过验证FDC606P可以替换FDT434P使得电路正常工作。
LED电路
KSZ9031提供2种LED模式: single LED Mode或者Tri-Color Dual LED mode.
如果采用Tri-Color Dual LED mode,LED信号脉冲宽度只有640ns,根本不能被人眼分辨出,此时当电缆接入,网口正常工作时,人眼观察到的LED灯一直off状态。
所以建议使用single LED Mode。
详细的说明可以参见勘误手册。
版权声明:本文为CSDN博主「dylanZheng」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/dylanZheng/article/details/121926270
暂无评论