How to leverage the flexibility of an integrated ADC in an MCU for your design to outshine your competitor – part 2


In my recent posts, we’ve explored how to increase ADC performance by oversampling a precision analog-to-digital converter (ADC) integrated into an MCU and discussed the key performance features that provide flexibility to your design. 

Today, I will focus on the ease-of-use- features of the MSP432P401R MCU’s precision ADC which offers the flexibility to customize for your application:

  • Ease-of-use features:
    • Choice of sample and conversion modes
    • Block process w/ DMA
    • Internal temperature sensor
    • Internal battery monitor
    • Window comparator
    • Interrupts

While utilizing the flexibility means the user needs to spend time to understand the features, some features are implemented to increase ease of use so there is pay back. 

Sample modes

The different sample modes support different application needs. The Precision ADC can either be triggered by the SC bit or triggered with an on chip timer. Then, pulse sample mode allows ADC14SHT bits to control the number of clocks for the sample period. Or in extended sample mode the sample time is the duration of the sample trigger (such as on chip timer) being asserted. 

Conversion modes

Four modes conversion modes are offered to allow ADC to run without user input being required between multiple conversions.

There are thirty-two different ADC14MCTLx registers available to program a sequence of up-to 32 channels that get converted along with each ADC14MCTLx register being able to select the input channel to convert, single-ended or differential input mode, the reference to use, REF, and if a window comparator should be used along with whether to use threshold 0 or 1. User selects which ADCMCTLx register is the last one to be converted with the ADC14EOS bit or in case of repeat sequence of channels conversions continue until ADC14ENC bit is set to 0.

The flexibly of configuring a conversion sequence with each ADC12MCTLx register being able to independently select the input channel and its needs is great for applications using multiple input sensors with different needs such as fitness trackers where an accelerometer needs roughly 20 samples per second per axis but a temperature sensor only needs one to two samples per second.

The quickness of a sequence of conversions to take multiple back to back samples, in addition to the fast sample rate of the ADC, allows some applications such as test and measurement to use Precision ADC  for pseudo simultaneous samples.

   

Block processing with DMA

When ADC data needs to be processed in larger blocks than the 32 memory registers allow, the user can do block processing by utilizing the DMA to transfer data from the ADC memory registers. Using an interrupt to signal when data needs to be transferred from the ADC memory registers ADC14MEMx, the interrupt routine can request the DMA to transfer that data. Then, MCU can processor once DMA has transferred enough data.

Internal temperature sensor

Internal temperature sensor is available as an internal input to the ADC for user convenience.

Internal battery monitor

Internal battery monitor is available as an internal input to the ADC for user convenience. It can be setup with the window comparator to use an interrupt to alert when the battery reaches a certain threshold. Thus, no processor bandwidth needs to be used to constantly check the battery voltage of the ADC converted value.

Window comparator

A window comparator for low power monitoring of input signals of conversion-result registers is available. If window comparator is enabled in the ADC14MCTLx register, it checks for the converted result, which can be above ADC14HI, below ADC14LO, or within the two user programmed threshold and sets the corresponding interrupts. There are two sets of ADC14HI and ADC14LO registers to allow for different sets of thresholds for the different channels. The window comparator is a great way to be notified when the signal is in a range you care about and then adjust frequency and/or resolution of measurement to save power.

For example, for sound detection, such as glass breaking, Precision ADC could be in 8-bit mode with window comparator looking for it to cross over a threshold to signal if a sound is made. When that happens, the ADC could switch to a higher resolution mode to do processing on that sound signal to determine if it was glass break. This application level partitioning of ADC performance needs is used to minimize energy used.

Interrupts

Each ADC14MEMx register has its own interrupt which along with the four conversion modes gives the user flexibility to not have to constantly monitor the ADC waiting for the converted result. The window comparator interrupts also offer the ability to monitor the value of the conversion register and then react when it gets in the desired range.

To get started, order our easy-to-use MSP432 MCU LaunchPad™ development kit.

If leveraging the precision ADCs flexibility to optimize the power for your application is interesting – stay tuned for the next blog in this series where I will discuss low-power for Precision ADC on MSP432 MCU!

Keep reading! Check out the rest of the posts in this series about  integrated precision ADC:

Additional resources

  • Read the MSP432 MCU TRM for more details on all the Precision ADC features: SLAU356.
  • Learn more about MSP432 MCUs.