I've got a board based on the LPC55S69 that currently has an Ethernet interface that carries around 800 kbps of data (in either direction, but the bidirectional total should remain about the same.) A customer wants to see if we can eliminate the Ethernet interface and run the network traffic over the USB connection instead.
I've set up PPP over USB CDC using the MCUX SDK's VCOM driver on the USB0 full-speed interface. it mostly works but it's seeing some packet loss under load. My question is what kind of throughput should be achievable with CDC using the LPC55S69 and the MCUX driver?
In particular I'd like to know if the CDC driver has been optimized for performance or if it's designed for minimal complexity. I'm trying to avoid switching to the high-speed USB interface because it's going to introduce more clocking complexity. If the CDC driver can achieve something reasonably close to the theoretical limit then I should be fine with FS.
Thanks,
Scott
Hi @scottm
Theoretically, USB Full Speed should meet the requirements of the customer's application.
The current CDC driver and demo are not performance-optimized.
In case of packet loss under high load conditions, consider increasing the buffer size as a potential workaround.
BR
Alice
Hi Alice,
Sorry for the slow reply, apparently email notifications are getting flagged as spam.
My concern was that at first glance it looked like the CDC driver was only taking one 64-byte packet per transfer but now that I've looked closer I think it's OK and the inefficiency is only going to be in the slack between transfers. For high-speed USB that's a bigger concern since there are only 3 512-byte USB packets for every Ethernet MTU but for FS I don't think it matters as much.
I rewrote the VCOM demo years ago and I don't remember what the original even looked like at this point. My version does have room for improvement to keep from blocking the lwIP task, though. I'm sending bursts of 6 RTP packets so if I can buffer all 6 it should help keep things moving smoothly.
I opened a ticket about the CDC ECM driver that appeared in the SDK and I'm still hoping for some documentation on that - ECM would be a cleaner solution than PPP in the long run.
Thanks,
Scott
Hello @scottm
Thanks for sharing.
I’ve submitted a request to the SDK team regarding the CDC EDM document issue. I’ll provide you with any updates once I’m back from vacation.
I’ll be on public holiday from September 30 to October 8. During this period, if you encounter any issues, please feel free to create a new ticket—my colleagues will help you. I’ll also continue supporting you once I’m back. I apologize for any inconvenience this may cause and appreciate your understanding.
BR
Alice