Princeton University Library Catalog

Embedded systems design with the Texas Instruments MSP432 32-bit processor / Dung Dang, Daniel J. Pack, Steven F. Barrett.

Author:
Dang, Dung [Browse]
Format:
Book
Language:
English
Published/​Created:
[San Rafael, California] : Morgan & Claypool, 2017.
Description:
1 online resource (xxvii, 545 pages) : illustrations.
Series:
  • Synthesis digital library of engineering and computer science. [More in this series]
  • Synthesis lectures on digital circuits and systems ; # 51. [More in this series]
  • Synthesis lectures on digital circuits and systems, 1932-3174 ; # 51
Summary note:
This book provides a thorough introduction to the Texas Instruments MPS432 TM microcontroller. The MPS432 is a 32-bit processor with the ARM Cortex M4F architecture and a built-in floating point unit. At the core, the MSP432 features a 32-bit ARM Cortex-M4F CPU, a RISC architecture processing unit that includes a built-in DSP engine and a floating point unit. As an extension of the ultra-low-power MSP microcontroller family, the MSP432 features ultra-low power consumption and integrated digital and analog hardware peripherals. The MSP432 is a new member to the MSP family. It provides for a seamless transition to applications requiring 32-bit processing at an operating frequency of up to 48 MHz. The processor may be programmed at a variety of levels with different programming languages including the user-friendly Energia rapid prototyping platform, in assembly language, and in C. A number of C programming options are also available to developers, starting with register-level access code where developers can directly configure the device's registers, to Driver Library, which provides a standardized set of application program interfaces (APIs) that enable software developers to quickly manipulate various peripherals available on the device. Even higher abstraction layers are also available, such as the extremely user-friendly Energia platform, that enables even beginners to quickly prototype an application on MSP432. The MSP432 LaunchPad is supported by a host of technical data, application notes, training modules, and software examples. All are encapsulated inside one handy package called MSPWare, available as both a stand-alone download package as well as on the TI Cloud development site: dev.ti.com The features of the MSP432 may be extended with a full line of BoosterPack plug-in modules. The MSP432 is also supported by a variety of third party modular sensors and software compiler companies. In the back, a thorough introduction to the MPS432 line of microcontrollers, programming techniques, and interface concepts are provided along with considerable tutorial information with many illustrated examples. Each chapter provides laboratory exercises to apply what has been presented in the chapter. The book is intended for an upper level undergraduate course in microcontrollers or mechatronics but may also be used as a reference for capstone design projects. Practicing engineers already familiar with another microcontroller, who require a quick tutorial on the microcontroller, will also find this book very useful. Finally, middle school and high school students will find the MSP432 highly approachable via the Energia rapid prototyping system.
Notes:
Part of: Synthesis digital library of engineering and computer science.
Bibliographic references:
Includes bibliographical references and index.
Source of description:
Title from PDF title page (viewed on November 8, 2016).
Contents:
  • 1. Introduction to microcontrollers and the MSP432 -- 1.1 Overview -- 1.2 Background theory: a brief history and terminology -- 1.3 Microcontroller systems -- 1.4 Why the Texas Instruments MSP432? -- 1.4.1 MSP432 part numbering system -- 1.5 MSP-EXP432P401R LaunchPad -- 1.6 BoosterPacks -- 1.7 Software development tools -- 1.8 Laboratory exercise: getting acquainted with hardware and software development tools -- 1.9 Summary -- 1.10 References and further reading -- 1.11 Chapter problems --
  • 2. A brief introduction to programming -- 2.1 Overview -- 2.2 Energia -- 2.3 Energia quickstart -- 2.4 Energia development environment -- 2.4.1 Energia IDE overview -- 2.4.2 Sketchbook concept -- 2.4.3 Energia software, libraries, and language references -- 2.5 Energia pin assignments -- 2.6 Writing an Energia sketch -- 2.6.1 Control algorithm for the Dagu Magician Robot -- 2.7 Some additional comments on Energia -- 2.8 Programming in C -- 2.9 Anatomy of a program -- 2.9.1 Comments -- 2.9.2 Include files -- 2.9.3 Functions -- 2.9.4 Port configuration -- 2.9.5 Program constants -- 2.9.6 Interrupt handler definitions -- 2.9.7 Variables -- 2.9.8 Main program -- 2.10 Fundamental programming concepts -- 2.10.1 Operators -- 2.10.2 Programming constructs -- 2.10.3 Decision processing -- 2.11 Laboratory exercise: getting acquainted with energia and C -- 2.12 Summary -- 2.13 References and further reading -- 2.14 Chapter problems --
  • 3. MSP432 operating parameters and interfacing -- 3.1 Overview -- 3.2 Operating parameters -- 3.2.1 MSP432 3.3 VDC operation -- 3.2.2 Compatible 3.3 VDC logic families -- 3.2.3 Microcontroller operation at 5.0 VDC -- 3.2.4 Interfacing 3.3 VDC logic devices with 5.0 VDC logic families -- 3.3 Input devices -- 3.3.1 Switches -- 3.3.2 Switch debouncing -- 3.3.3 Keypads -- 3.3.4 Sensors -- 3.3.5 Transducer interface design (TID) circuit -- 3.3.6 Operational amplifiers -- 3.4 Output devices -- 3.4.1 Light emitting diodes (LEDs) -- 3.4.2 Seven segment LED displays -- 3.4.3 Tri-state LED indicator -- 3.4.4 Dot matrix display -- 3.4.5 Liquid crystal display (LCD) -- 3.5 High power DC interfaces -- 3.5.1 DC motor interface, speed, and direction control -- 3.5.2 DC solenoid control -- 3.5.3 Stepper motor control -- 3.5.4 Optical isolation -- 3.6 Interfacing to miscellaneous DC devices -- 3.6.1 Sonalerts, beepers, buzzers -- 3.6.2 Vibrating motor -- 3.6.3 DC fan -- 3.6.4 Bilge pump -- 3.7 AC devices -- 3.8 Educational booster pack MkII -- 3.9 Grove starter kit for launchpad -- 3.10 Application: special effects LED cube -- 3.10.1 Construction hints -- 3.10.2 LED cube MSP432 Energia code -- 3.11 Laboratory exercise: introduction to the educational booster pack MkII and the Grove starter kit -- 3.12 Summary -- 3.13 References and further reading -- 3.14 Chapter problems --
  • 4. MSP432 memory system -- 4.1 Overview -- 4.2 Basic memory concepts -- 4.2.1 Memory buses -- 4.2.2 Memory operations -- 4.2.3 Binary and hexadecimal numbering systems -- 4.2.4 Memory architectures -- 4.2.5 Memory types -- 4.3 Memory operations in C using pointers -- 4.4 Memory map -- 4.5 Flash memory -- 4.5.1 FLCTL Drivelib support -- 4.6 Direct memory access (DMA) -- 4.6.1 DMA specifications -- 4.6.2 DMA transfer types -- 4.6.3 DMA registers -- 4.6.4 DMA Drivelib support -- 4.6.5 DMA example -- 4.7 External memory: bulk storage with an MMC/SD card -- 4.8 Laboratory exercise: MMC/SD card -- 4.9 Summary -- 4.10 References and further reading -- 4.11 Chapter problems --
  • 5. MSP432 power systems -- 5.1 Overview -- 5.2 Background theory -- 5.3 Operating modes and speed of operation -- 5.4 Power supply system -- 5.5 The power control module -- 5.6 Operating modes -- 5.7 Operating mode summary -- 5.8 Operating mode transitions -- 5.9 PSS and PCM registers -- 5.10 Battery operation -- 5.11 Driverlib support -- 5.12 Programming in C -- 5.13 Laboratory exercise: operating modes -- 5.14 Summary -- 5.15 References and further reading -- 5.16 Chapter problems --
  • 6. Time-related systems -- 6.1 Overview -- 6.2 Background -- 6.3 Time-related signal parameters -- 6.3.1 Frequency -- 6.3.2 Period -- 6.3.3 Duty cycle -- 6.3.4 Pulse width modulation -- 6.3.5 Input capture and output compare -- 6.4 MSP432 clock system -- 6.4.1 Clock source registers -- 6.4.2 Driverlib APIs -- 6.4.3 Timer applications in C -- 6.5 Energia-related time functions -- 6.6 Watchdog timer -- 6.6.1 WDT modes of operation -- 6.6.2 WDT system -- 6.6.3 Watchdog driverlib APIs -- 6.7 Timer32 -- 6.7.1 Registers -- 6.7.2 Driverlib APIs -- 6.8 Timer_A -- 6.8.1 Registers -- 6.8.2 Driverlib APIs -- 6.9 Real-time clock, RTC_C -- 6.9.1 RTC registers -- 6.9.2 RTC Driverlib API support -- 6.10 Laboratory exercise: generation of varying pulse width modulated signals to control DC motors -- 6.11 Summary -- 6.12 References and further reading -- 6.13 Chapter problems --
  • 7. Resets and interrupts -- 7.1 Overview -- 7.2 Background -- 7.3 MSP432 resets -- 7.4 Interrupts -- 7.4.1 Interrupt handling process -- 7.5 MSP432 interrupt system -- 7.5.1 Interrupt service routine (ISR) -- 7.6 Energia interrupt support -- 7.7 DriverLib -- 7.8 Programming interrupts in C -- 7.9 Laboratory exercise: autonomous robot -- 7.10 Summary -- 7.11 References and further reading -- 7.12 Chapter problems --
  • 8. Analog peripherals -- 8.1 Overview -- 8.2 Background -- 8.3 Analog-to-digital conversion -- 8.3.1 Sampling -- 8.3.2 Quantization -- 8.3.3 Encoding -- 8.4 Digital-to-analog converter -- 8.5 MSP432 analog-to-digital converter -- 8.5.1 Features -- 8.5.2 Operation -- 8.5.3 ADC registers -- 8.5.4 Analysis of results -- 8.6 Programming the MSP432 ADC14 system -- 8.6.1 Energia programming -- 8.6.2 MSP432 driver library -- 8.6.3 Programming ADC14 in C -- 8.7 Voltage reference -- 8.8 Comparator -- 8.9 Laboratory exercise: educational BoosterPack Mk II -- 8.10 Summary -- 8.11 References and further reading -- 8.12 Chapter problems --
  • 9. Communication systems -- 9.1 Overview -- 9.2 Background -- 9.3 Serial communication concepts -- 9.4 MSP432 UART -- 9.4.1 UART features -- 9.4.2 UART overview -- 9.4.3 Character format -- 9.4.4 Baud rate selection -- 9.4.5 UART associated interrupts -- 9.4.6 UART registers -- 9.4.7 API support -- 9.5 Code examples -- 9.5.1 Energia -- 9.5.2 UART DriverLib API example -- 9.5.3 UART C example -- 9.6 Serial peripheral interface-SPI -- 9.6.1 SPI operation -- 9.6.2 MSP432 SPI features -- 9.6.3 MSP432 SPI hardware configuration -- 9.6.4 SPI registers -- 9.6.5 SPI data structures API support -- 9.6.6 SPI code examples -- 9.7 Inter-integrated communication - I2C module -- 9.7.1 Overview -- 9.7.2 Programming -- 9.7.3 MSP432 as a slave device -- 9.7.4 MSP432 as a master device -- 9.7.5 I2C registers -- 9.7.6 I2C API support -- 9.7.7 I2C code examples -- 9.8 Laboratory exercise: UART and SPI communications -- 9.9 Summary -- 9.10 References and further reading -- 9.11 Chapter problems --
  • 10. MSP432 system integrity -- 10.1 Overview -- 10.2 Electromagnetic interference -- 10.2.1 EMI reduction strategies -- 10.3 Cyclic redundancy check -- 10.3.1 MSP432 CRC32 module -- 10.3.2 CRC32 registers -- 10.3.3 API support -- 10.4 AES256 accelerator module -- 10.4.1 Registers -- 10.4.2 API support -- 10.5 Laboratory exercise: AES256 -- 10.6 Summary -- 10.7 References and further reading -- 10.8 Chapter problems --
  • 11. System level design -- 11.1 Overview -- 11.2 What is an embedded system? -- 11.3 Embedded system design process -- 11.3.1 Project description -- 11.3.2 Background research -- 11.3.3 Pre-design -- 11.3.4 Design -- 11.3.5 Implement prototype -- 11.3.6 Preliminary testing -- 11.3.7 Complete and accurate documentation -- 11.4 Weather station -- 11.4.1 Requirements -- 11.4.2 Structure chart -- 11.4.3 Circuit diagram -- 11.4.4 UML activity diagrams -- 11.4.5 Microcontroller code -- 11.4.6 Project extensions -- 11.5 Submersible robot -- 11.5.1 Approach -- 11.5.2 Requirements -- 11.5.3 ROV structure -- 11.5.4 Structure chart -- 11.5.5 Circuit diagram -- 11.5.6 UML activity diagram -- 11.5.7 MSP432 code -- 11.5.8 Control housing layout -- 11.5.9 Final assembly testing -- 11.5.10 Final assembly -- 11.5.11 Project extensions -- 11.6 Mountain maze navigating robot -- 11.6.1 Description -- 11.6.2 Requirements -- 11.6.3 Circuit diagram -- 11.6.4 Structure chart -- 11.6.5 UML activity diagrams -- 11.6.6 4WD robot algorithm code -- 11.6.7 Mountain maze -- 11.6.8 Project extensions -- 11.7 Laboratory exercise: project extensions -- 11.8 Summary -- 11.9 References and further reading -- 11.10 Chapter exercises --
  • Authors' biographies -- Index.
Indexed in:
  • Compendex
  • INSPEC
  • Google scholar
  • Google book search
Subject(s):
ISBN:
  • 9781627059756 (ebook)
  • (print)
Doi:
  • 10.2200/S00728ED1V01Y201608DCS051
Author:
Other views:
Staff view