cancel
Showing results for 
Search instead for 
Did you mean: 

Ethernet frames get corrupted on custom board

isaquesuzuki
Associate II
Posted on August 28, 2014 at 20:09

Hello everyone, 

I'm using:

- STM32CubeMX version 4.3.0

- uVision version 5.11.1.0

- ST-LINK/V2 SWD mode

- custom board described below

I have designed a custom board with a STM32F207VET6 microcontroller and a 3-port switch KSZ8873MLL from Micrel. Port 1 and 2 are connected to magnetics and RJ-45 receptacles. Port 3 is connected to STM32 in PHY-mode using MII.

After connecting my board to PC and changing some lines to adjust to my board, I had no data received. So I changed some bits in MAC and DMA configuration:

Enabled  MAC ETH_RECEIVEALL

Disabled ETH_DROPTCPIPCHECKSUMERRORFRAME

Disabled ETH_RECEIVESTOREFORWARD

But all packets received were missing its 11 first bytes (destination address and 5 bytes of source address). The first byte received is always the 6th byte of source address. Also, in the DMA description structure, the lenght reflect these missing bytes. And some bits inside the frame are corrupted too.

Using an oscilloscope and logic analyser I've checked the MII bus, but all frames seem to be alright. The signal integrity also seems to be ok. Wireshark confirmed the data.

I can send all files, images, block diagrams, schematics and pcb. Also, I can set up a TeamViewer session to debug and see the osciloscope.

Thanks,

Isaque

#stm32f207-ethernet-mii
1 REPLY 1
isaquesuzuki
Associate II
Posted on August 29, 2014 at 19:41

Solved! I just swapped RXD0 and RXD1.