The ADC-based acquisition process implemented in this reference design heavily uses the hardware capabilities of the USS module in the MSP430FR6043 MCU, including pulse generation and the high-speed sigma-delta ADC, to completely automate the sampling process. This process not only provides tighter control of the sampling process without dependencies on CPU latencies and compilers, but it also reduces the power consumption, because the CPU is in low-power mode 3 (LPM3) during the measurement.
Figure 3-4 shows a timing diagram of the signal acquisition process. The signal acquisition steps are:
- At the start of the process (t0), the device initializes the USS module that is running off the internal clock derived from USSXT and triggers the start of pulse generation.
- The CPU goes into LPM0 low-power mode after starting the USS module, waiting for the measurement sequence to complete. This sequence also includes signal acquisition by the high-speed sigma-delta ADC, and the captured data is stored in the RAM shared between the CPU and LEA module.
- After the last sample, the USS module automatically wakes up the CPU through an interrupt mechanism.
- The CPU prepares to go into LPM3 mode at the end of conversion time (tEoC).
- After a specified UPS-DNS gap (tUPS-DNS-GAP), the CPU starts the USS module to process the other (DNS) channels. The CPU goes into LPM0 mode waiting for the DNS samples and measurement.
- After the last sample is received for the DNS, the USS module automatically wakes up the CPU through an interrupt mechanism.
- The CPU processes the data and obtains the delta time of flight (DTOF) and absolute time of flight (AbsToF) for both the DNS and UPS channels, and the volume flow rate (VFR). After processing is complete, the CPU goes into LPM3 mode for the duration of tDNS-UPS-GAP, which is the gap between the end of the current measurement and the start of the next measurement.