2016-11-02 01:57 AM
Hi all,
I am trying to implement ethernet interface on my custom board. I've already do some test and there is some progress. First of all, I add these files for catch up you: my schematic (in attach), code (eth.c and .h files in attach) and phy registers:In main: while(1){
/* check if any packet received */
if (ETH_CheckFrameReceived())
{
// process received ethernet packet
LwIP_Pkt_Handle();
}
// handle periodic timers for LwIP
LwIP_Periodic_Handle(HAL_GetTick());
}
After configuration, I am reading these PHY reg values:From Phy reg &sharp0-Full duplex-Speed: 10MbpsFrom Phy reg &sharp1- No T4 ability- 100BASE-TX with full duplex- 100BASE-TX with half duplex- 10BASE-T with full duplex- 10BASE-T with half duplex- PHY not able to perform full duplex 100BASE-T2- PHY not able to perform half duplex 100BASE-T2- auto-negotiate process completed- no remote fault- able to perform auto-negotiation function- link is upI never get ETH_IRQn interrupt. I not see my dedicated IP adress on PC, and DHCP is not working (after dedicated time in code - 60 sec, static address is used). All lwpip and tcpip libraries are only adjusted to hal librariers.I am using tplin rourter to indicate if I have any device connected, but I see only my pc connected. Any ideas here? Thanks for your time and answers. #stm32f429-lan8720a-cp-ethernet
2016-11-02 11:39 PM
Hi again, anyone can help me? I know it's hard to debug ethernet connection, but it's necessary for my project.
I think its a software problem, because I see link up/down when i plug/unplug ethernet cable.I can see, that in peripheral ETHERNET_DMA, register DAMFBOCR first 16 bits are changing value (most of times its it not reach more than 0x20) which indicates, that I am geting frames but missing, not taking them with my controller.Thanks for answers!