1 mcp operation, 1 mcp operation -146 – Intel STRONGARM SA-1100 User Manual
Page 296
11-146
SA-1100
Developer’s Manual
Peripheral Control Module
Both the MCP and the off-chip codec contain programmable 7-bit divisors, one each for the
telecom and audio data. These values are used to divide the bit clock to generate a desired sampling
frequency. When the codec is enabled, the divisor pairs are synchronously transferred to their
respective modulus registers within the MCP and off-chip codec, and decrement using the bit
clock. This technique allows telecom and audio data to be transferred between the MCP and codec,
lock-step in sync with the sampling/conversion frequency of the codec.
The MCP contains two pairs of transmit FIFOs and two pairs of receive FIFOs, one each for audio
and telecom data, totalling four separate 8-entry x 16-bit FIFOs. The MCP also contains a 21-bit
data register used to transmit codec register reads and writes, as well as another 21-bit register to
receive the results of codec register reads. Touch-screen and ADC conversions are triggered, the
digital I/O lines are controlled using codec register writes, and the converted data and the state of
digital I/O lines are accessed using a codec register read.
In SSP mode, serial port 4 controls full-duplex synchronous serial transfers between the SA-1100
and off-chip devices that support National Microwire
*
, Texas Instruments
*
synchronous serial, or
the Motorola
*
SPI protocol. The SSP functions as a master only and communicates to the off-chip
slave device by driving a serial bit rate clock ranging from 7.2 kHz to 1.8432 MHz along with a
frame synchronization pulse to denote the start of each frame transfer, and supports any data format
between 4 and 16 bits. Transmit and receive data is stored/collected using two separate
8-entry x 16-bit FIFOs. MCP operation takes precedence over SSP operation. If use of both the
MCP and SSP is required at the same time, the user can configure the SSP to take over control of
GPIO pins 10 through 13, and the MCP uses the serial port 4 pins for transmission.
The external pins dedicated to this interface are TXD4, RXD4, SCLK, and SFRM. If use of both
the MCP and SSP is not required and serial port 4 is disabled, control of these pins is given to the
peripheral pin controller (PPC) to be used to perform general-purpose input/output
(noninterruptible). See the
for a description of the programming and
operation of the PPC. The MCP operation takes precedence over the SSP if both units are enabled.
Both the MCP and SSP support word reads/writes of their registers, and half-word DMA transfers
to or from their FIFOs that are 16-bits wide.
11.12.1
MCP Operation
Following reset, both the MCP and SSP logic within serial port 4 is disabled and control of its pins
is given to the PPC, which configures all four pins as inputs. To enable MCP operation, the
programmer should first clear any interruptible status bits, which are set following the reset, by
writing a one to them. Next, the user should program the MCP control register with the desired
mode of operation using word writes, ensuring that the enable bit is programmed last. The user can
choose to either “prime” the audio and telecom transmit FIFOs, before enabling the MCP, by
writing up to eight 16-bit values each, or allow the FIFO service requests to interrupt the CPU or
trigger a DMA transfer to fill the FIFOs. Once the off-chip codec is programmed and data resides
within the bottom entries of the audio and/or telecom FIFOs, transmission/reception of data begins
on the transmit (TXD4) and receive (RXD4) pins, and is synchronously controlled by the serial
clock (SCLK) pin and a serial frame (SFRM) pin at a rate of 9.585 MHz or 11.981 MHz. The serial
clock rate is selected by programming a control bit. Note that the two SCLK rates are derived by
first multiplying the 3.6864-MHz on-chip oscillator by 13, then by dividing either by 5
(9.58464 MHz) or by 4 (11.9808 MHz). Also note that an off-chip clock can be used to drive the
MCP when a sample rate that is not a multiple of 3.6864 MHz is required.