1.5 MSP432™ MCUs Digital Peripherals

Welcome to the part number 5 of the MSP432 MCUs training series. In this section, we will take a quick survey at all of the digital peripherals that are available on MSP432. We will start off with various timer resources. We will then cover the serial communication, the digital I/O, and we will finish with DMA.
So first off, with timers, there are quite a few timer resources available in MSP432, each with different feature sets to fit different requirements or different types of applications.
Starting off with Timer A. Timer A is a 16-bit timer available on many existing MSP430 devices. It is also the most flexible timer, essentially, a Swiss Army knife of timer, because it can be configured to be used in many different use cases.
So each Timer A module comes with five caption and compare channels. Each of the channels can be configured in many different counting modes, such as continuous, up, down. And it can also be used in different output modes, such as toggle, set, reset, and so on, so forth.
So all these combinations that I just mentioned, you can leverage any of those across the five channels, across the four instances to, essentially, create and fulfill as many different timer scenarios as possible, such as creating an interval timer, driving multiple PWMs off either the same time base or different time bases, or even having multiple caption and compare input channels. So the Timer A can also be sourced by any high speed as well as low speed clock sources.
Now, moving on to the next two timers, Timer32 and SysTick. These two are the two standard [INAUDIBLE] timer modules. With Timer32, as the name suggests, it is a 32-bit timer. There are two instances of Timer32 on MSP432 and they can be cascaded together. So you can use the Timer32 to, essentially, create any interval with a resolution of up to 32 bits.
Similarly, SysTick can either be used to count the number of CPU ticks or it can also be used to create an interval of up to 24-bit of resolution. So both Timer32 and SysTick must be sourced from a high speed clock source. Typically, that is a mClock.
The MSP432 also includes two low frequency timers, the real-time clock as well as the watchdog timer. So both of these timers can use a 32-kilohertz clock source and they can operate all the way down to LPM3.3 as well as s power mode.
In addition to the primary functions as the RTC and the watchdog, they can also be used as interval timers, which can be really useful for the device to wake up periodically from LPM3.
So all of these timers that we have covered here, they're all capable of generating interrupt, based on their primary functions, and whether that being PWM, capture and compare, or RTC or watchdog, as well as they can also generate interval [INAUDIBLE] generic interval time.
Next, let's take a look at the digital serial communication on MSP432. So the MSP432 includes a eUSCI module. There is the same module available on many existing MSP430 families. Like other peripherals on MSP, such as the Timer A, the eUSCI is also a really flexible peripheral. It can also be called a Swiss Army knife of serial communication, because the same module can be used to drive different communication interfaces, such as I2C, UART, and SPI.
So the eUSCI can be split into two modules, the eUSCI A, which is capable of driving the UART or the SPI communication, and the eUSCI B is capable of driving the SPI and I2C communication.
So starting with UART, the eUSCI can drive multiple flexible UART configurations. It also introduces enhanced baud rate generation as well as baud rate detection.
The SPI communication on MSP432 also supports both three and four-wire modes. And the SPI communication speed can be up to 14 megabits per second.
Lastly, the I2C module on MSP432 can be used at up to 400 kilohertz and even up to 1 megahertz operating speed. We have also enhanced the I2C hardware module to include up to four hardware slave addresses supported with dedicated TX and RX interrupts.
For more information on eUSCI as well as serial communication interfaces on MSP, refer to the existing application notes as well as user guide and software that we have created for various different MSP devices. You can find all of this information at MSPWare. Please follow the link below here.
The MSP432 also features the same ultra low-leakage I/Os that are well-known on MSP430 family of devices. These I/Os are extremely easy to use, highly configurable, and highly interruptable.
The MSP432 devices also enables a capacitive touch function based on the Pin Oscillator feature.
On every single I/O of the device, the digital I/Os also include integrated pull-up and pull-down resistors. There are six ports on a total of 48 pins that are capable of interrupt as well as wake-up functions on the device.
There are also 24 digital I/O pins on the device that are capable of port map function. What this means here is that each of these 24 port pins can be programmed and configured to utilize one of the 30 digital functions available to the device. This can become quite handy when you lay out the application, since you can essentially move any of these 24 pins around to designate any function that you'd like, out of the 30 digital functions.
Last, but not least, also new to MSP432 there are four unique pins available on the device, starting with P2.0 through P2.3. And these four pins have high current drive capability, allowing for each of them to drive up to 20-milliamp current output on each pin. So if you have one of the MSP432 LaunchPads, you can see that the extremely bright RGB LEDs are driven by the high current drive I/Os.
The MSP432 also includes a MicroDMA module that is standardized from [INAUDIBLE]. It is a highly flexible and highly configurable DMA module that allows you to have up to eight DMA channels. You can configure the DMA to transfer in different types, which is basic, auto-request, ping-pong, memory or peripherals, scatter-gather. Moreover, you can also configure anywhere from one to 1,024 transfers in a single DMA access.
So all this configuration and control data [INAUDIBLE] to RAM, and you only need to exercise one driver [? with ?] API call to configure the entire DMA channel.
Another improvement compared to MSP430 devices is that MicroDMA allows each DMA channel to have a programmable priority level. So even at runtime, if you need to escalate the priority of one DMA channel over another, you have the ability to do so with MicroDMA.
Keep in mind that DMA has higher priority access over the CPU. So if they need to share the same accesses, DMA will gain access to the resource before CPU.
Not only providing flexible MicroDMA, the MSP432 also wraps the DMA around the various sources and triggers that are really particular to MSP430 peripheral. As you can see, we have a pretty diverse map of channels and different triggers that can be associated with each channel on MSP432 DMA.
You have a variety of sources, starting with serial communication, UART, SPI, I2C, or ADC timers, ADS, as well as from external pin. This flexibility allows you to use the DMA to create a pretty complex signal chain.
For example, you can configure ADC to sample the signal from an ADC channel, and when that conversion is finished, the DMA can take the value from ADC memory results over to the SPI transmit buffer. Vice versa, you can also configure the DMA to receive the data from a I2C receipt buffer and transfer that directly to memory.
So with that, we have concluded part 5 of the MSP432 MCU training series, where we have covered the different digital peripherals available in MSP432, covered the channel resources, the serial communication with digital I/O as well as the DMA. Thanks for watching.