Skip to main content
PMohan
Associate
July 23, 2021
Question

STM32F427 Ethernet interface with KSZ8081 PHY chip

  • July 23, 2021
  • 3 replies
  • 2393 views

Hi

I am using STM32F427 controller. I am using KSZ8081 Ethernet PHY Transceiver.

I have configured the controller for MII interface.

I have set the IP address and trying to ping the board from PC. There is no response.

How to check the controller configuration is working properly?

How to check the Ethernet chip is powered up?

Please let me know how to check this from hardware and software perspective

Thanks

This topic has been closed for replies.

3 replies

Walid ZRELLI
Visitor II
August 24, 2021

Hello @PMohan​ ,

Can you please provide your initialization for further check?

Thanks in advance.

BeST Regards,

Walid

PMohan
PMohanAuthor
Associate
August 25, 2021

0693W00000DqIT2QAN.jpgHardware : I have attached the schematics of how the microcontroller is interfaced with the Ethernet PHY chip. Please go through and let me know for clarifications if any.

Software Configuration

  1. I am using Static IP
  2. MCO Clock is used
  3. Phy Address is 2
  4. Auto Negotiation Enabled
  5. Speed 100Mbps
  6. Full Duplex mode
  7. MII interface

I am not clear with MAC address configuration. I have configured MAC Address as 2.

If you need any other configuration parameters, please let me know.

Thanks

Priya

Walid ZRELLI
Visitor II
August 25, 2021

Could you please provide the initialization code?

PMohan
PMohanAuthor
Associate
August 25, 2021

Hi

1 Write_PHY_Reg( Phy_port, 0x1F, (RMII_CLK_SEL|HP_MDIX_SEL) );

2 RegValue = ( PHY_KSZ8081_REG_INTRPT_JABBER |

PHY_KSZ8081_REG_INTRPT_RXERR |

PHY_KSZ8081_REG_INTRPT_PGERR |

PHY_KSZ8081_REG_INTRPT_PRLFAULT |

PHY_KSZ8081_REG_INTRPT_LPACK |

PHY_KSZ8081_REG_INTRPT_LINKDOWN |

PHY_KSZ8081_REG_INTRPT_REM_FAULT |

PHY_KSZ8081_REG_INTRPT_LINKUP )

Write_PHY_Reg( Phy_port, 0x1B, &RegValue );

3 Write_PHY_Reg( Phy_port, 0x00, 0x1000 );

4 Read_PHY_Reg( Phy_port, reg_addr, &basic_status_value );

When reading the basic_status_value, it is 0x7849. The link is not established.

Let me know if your query is answered correctly.

Thanks

Priya