MPC5748G ENET CRC error

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

MPC5748G ENET CRC error

609 Views
zhaowei49
Contributor I

    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 

Labels (1)
0 Kudos
1 Reply

440 Views
martin_kovar
NXP Employee
NXP Employee

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:

pastedImage_1.png

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

0 Kudos