SR8201F以太网口断连分析(MDIO时序)

目录

1 初步怀疑电源供电能力不够

1.1 电流测量

1.2 改供电方式

1.3 原设计注意问题整改

2 怀疑CPU对PHY的reg有错误的写操作

3 怀疑CPU对PHY 有错误的复位行为

4 更换测试工具


1 初步怀疑电源供电能力不够

1.1 电流测量

产品调试人员反馈冷启动75分钟断开连接一次,后续越来越频繁。在3.3V的源头串入导线,用示波器测量电流,同时检测3.3V电压。5V转3.3V的电源芯片62084最大输出2A电流,图中可以看到电流会冲到3A,且电压会下降到3V以下,确有些过载。

SR8201F以太网口断连分析(MDIO时序)_第1张图片SR8201F以太网口断连分析(MDIO时序)_第2张图片

1.2 改供电方式

为实现装置平台的无缝切换,ZX701核心板仅5V电源供电(原自研核心板仅3.3V供电),在转接板上用3.3V升压得到,核心板功耗大约在3W。同时转接板还有两个ETH PHY SR8201F,USB转UARTx4 CH9344L,看门狗,RS232等直接使用3.3V的芯片。将转接板上的3.3V升压5V的61088去掉,核心板5V从底板的5V直接飞线供电,减少62084负载。再次测量3.3V电流约在400mA左右,专供核心板的5V电流约在300mA左右。

SR8201F以太网口断连分析(MDIO时序)_第3张图片SR8201F以太网口断连分析(MDIO时序)_第4张图片

长时间测试网口仍然有断连,但是基本固定在75min左右,且电脑的连接图标不再断开

1.3 原设计注意问题整改

ZX核心板上的MCU_3V3是从核心板的5V转出给SWD调试口,不能连接底板的VCC_3.3V,否则可能会形成倒灌。

2 怀疑CPU对PHY的reg有错误的写操作

 寄存器0x00的reg中[9]=1重启自动协商时会断连。

SR8201F以太网口断连分析(MDIO时序)_第5张图片

SR8201F的MDIO时序如下。

SR8201F以太网口断连分析(MDIO时序)_第6张图片

 抓取MDIO总线上的数据。每隔2.15s会被读取一组,每组内为间隔约640us的两次读寄存器0x01的操作,读出值为0x786d。

SR8201F以太网口断连分析(MDIO时序)_第7张图片SR8201F以太网口断连分析(MDIO时序)_第8张图片

 SR8201F以太网口断连分析(MDIO时序)_第9张图片

把MDIO的两根线接入一块有FPGA的板子GPIO上,在FPGA中编写抓取代码 ,在TD软件的Chipscope中触发抓取读写,自制逻辑分析仪。

always @( posedge mdc )
	begin
		mdio_reg  <= mdio;
		s_data[0] <= mdio_reg;
		s_data[31:1] <= s_data[30:0];	
	end
	
always @( posedge mdc )
	begin
  	if (s_data == {23'h7fffff ,2'b01,2'b10,5'h00} )  rd_reg <= 1;//0xFFFF_FEC0
  	else  rd_reg <= 0;
  	
  	if (s_data == {23'h7fffff ,2'b01,2'b01,5'h00} )  wr_reg <=1;//0xFFFF_FEA0
  	else wr_reg <=0; 
  	
  	wr <= wr_reg;
  	rd <= rd_reg;
	end  

抓取的读操作如下,数据与示波器相同。触发抓取一晚上写操作,没有抓到,没有写操作。

 0x01寄存器内容如下:

SR8201F以太网口断连分析(MDIO时序)_第10张图片

 SR8201F以太网口断连分析(MDIO时序)_第11张图片

3 怀疑CPU对PHY 有错误的复位行为

SR8201F以太网口断连分析(MDIO时序)_第12张图片

抓取复位信号,示波器开启触发模式,在PHY出错时并未抓到复位信号。

4 更换测试工具

更换网口测试工具,建立TCP连接后,定时通讯,两天未发生断链。基本定位在应用软件bug,需要软件进一步检查。软件已定位时间reg存在溢出。

SR8201F的兼容型号YT8512T。

你可能感兴趣的:(软硬件设计,单片机,stm32,嵌入式硬件)