Skip to main content
Application NoteNxp

A General-Purpose Serial Communication Interface for the MMC2001 Using the Motorola API

Software UART implementation for Motorola MMC2001 microcontrollers using PWM timers and the M•CORE API for half-duplex serial communication up to 19,200 baud.

View application note

Overview

This application note describes a software-based Serial Communication Interface (SCI) or software UART developed for the Motorola MMC2001 M•CORE microcontroller. The implementation uses the device's integrated PWM timers and the Motorola device driver library (API) to facilitate asynchronous serial communication. It supports an 8-bit data protocol with one start and one stop bit at baud rates up to 19,200 in half-duplex mode. By utilizing an interrupt-driven approach, the design minimizes CPU allocation compared to traditional polling methods. The document provides initialization steps, register configurations for PWM channels, and guidance on adapting the C-language code for other M•CORE-based MCUs including the MMC2003, MMC2080, and MMC2107.

Use Cases

  • Adding an additional UART to microcontrollers with limited hardware serial resources.
  • Implementing serial communication on M•CORE RISC architectures using high-level C code.
  • Reducing CPU overhead in serial data transmission through interrupt-based timing.
  • Configuring general-purpose PWM timers for asynchronous data reception and transmission.

Topics

MMC2001
Software UART
Serial Communication Interface
M•CORE
Motorola API
PWM Timer
Interrupt-driven
Half-duplex
Microcontroller
RS-232
MMC2003
MMC2107

Referenced Parts

MC68HC705J1A

Motorola

"HC05 MCU Software-Driven Asynchronous Serial Communication Techniques Using MC68HC705J1A,"

MMC2001

Motorola

This application note describes a software (SW) UART, written in C language. It has been developed for the MMC2001, a M•CORE MCU.

MMC2003

Motorola

These device drivers also are available for the MMC2003 (includes same functions as the MMC2001, as well as a correlator for GPS (global positioning system) functionality)

MMC2080

Motorola

the MMC2080 (MCU for pagers supporting the FLEX™ protocol)

MMC2107

Motorola

the MMC2107, and future M•CORE-based MCUs.

A General-Purpose Serial Communication Interface for the MMC2001 Using the Motorola API | Design Resources