This reference design can be powered by connecting
3.3V and GND to the board connector J8.
The MSPM0G1106
device provides the minimum resources for running the metrology library and has the
required peripherals to interface to the standalone ADCs and the PC GUI.
The required MCU peripheral modules are:
- HF Clocking subsystem using
external XTAL
- SPI with DMA (data transfer
between stand-alone ADCs and MSPM0 MCU)
- SPI for external SPI flash memory
device
- UART with DMA (data transfer between external PC GUI and MSPM0 MCU for
calibration and metrology values read out)
- GPIOs (inputs with interrupts or
outputs for LEDs and ADCs control)
- I2C for TMAG5273 interface
- RTC (calendar mode based off
32.768kHz from internal LFOSC)
All the above peripherals or MCU modules are
configured through the TIDA-010944.syscfg
file in the MSPM0-SDK middleware, utilizing the graphical SysConfig tool,
which enables intuitive MCU configuration changes over a GUI interface.
- The M0+ clocking scheme is derived from the external 16.384MHz XTAL, which is feeding the PLL
module and is being multiplied and divided with specific factors to generate the
MCLK frequency (the CPU clock speed) of 79.87MHz. The same external 16.384MHz
XTAL is divided by 2 and output to a GPIO pin with high-drive capability to
create the 8.192MHz output frequency for M0_CLKOUT.
- The SPI bus is shared between both ADCs and the MCU features an SPI controller with two separate CS (Chip Select) lines, one of each connecting to an ADC. The SPI bus runs at 19.968 or 13,312MHz data rate with DMA support using two channels, one for transmit and one for receive. The SPI PICO and POCI data lines are shared, as these are driven sequentially with only one CS line active at a time. The SPI clock from the M0+ MCU SPI peripheral is wired to both ADCs.
- The MSPM0G1106 is configured to communicate to
the PC GUI through a non-isolated UART connection at maximum 115,200 baud with
8N1. The UART driver supports a bidirectional transfer (two DMA channels are
used, one for transmit and one for receive) with a minimum MCU interrupt
load.
- The two DRDY lines (one from each ADC) are wired to two GPIO inputs of MSPM0+ MCU with interrupt enabled on the falling edge. Three MCU GPIO outputs are needed: the SYNC_RESET line to trigger all ADCs simultaneously, which is shared by all ADCs, and ACT and REACT outputs. These pulsed outputs are for the Active and Reactive energy, being calculated by the metrology middleware and are used to measure the TIDA-01044 accuracy using an external test system, which reads the pulses.
- An I2C interface is used to connect the TMAG5273 3D-Hall sensor device, with the MCU being the I2C transmitter.
- The RTC module supports calendar mode, which is a common requirement for an electricity meter. The M0+ MCU internal 32.768kHz LFOSC is used as the clock source for the auxiliary clock (RTCCLK) of the device.
- Due to the need to have a synchronous clock to both ADCs, the CLKIN signals are wired to the
8.192MHz M0_CLKOUT output pin.