# TI MSP432

The MSP432 is a mixed-signal microcontroller family from Texas Instruments. It is based on a 32-bit ARM Cortex-M4F CPU, and extends their 16-bit MSP430 line, with a larger address space for code and data, and faster integer and floating point calculation than the MSP430. Like the MSP430, it has a number of built-in peripheral devices, and is designed for low power requirements. In 2021, TI confirmed that the MSP432 has been discontinued and "there will be no new MSP432 products".

## Comparison to MSP430/MSP430X

Modern embedded computing requires large amounts of data and code, and often calls for floating point calculations. The MSP430's 16-bit architecture was already once extended to 20 bits (MSP430X) to accommodate those needs, but the resulting 1 MB limit is still too small, and the instruction set extensions slow down the code execution. Furthermore, MSP430 architecture does not include a hardware floating point unit. IEEE754 floating point computations are emulated in software using integer arithmetic on its native 16-bit data, and are quite slow.
The ARM Cortex-M4F architecture used in the MSP432 line allows up to 4 GB of unified program/data/peripheral memory, and has a built-in single precision IEEE754-compatible Floating Point Unit.
Comparison of MSP430 and MSP432 :
| | MSP430 | MSP430X | MSP432 |
| Address space | 16 bits | 20 bits | 32 bits |
| Memory address space | 64 KB | 1 MB | 4 GB |
| Clock speed | 25 MHz | 25 MHz | 48 MHz |
| Floating Point | None | None | IEEE754 32-bit FPU |
| Typical Dhrystone 2.1 (DMIPS/MHz) | 0.288 | 0.288 | 1.196 |
| ULPBench low power score | 120 | 120 | 167.4 |
The peripherals in MSP432 are similar to those in MSP430, and there is a built-in ROM driver library that facilitates software reuse.
Differences from MSP430 include:
* redesigned interrupt mechanism, using Nested Vectored Interrupt Controller (NVIC)
* improved resolution (14-bit) and speed (1 MSPS) ADC
* redesigned uDMA engine
* ARM-specific SysTick and Timer32 timer/counter blocks

## Relationship to other TI ARM Cortex-M devices

The MSP432 is similar to the Stellaris LM4F120 and Tiva-C TM4C123 parts previously available from TI. The MSP432 is slightly slower, cheaper and uses significantly less power, and tends to have less of the sophisticated peripherals such as wide 32/64-bit timer units, or the quadrature encoder blocks. In fall of 2017 TI expanded the family with higher performance parts containing Ethernet, USB, CAN and SPI peripherals.
In 2017 the Tiva TM4C129 was rebranded as the MSP432 "E-series" but with added features including: AES Module, SHA/MD5 Module, DES Module.
Several new subsystems were introduced in MSP432:
* Port Mapping Controller (PMAP) maps built-in peripherals to physical pins
* Power Control Manager (PCM) switches between full speed and low power modes (LPM 0, 3, 3.5, 4 and 4.5).
* AES and CRC hardware accelerator

## MSP432 devices

The MSP432 devices are named similarly to those of the MSP430. For instance MSP432P401RIPZT consists of the following pieces:
* MSP432: Standard prefix.
* P: Indicates a Performance and Low Power series device. 'E' denotes parts with built-in communication interfaces such as Ethernet, USB, CAN and SPI; those parts have a significantly higher power envelope.
* 4: First digit '4' indicates a flash 48 MHz device.
* 0: Second digit '0' indicates a General Purpose class, '1' has expanded peripherals such as an LCD controller.
* 1: Third digit '1' denotes peripheral configuration including 1 MHz 14-bit ADC.
* R: Fourth digit 'R' indicates 256 KB of Flash and 64 KB of SRAM, whereas 'M' indicates 128 KB of Flash and 32 KB of SRAM, 'V' means 512 KB Flash and 128 KB SRAM, 'Y' means 1024 KB Flash and 256 KB SRAM, and '1' denotes 2048 KB Flash and 256 KB SRAM.
* T: following the 4xxx model designator seems to denote lower clock version (typically 24 MHz) that has lower overall power consumption but higher leakage
* I: Temperature range: S = 0...50 °C, I = -40...85 °C, T = –40..105 °C.
* PZ: Packaging code
* T: Distribution format: small reel

### MSP432P4xx

The first released MSP432 general purpose chip family, expanded in fall of 2017:
* up to 2048 KB flash memory
* up to 48 MHz system clock, programmable for speed/power tradeoff
* 1.62–3.7V supply voltage
* 90 uA/MHz active power and 850nA RTC operation
* 14-bit 1 MSPS differential SAR ADC with internal voltage reference
* two analog comparators
* up to four 16-bit timers w/PWM
* real-time clock/calendar
* serial UART/IrDA/SPI/i2c
* 48 GPIO pins, some with interrupt/wake-up, glitch filtering, and high current drive
* DSP and AES256 accelerator with 128-, 192- and 256-bit AES and 32-bit CRC
* JTAG and two-pin SWD debug interface with Serial Wire Trace and power debug and profiling

### MSP432E4xx

* up to 1024 KB flash memory and 256 KB SRAM, 6 KB EEPROM
* up to 120 MHz system clock
* 2.9–3.6 V supply voltage
* 360 uA/MHz active power and 1.29uA in hibernate RTC mode
* up to 90 GPIO pins in 15 blocks with some supporting fast-toggle operation, all supporting interrupt, some support wake-up from hibernate
* USB host, device and OTG peripheral
* Ethernet with 100 Mbit/s support using either internal or external PHY, internal PHY supports IEEE 1588 PTP
* External Peripheral Interface for SDRAM support, with 8/16/32-bit bus width support up to 150 MB/sec
* two 12-bit SAR ADC supporting up to 2 MSPS and internal or external voltage reference
* three analog comparators
* 16 digital comparators
* up to ten I2C interfaces
* up to two CAN 2.0A, 2.0B interfaces
* up to four SSI (SPI) interfaces supporting bi- or quad-SSI operation
* up to eight UART interfaces
* DSP and AES256 accelerator with 128-, 192- and 256-bit AES and 32-bit CRC along with DES w/ 168-bit key length, SHA-1, SHA-2 and MD5 hashing
* four tamper detect inputs
* one quadrature encoder input peripheral and up to 8 PWM outputs
* real-time clock/calendar
* JTAG and two-pin SWD debug interface with Serial Wire Trace and power debug and profiling

## Hardware development platforms
### MSP-EXP432P401R Launchpad

This Launchpad board is compatible with a suite of MSP430 stackable BoosterPacks, including the low-power SimpleLink Wi-Fi CC3100 BoosterPack. It includes a USB debugging interface that can be connected directly to the development workstation.

### MSP-EXP432P4111 Launchpad

Similar to the P401R launchpad, this supports a larger chip with 2 MB flash, 256 KB SRAM and also has a 320-segment LCD display leveraging the chip's LCD_F peripheral.

### MSP-EXP432E401Y Launchpad

This is a long development board with two sets of BoosterPack headers and onboard Ethernet jack. It also supports USB OTG applications with a second USB port near the Ethernet jack (distinct from the USB debugging port).

### MSP-TS432PZ100 target board

This is a higher cost development board with a 100-pin LQFP ZIF socket used by initial MSP432 chips, and a JTAG and Spy Bi-Wire debug interfaces.