I have a question about MPC5748G ENET.
Hardware : DEVKIT-5748G board
Development software tool : S32 Design Studio for Power
question :
I have two board of DEVKIT-5748G .Use as Enet sending and receiving .One is use as sending UDP protocol and the other use as receiving .The project is a little change from example enet _rmii_udp project。
But I found that the rxbd [0][stauts8]=0x4030 , it is ip header checksum error and protocol checksum error . why is these ?
An other question is FCS is always zero ? I think MAC should generate the FCS in autonomous ,do it ?
And after the FCS , it have unexpected foure byte data.
Please help .
Below are register contents of rxbd[1] and (rxbd[1]).data that copy from the receiving side.
Appendix is sending project ( receiving project is same but only mask sending .)
rxbd[1] eNBUF {...}
status0 uint16_t 10240
length uint16_t 60
data uint8_t * 0x40000740 <RxBuffer+1536>
status8 uint16_t 384
statusA uint16_t 16432
statusC uint16_t 0
statusE uint16_t 0
status10 uint16_t 32768
dummy12 uint16_t 0
timestamp uint32_t 0
dummy18 uint16_t 0
dummy1A uint16_t 0
dumym1C uint16_t 0
dummy1E uint16_t 0
(rxbd[1]).data : 0x40000740 <Hex>
Address 0 - 3 4 - 7 8 - B C - F
40000740 54EE757A D0890004 9F220EB0 08004500
40000750 0030F54F 00008011 FBE7C0A8 6405C0A8
40000760 642F07D1 30390018 C064B0B1 B2B3B4B5
40000770 B6B7B8B9 BABBBCBD BEBF0000 BABBBCBD
40000780 00000000 00000000 00000000 00000000
40000790 00000000 00000000 00000000 00000000
400007A0 00000000 00000000 00000000 00000000
400007B0 00000000 00000000 00000000 00000000
400007C0 00000000 00000000 00000000 00000000
400007D0 00000000 00000000 00000000 00000000
400007E0 00000000 00000000 00000000 00000000
400007F0 00000000 00000000 00000000 00000000
40000800 00000000 00000000 00000000 00000000
40000810 00000000 00000000 00000000 00000000
40000820 00000000 00000000 00000000 00000000
40000830 00000000 00000000 00000000 00000000
Hello,
I connected DEVKIT MPC5748G with PC and loaded your project into microcontroler. I removed conditional translation and I am using your function ENET_UDP_Tx.
After I send UDP datagram using this function and capture it using Wireshark in my computer, I can see following:
According to the figure above, it seems, there is incorrect UDP header. I can see there is source and destination port, length, but there is no checksum in your UDP header. From my point of view, this could be the reason, why protocol CRC error occurs.
But I cannot see IPv4 header checksum error. Wireshark calculates the same IPv4 header checksum as is calculated by microcontroller.
About FCS, this value is not shown by wireshark by default, I have not found way, how to show it.
So, first of all, please try to fix UDP header, maybe this can resolve your issue, or at least it removes problem with protocol CRC error.
Regards,
Martin