作者:深圳工程师 Zhou Fang
在工厂自动化应用中,由于现场设备节点数量与日俱增,同时对于自动化设备加工精度与实时性要求越来越高,传统的串行工业总线已经无法满足生产线同步性与大规模数据传输的要求。以太网逐渐成为主流,基于以太网全球主流OEM开发确定性网络工业以太网协议包括Profinet, Ethercat, Powerlink等。这些协议都需要以太网作为传输介质,以太网PHY主要负责。目前工业以太网总线速率以10/100M速率为主,下一代工业总线技术将会基于TSN(时间敏感网络)与速率1000M及以上的以太网协议。
在进行以太网口功能调试过程中,最常见的问题是两个端口之前无法正确建立物理层链接。所以本文档的内容基于TI以太网PHY产品DP83822,介绍以太网网口自协商(Auto-Negotiation)功能现象,正确的测试波形与Strap电阻设置。
1. 介绍
OSI模型定义了7层网络模型,以太网MAC层对应OSI模型中的第二层-数据链路层,以太网PHY对应OSI模型中的第一层-物理层。对于以太网而言,物理层的主要功能是将在网线或者光纤中传输的原始数据(电压,电流等)转化为可被接收且符合协议的数字信号,其为数据链路层提供物理连接。物理层主要规定了信号电压,频率,引脚功能,阻抗等。作为网络通讯的基础,只有在物理层成功建立链接后,通信数据才能在端口之间进行传输。以太网PHY承担了物理层链接的所有工作,只有PHY工作在正确配置下,通信链路才能正常工作。下面会以10M/100M以太网PHY为例,说明物理层链接建立方式 – 自动协商及如何检通过检测TRX_P/N管脚波形判断DP83822是否正确开启该功能。
2. DP83822自动协商(Auto-Negotiation)功能
根据IEEE802.3,自动协商模式功能是以太网端口根据另一个端口的设备链接速度,双工模式,自动把本端口的速度和工作模式调节到两个端口可以支持的最高水平。自协商协议的主要内容包括:双工模式,运行速率等。自动协商功能完全由物理层PHY芯片实现,无需额外数据包和高层协议开销。根据广播通信速率10M或者100M的不同,自动协商功能提供两种模式NLP(Figure 6)和FLP(Figure 2)。
DP83822I(工业版本)支持10M – 10Base- TE模式和100M – 100Bast – TX模式
10Base-TE自动协商模式(10M)
使用单独10Base-TE广播自动协商模式时, PHY芯片会通过Figure 1中TXD_P, TXD_N和RXD_P,RXD_N发送NLP(Normal Link Pulse)普通链路脉冲,每个脉冲间隔16ms。为了同时兼容T568A直连网线和T568B交叉网线,所以在收发端同时广播NLP,根据对方对口的监听情况判断是否使用自动交叉线切换功能(Auto-MDIX)。
100Base-TX自动协商模式(100M)
使用100Bast-TX自动协商模式时, PHY芯片会通过Figure 1中TXD_P, TXD_N和RXD_P,RXD_N发送FLP(Fast Link Pulse)快速链路脉冲。由于100Base-TX自动协商模式由100Base-T向10Base-T兼容,如果对方端口只能支持10M以太网,则两侧都会判定为10Base-T。为了同时兼容T568A直连网线和T568B交叉网线,所以在收发端同时广播FLP,根据对方对口的监听情况判断是否使用自动交叉线切换功能(Auto-MDIX)。
Figure 1 DP83822原理图
开启自动协商模式:TXD_P/N引脚波形
测试使用DP83822I评估模块[1],默认电阻与寄存器配置,在无网线连接其他以太网端口的情况下。通过观测TXD_P引脚波形可以判断芯片是否在进行自动协商。
当无其他端口与本端口连接时,自动模式下TXD_P/N引脚发送的FLP波形为Figure 2。TXD_P/N会持续发送FLP信号给远端以太网端口,同时TXD_P/N也会监听对端是否通过网线传输FLP信号。每帧FLP脉冲发送时间间隔16ms。直流共模电压3.3V,单端峰值电压5.2V。
Figure 2 100base-TX自动协商 FLP信号
如果对单帧脉冲周期进行放大可以观察到FLP信号包含多个脉冲信号。最大数量为33个脉冲,第一个脉冲和最后一个脉冲为时钟脉冲,每两个时钟脉冲之间为数据脉冲。当数据脉冲出现时,该比特位为’1’,当数据脉冲为0时,该比特位为’0’。双工模式,速率等信息就包含在16个数据脉冲之中,如Figure 3所示。
Figure 3 100base-TX自动协商 单帧FLP信号
如Figure 4所示,单个脉冲TXD_P和TXD_N幅值相同,相位相差180度差分信号。
Figure 4 100base-TX自动协商 TXD_P/N差分信号(红色TXDP-TXDN) 峰值为3.3V
关闭自动协商模式:TXD_P/N引脚波形
使用DP83822I评估板,在上电后使用工具[2]将0x0000(BMCR) BIT12更改为’0’,关闭自动协商模式。此时得到Figure 5,由图可知TXD_P不再发送FLP脉冲群,而是在持续发送MLT-3信号。发送MLT-3表示PHY认为此时已经进入强制100Base-TX, Figure 5表示以太网PHY工作在100Bast-TX的空闲状态。
Figure 5 100Base-TX以太网特征信号(MTL-3电平)- 自动协商功能关闭
此时将0x0000(BMCR) BIT13设置为’0’,即将以太网速度从100M变为10M。此时TXD_P/N在持续发送NLP信号,因为10Base-TE 空闲模式与NLP信号相同。此时PHY进入强制10Base-TE模式。
Figure 6 10Base-TE NLP - 自动协商功能关闭
从以上测试结果可以发现,通过示波器观察TXD_P/N引脚信号可以对以太网PHY(例如DP83822I)上电后的链接电路的模式和状态进行分类。在现在通用以太网PHY的设计中,通常建议开启自动协商模式支持最高速率与全双工模式(Auto-Negotiation),当在无远端以太网端口链接的情况下,应能在TXD_P/N引脚观侧到Figure 2和Figure 3波形。
自动协商模式Strap电阻配置
DP83822I在上电完成之后,需要默认使能自动协商模式,且保证最快速率和全双工模式,最重要的一点是保证基础模式选择正确,即AN_EN=1, AN_1=1, AN_0=1。
Figure 7 自动协商模式可配置的
相关引脚的电阻配置如Figure 8所示,根据[3]可以得到RX_D0, RX_D3和LED_0的推荐电阻配置如下:
Figure 8 自动协商模式相关Strap电阻配置
RX_D0引脚电阻配置:
MODE1(上拉电阻:OPEN; 下拉电阻:OPEN)和MODE4(上拉电阻:2.49k Ohm;下拉电阻:OPEN)。
RX_D3引脚电阻配置:
MODE1(上拉电阻:OPEN; 下拉电阻:OPEN)和MODE4(上拉电阻:2.49k Ohm;下拉电阻:OPEN)。
LED_0引脚电阻配置:
MODE3(上拉电阻:6.2k Ohm; 下拉电阻:1.96k Ohm)和MODE4(上拉电阻:OPEN;下拉电阻:OPEN)。
3. 参考文档
[1] DP83822 EVM: http://www.ti.com/lit/ug/snlu179/snlu179.pdf
[2] USB to MDIO Serial Management Tool: http://www.ti.com/tool/USB-2-MDIO
[3] 4-Level Strap Device Configuration: http://www.ti.com/lit/an/snla258/snla258.pdf
[4] https://www.iol.unh.edu/sites/default/files/knowledgebase/ethernet/Copper_ANEG_JEFF_LAPAK.pdf