TIDUF98A October   2024  – February 2025

 

  1.   1
  2.   Description
  3.   Resources
  4.   Features
  5.   Applications
  6.   6
  7. 1System Description
    1. 1.1 End Equipment
      1. 1.1.1 Electricity Meter
    2. 1.2 Key System Specifications
  8. 2System Overview
    1. 2.1 Block Diagram
    2. 2.2 Highlighted Products
      1. 2.2.1 ADS131M03
      2. 2.2.2 MSPM0L2228
      3. 2.2.3 THVD1400
      4. 2.2.4 ISO6731
      5. 2.2.5 DRV5032
    3. 2.3 Design Considerations
      1. 2.3.1 Design Hardware Implementation
        1. 2.3.1.1 Analog Inputs
          1. 2.3.1.1.1 Voltage Measurement Analog Front End
          2. 2.3.1.1.2 Current Measurement Analog Front End
      2. 2.3.2 Energy Metrology Software
        1. 2.3.2.1 Software Architecture
        2. 2.3.2.2 Setup
          1. 2.3.2.2.1 Clocking Scheme
          2. 2.3.2.2.2 SPI
          3. 2.3.2.2.3 UART Setup for GUI Communication
          4. 2.3.2.2.4 Real-Time Clock
          5. 2.3.2.2.5 LCD Controller
          6. 2.3.2.2.6 Direct Memory Access
    4. 2.4 Hardware, Software, Testing Requirements, and Test Results
      1. 2.4.1 Required Hardware and Software
        1. 2.4.1.1 Cautions and Warnings
        2. 2.4.1.2 Hardware
          1. 2.4.1.2.1 Connections to the Test Setup
          2. 2.4.1.2.2 Power Supply Options and Jumper Settings
        3. 2.4.1.3 Calibration
      2. 2.4.2 Testing and Results
        1. 2.4.2.1 Test Setup
          1. 2.4.2.1.1 Viewing Metrology Readings and Calibration
            1. 2.4.2.1.1.1 Viewing Results From LCD
            2. 2.4.2.1.1.2 Viewing Results From PC GUI
        2. 2.4.2.2 Electricity Meter Metrology Accuracy Testing
        3. 2.4.2.3 Electricity Meter Metrology Accuracy Results
  9. 3Design Files
    1. 3.1 Schematics
    2. 3.2 Bill of Materials
    3. 3.3 PCB Layout Recommendations
      1. 3.3.1 Layout Prints
    4. 3.4 Altium Project
    5. 3.5 Gerber Files
    6. 3.6 Assembly Drawings
  10. 4Related Documentation
    1. 4.1 Trademarks
  11. 5About the Authors
  12. 6Revision History
Direct Memory Access

The direct memory access (DMA) module supports communication over UART and SPI bus and enables packet transfers from and to MSPM0L2228 with minimal CPU bandwidth load.

Two DMA channels are used for communicating to the ADS131M03 over SPI Bus: DMA Channel 0 is used to send data to the ADS131M03 and DMA Channel 1 is used to simultaneously receive data from the ADS131M03. Once a complete packet has been received from the ADS131M03, a DMA done interrupt is generated and triggers the necessary post-transfer processing, such as CRC verification and data packet disassembly into voltage and current raw ADC values.

DMA Channel 2 is used for UART data reception from the PC GUI, the 14th byte of each DLT-645 packet contains the total packet length sent by the PC GUI (as packet length can change dynamically from packet to packet). The UART data is handled by HAL_startUARTDMAReceive() function, by setting the initial expected DMA length at 14 bytes. After decoding the byte 14, the UART DMA transfer length value gets updated, and now equals the rest of the DLT-645 protocol packet (total length - 14) in bytes. Thus the PC GUI packet can be received with two interrupts in total, as the DMA triggers again at the end of the UART packet.