cancel
Showing results for 
Search instead for 
Did you mean: 

UART/RS485 Issue on STM32H753ZI: AX-12 Works, but MX-Series Fails (Suspecting MPU/Cache interference)

james5
Visitor

Hello

I am currently developing a quadruped robot using a NUCLEO-H753ZI. My setup involves a mix of Dynamixel AX-12+ (UART3, 1Mbps, Protocol 1.0) and MX-series motors (UART6, 2Mbps, Protocol 2.0) using an SN74LS241N transceiver.

The Problem:

UART3 (AX-12): Works perfectly at 1Mbps. This confirms my basic transceiver logic and wiring are functional.

UART6 (MX-Series): No response at all. I’ve tried downgrading the MX motors to 1Mbps and using Protocol 1.0 to match the AX-12, but still nothing.

Technical Context & MPU Setup: To provide more context, I have implemented an MPU configuration primarily to handle IMU sensor data via DMA. I wanted to ensure cache coherency for the IMU data buffers.

However, I am now concerned that this MPU/Cache setup might be interfering with my UART6 communication. Since the MX motors on UART6 require much higher timing precision (especially at 2Mbps), I suspect the D-Cache or MPU regions might be causing issues with the UART TX buffers, even though I'm currently using Polling (HAL_UART_Transmit).

What I’ve tried so far:

Baud Rate: Tested MX-series at both 2Mbps and 1Mbps.

Timing: Added a wait loop for UART_FLAG_TC before toggling the Direction Pin (PC8).

MPU: Configured specific memory regions as Non-Cacheable/Shared to avoid stale data.

My Questions:

Is there a known reason why UART3 would work fine while UART6 fails under the same MPU/Cache logic on the H7?

Could the Bus Matrix or Domain differences (D1 vs D2) between UART3 and UART6 be playing a role here?

Does my MPU_Config() (see attached main.c) look appropriate for a system handling both high-speed IMU DMA and UART RS485?

I’ve attached my main.c (including MPU_Config), usart.c, and the DXL driver. I would really appreciate any insights or pointers on H7-specific UART pitfalls.

Thank you in advance!

1 REPLY 1
james5
Visitor

james5_1-1769578271424.png

I'm adding the Clock Configuration screenshot that I missed in the original post