Fifo management – Digi NS9750 User Manual

Page 671

Advertising
background image

w w w . d i g i e m b e d d e d . c o m

6 4 7

S e r i a l C o n t r o l M o d u l e : S P I

FIFO management

Data flow between a serial controller and memory occurs through the FIFO blocks
within each serial controller module. Each serial controller provides both a 32-byte
transmit FIFO and a 32-byte receive FIFO. Each FIFO is arranged as eight lines of four
bytes to facilitate data transfer across BBus. Both the transmit and receive FIFOs are
accessed using the Serial Channel B/A/C/D FIFO registers.

Transmit FIFO interface

The processor can write either 1, 2, 3, or 4 bytes at a time to the transmit FIFO. The
number of bytes written is controlled by the data size defined by the

HSIZE

field on

the AMBA AHB bus.

When the system is configured to operate in big endian mode, the most
significant bytes in the word written to the FIFO are transmitted first. For
example, the long word

0x11223344

results in the character

0x11

being

transmitted first, and

0x44

being transmitted last.

When the system is configured to operate in little endian mode, the least
significant bytes in the word written to the FIFO are transmitted first. For
example, the long word

0x11223344

results in the character

0x44

being

transmitted first, and

0x11

being transmitted last.

Serial channel B/A/C/D bit rate
register settings

Mode functionality

SPI
mode

SPCPOL

TXCINV

RXCINV

SPI CLK
Idle

SPI DATA_IN
capture edge

SPI DATA-OUT
drive edge

0

1

0

0

Low

Rising

Falling

1

0

1

1

High

Falling

Rising

2

1

1

1

Low

Falling

Rising

3

0

0

0

High

Rising

Falling

Table 381: SPI mode definitions

Advertising