TIDUF72 August 2024
The MCU DMA module transfers data packets between the MSPM0G1106 MCU and ADS131M02 and AMC131M03 devices with minimal hardware resources and timing overhead over the shared SPI bus. Two DMA channels are utilized for the SPI data transfer: DMA Channel 0 sends SPI data (0x00) to the ADCs and DMA Channel 1 simultaneously receives the measurements data from both ADCs over the shared SPI bus. Once a complete SPI data packet has been received from the first ADC, an DMA Ready interrupt is generated and the CRC16 verification of the data packet starts. After the CRC16 check was successful, the data packet is disassembled into voltage and current values for Phase A. Then the same occurs for the neutral line data from AMC131M03 where only the current value gets processed.
AMC131M03 transfers 15 bytes packets, while ADS131M02 uses 12 bytes packets, due to 3 and 2 analog input channels, respectively. If any of the analog channels are not enabled, the channels can still report data as 0x00 00 00 (in 24-bit format), so the data packet length does not change, regardless how many channels are enabled.