MPC5748G cut 2 (1N81M) USB CDC ACM device receive corrupted data

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

MPC5748G cut 2 (1N81M) USB CDC ACM device receive corrupted data

Jump to solution
551 Views
olmon
Contributor II

Hi,

I am using MPC5748G on a custom board with S32DS_PA. I built a test project to isolate the bug I am writing about. This project is the hello_world_mpc5748g project from SDK 3.0.3 onto which I have added via Processor Expert the USB stack with "USB Function" set to "Device CDC (UART)". My IOs are correctly configured as well, and I simply call virtual_com.c function AppTask () as an echo. No problem on this side.

When running my code on MPC5748G_1N81M I have no problem sending data to the host computer. But when receiving data from the computer, if this data is not of size 4*N, the end of the data gets corrupted in a consistent way.

Size / pattern:
4*N : 4*N(x)
4*N+1 : 4*N(x) + ? + ? + ? + '\0'
4*N+2 : 4*N(x) + ? + ? + '\0' + '\0'
4*N+3 : 4*N(x) + ? + (x) + (x) + '\0'

I've tested the same code without recompiling it on an identical board with MPC5748G cut 3 (0N78S) and have no problem at all, everything is received properly.
I've looked into errata sheets but did not find anything which could cause this behavior.

Is this a known problem? Is there a workaround to run the CDC device on MPC5748G_1N81M without problems?

Thanks in advance!

 

Olivier Monoy

1 Solution
535 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @olmon 

This is known issue mentioned in the SDK 3.0.3 Release Notes document:

 

c:\NXP\S32DS_Power_v2.1\S32DS\software\S32_SDK_S32PA_RTM_3.0.3\S32_SDK_for_Power_Architecture_RTM_3_0_3_Release_Notes.pdf

 

“usb_cdc_lwip_mpc5748g is not supported on MPC5748G DEVKIT Rev.D1”

 

Well, this is not very clear but D1 revision uses 0N78S silicon mask set.

 

User manual is then more precise:

 

c:\NXP\S32DS_Power_v2.1\S32DS\software\S32_SDK_S32PA_RTM_3.0.3\doc\S32SDK_MPC5748G_UserManual.pdf

 

Description of example “USB MSD FATFS MPC5748G” and “USB CDC LWIP MPC5748G”:

 

“The processor's version has be at least cut3.0: 0N78S.”

 

So, we recommend to use latest version 0N78S. Older 1N81M is supposed to be used only for existing projects that were developed before the 0N78S was available.

Regards,

Lukas

View solution in original post

3 Replies
536 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi @olmon 

This is known issue mentioned in the SDK 3.0.3 Release Notes document:

 

c:\NXP\S32DS_Power_v2.1\S32DS\software\S32_SDK_S32PA_RTM_3.0.3\S32_SDK_for_Power_Architecture_RTM_3_0_3_Release_Notes.pdf

 

“usb_cdc_lwip_mpc5748g is not supported on MPC5748G DEVKIT Rev.D1”

 

Well, this is not very clear but D1 revision uses 0N78S silicon mask set.

 

User manual is then more precise:

 

c:\NXP\S32DS_Power_v2.1\S32DS\software\S32_SDK_S32PA_RTM_3.0.3\doc\S32SDK_MPC5748G_UserManual.pdf

 

Description of example “USB MSD FATFS MPC5748G” and “USB CDC LWIP MPC5748G”:

 

“The processor's version has be at least cut3.0: 0N78S.”

 

So, we recommend to use latest version 0N78S. Older 1N81M is supposed to be used only for existing projects that were developed before the 0N78S was available.

Regards,

Lukas

307 Views
olmon
Contributor II
Hi @lukaszadrapa ,

Thanks a lot for your answer, I'm making sure I get a cut 3 to solve reliably my problem.

I'm still puzzled by the Rev.D1 I can't find any reference of it outside the Release Notes, is it different from Rev.D ? Because if it is the same it seems like the Release Notes say CDC is not supported on cut 3 while the User Manual and the USB Release Notes say CDC is supported by cut 3.

Regards,
Olivier Monoy
0 Kudos
286 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

It seems the sentence in the release notes file is completely wrong.

I checked available information about the DEVKIT revisions and the only difference is related to C15 capacitor. It has nothing to do with the USB. The D and D1 schematic revisions are exactly the same. I confirmed that also the same layout is used for both boards.

So please do not take the note in the release notes into account. The user manual is obviously correct in this case - use cut 3 / 0N78S.

Regards,

Lukas