Serial Peripheral Interface Module (SPI)

When an SPI is configured as a slave, the SS pin is always configured as an input. It cannot be used as a general-purpose I/O regardless of the state of the MODFEN control bit. However, the MODFEN bit can still prevent the state of the SS from creating a MODF error. See 15.12.2 SPI Status and Control Register.

NOTE

A logic 1 voltage on the SS pin of a slave SPI puts the MISO pin in a high-impedance state. The slave SPI ignores all incoming SPSCK clocks, even if it was already in the middle of a transmission.

When an SPI is configured as a master, the SS input can be used in conjunction with the MODF flag to prevent multiple masters from driving MOSI and SPSCK. (See 15.6.2 Mode Fault Error.) For the state of the SS pin to set the MODF flag, the MODFEN bit in the SPSCK register must be set. If the MODFEN bit is low for an SPI master, the SS pin can be used as a general-purpose I/O under the control of the data direction register of the shared I/O port. With MODFEN high, it is an input-only pin to the SPI regardless of the state of the data direction register of the shared I/O port.

The CPU can always read the state of the SS pin by configuring the appropriate pin as an input and reading the port data register. See Table 15-3.

Table 15-3. SPI Configuration

 

 

 

 

 

 

 

 

 

 

 

SPE

SPMSTR

MODFEN

SPI Configuration

State of SS Logic

 

 

 

 

 

 

 

 

 

 

0

X(1)

X

Not enabled

General-purpose I/O;

 

 

 

ignored by SPI

SS

1

0

X

Slave

Input-only to SPI

 

 

 

 

 

 

 

 

 

1

1

0

Master without MODF

General-purpose I/O;

 

 

 

ignored by SPI

SS

 

 

 

 

 

 

 

1

1

1

Master with MODF

Input-only to SPI

 

 

 

 

 

 

 

 

 

 

 

1.X = don’t care

15.11.5VSS (Clock Ground)

VSS is the ground return for the serial clock pin, SPSCK, and the ground for the port output buffers. To reduce the ground return path loop and minimize radio frequency (RF) emissions, connect the ground pin of the slave to the VSS pin of the master.

15.12 I/O Registers

Three registers control and monitor SPI operation:

SPI control register, SPCR

SPI status and control register, SPSCR

SPI data register, SPDR

15.12.1 SPI Control Register

The SPI control register (SPCR):

Enables SPI module interrupt requests

Selects CPU interrupt requests or DMA service requests

Configures the SPI module as master or slave

Selects serial clock polarity and phase

Configures the SPSCK, MOSI, and MISO pins as open-drain outputs

Enables the SPI module

MC68HC908MR32 • MC68HC908MR16 Data Sheet, Rev. 6.1

210

Freescale Semiconductor

Page 210
Image 210
Freescale Semiconductor MC68HC908MR32 manual 15.12 I/O Registers, VSS Clock Ground, SPI Control Register, SPI Configuration

MC68HC908MR16, MC68HC908MR32 specifications

Freescale Semiconductor's MC68HC908MR32 and MC68HC908MR16 microcontrollers are part of the popular HC08 family, designed primarily for embedded applications. These microcontrollers are particularly favored in automotive, industrial, and consumer product sectors due to their reliability and versatility.

One of the standout features of the MC68HC908MR series is its CMOS technology, which enhances performance while minimizing power consumption. This makes these microcontrollers suitable for battery-operated devices. They operate at a maximum clock frequency of 2 MHz and offer a 16-bit architecture, providing a solid balance between processing power and efficiency.

The MC68HC908MR32 variant is equipped with 32KB of flash memory, which allows for the storage of complex programs and extensive data handling. In contrast, the MC68HC908MR16 features 16KB of flash memory, making it ideal for simpler applications. Both microcontrollers also come with 1KB of RAM, enabling efficient data processing and real-time operations.

Another significant characteristic of these microcontrollers is their integrated peripherals. They come with multiple input/output (I/O) pins, which allow for connectivity with various sensors and actuators. The built-in timer systems offer precise timing control for automotive and industrial applications, while the Analog-to-Digital Converter (ADC) provides essential conversion capabilities for various analog signals.

For communication purposes, the MC68HC908MR series includes a serial communication interface, enabling easy integration with other devices and systems. This versatility facilitates the development of complex systems that require interaction with external components.

Security is another crucial aspect of these microcontrollers. They have built-in fail-safe mechanisms to ensure reliable operation under various conditions, making them suitable for critical systems. Additionally, their robust architecture helps to safeguard against potential disruptions or attacks.

In summary, Freescale Semiconductor's MC68HC908MR32 and MC68HC908MR16 microcontrollers are key players in the embedded systems landscape. Their blend of power efficiency, integrated features, and scalability ensures they remain relevant for a wide array of applications, making them a favored choice among engineers and developers looking for dependable solutions in a competitive market.