DMA - USART transfer Peripheral to Peripheral
Hi,
I am experiencing a packet loss issue using Peripheral-to-Peripheral DMA between UARTs.
While Peripheral-to-Peripheral configuration is referenced in the STM32U585's Reference Manual, it is not available in the HAL library. Therefore, the DMA is configured for Peripheral-to-Memory mode, with the destination address set to the UART's Transmit Data Register (TDR). FIFO mode is not used.
The reference setup I am using is based on the B-U585I-IOT02A, where no packet loss occurs.
(MSI Clock)
- USART2_RX → USART3_TX
- USART3_RX → USART2_TX
The packet loss issue occurs on another STM32U5 (u585cit6q) with the same software but different UART configurations.
(HSE Clock)
- USART3_RX to UART4_TX
- UART4_RX to USART3_TX
USART3 is configured to use the RS485 protocol.
The packet loss varies between 0.0025% and 10%, depending on the baud rate, and it is not correlated to an increase in speed.
Is it possible to experience synchronization issues between USART and UART? Can the addition of the RS85 be the source of the issue ?
Regards,
Loïc
