Advanced Serial Communications in an RTOS Environment
This workshop marks the conclusion of our trilogy on the serial interface, building upon the insights shared in the last two Embedded Online Conferences. In this session, we will explore an advanced Direct Memory Access (DMA) technique that transforms the traditional character-based serial interface into a variable-length, packet-oriented one, similar to Ethernet. This powerful approach opens up new possibilities for reducing the complexity of software required for command handling and file transfers.
We will start by examining the theoretical foundations of this DMA technique, discussing its implementation for managing data packets of varying lengths. Following this, we will demonstrate practical applications through live coding on an STM32 Nucleo board. You will witness firsthand how this transformation simplifies the development of software for command handling and file transfer. By the end of the workshop, you will have a clear understanding of how to apply these concepts to your own projects to enhance the robustness and efficiency of your embedded systems.
Join us for this comprehensive session, where theory meets practice, and elevate your understanding of serial interfaces to the next level.
What is the main reason Peifang Zhou recommends using DMA with idle-line detection and chained buffers for a serial interface?
Glad to hear that you're planning to enhance your design based on insights from the workshop! As demonstrated during the session, using DMA with idle line detection is a robust approach for handling variable-length packets. This is particularly important since text-based commands can vary in length, and in binary file transfers, the final packet often differs in size from the others. Best of luck with your implementation!
Were there going to be materials from the talk made available? Great talk! Thank you so much!!
The workshop files are now available and can be found in left column under 'Files Provided by the Speaker'
Thank you so much for your kind words—I'm really glad you enjoyed the talk! I've shared the workshop materials with Stephane/Jacob, and they’ll be uploading them to the website soon. Thanks again for attending!




Sir Peifang, thank you for presentation and persevering the technical issues on the live stream. The packet and DMA based transfer is useful for may applications especially if the packets are uniform in size - but there are some challenges if packets are variable length. I've implemented I2C based PMBus for a power supply communications, similar to UART but using variable length packets. I can see how I'd be able to modify this idea to add DMA support.