Скачиваний:
68
Добавлен:
21.03.2016
Размер:
3.37 Mб
Скачать

Модуль 7: SPI - интерфейс C28x

Цифровой сигнальный контроллер TMS320F2812

Texas Instruments Incorporated

Передача данных через SPI

интерфейс

Одновременный прием и передача

SPI Ведущий - обеспечивает сигнал тактирования

SPII Устройство #1 Ведущий

сдвиг

Сдвиговый

регистр SPI

SPII Devicei #2

Ведомый

сдвиг

Сдвиговый регистр SPI

такты

7 - 2

Структура SPI интерфейса

 

C28x - SPI режим ведущего

 

 

 

 

 

RX FIFO_0

 

SPISIMOI I

 

 

 

 

 

 

RX FIFO_15

 

 

 

 

SPIRXBUF.15-0

 

 

 

 

MSB SPIDAT.15-0

LSB

SPISOMI

 

 

 

 

I

I

 

SPITXBUF.15-0

 

 

 

 

 

TX FIFO_0

 

 

 

 

TX FIFO_15

 

 

 

LSPCLK

Полоса

Полярн.

Фаза

SPICLKI

 

частот

.

 

7 - 3

 

 

 

 

 

Выравнивание данных в SPI

Программируемая длина данных от 1 до 16 бит

Переданные данные меньше 16 бит должны быть выровнены по левому краю

Старший бит (MSB)

передается первым

Принятые данные меньше 16 бит выравниваются по правому краю

Программа пользователя должна маскировать неиспользуемые

старшие биты (MSB)

SPIDATI - процессор #1

11001001XXXXXXX X

SPIDATI - процессор #2

XXXXXXXX1100100

1

7 - 4

SPI-A Регистры

Адрес

Регистр

Название

0x00704

 

 

0

SPICCR

регистр управления конфигурацией

0x00704

10x0070

SPICTL

регистр управления операцией

SPISTS

регистр статуса

42

SPIBRR

регистр скорости

0x00704

6

SPIEMU

регистр буфера эмуляции

0x00704

 

 

7

SPIRXBU

регистр буфера последовательного

0x00704

F

приема

8

SPITXBU

регистр буфера последовательной

0x00704

F

передачи

A

SPIFFTX

регистр FIFO буфера передатчика

0x00704

SPIFFRX

регистр FIFO буфера приемника

B

SPIFFCT

регистр FIFO буфера управления

0x00704

0x00704

SPIPRI

регистр управления приоритетом

F

 

 

7 - 5

SPI-A Регистр управления

конфигурацией

SPICCR @ 0x007040

15-8

7

6

5-4

3

2

1

0

зарезерв. зарезерв.

 

SPI символы . 3-0

 

 

Длина символов = число + 1

 

SPI программный

Например : 0000b

: длина =

1

сброс

1111b

: длина =

16

0 = SPI флаг сброса

Полярность тактов

 

 

1 = нормальная работа 0 = передача данных по возрастающему фронту

1 = передача данных по ниспадающему фронту

7 - 6

операциями

SPICTL @ 0x007041

Разрешение прерывания

 

Разрешение

при ошибке

Ведущий/Ведомый/

0 = запрещено

 

0 = ведомый

прерывания от SPII

1 = разрешено

 

1 = ведущий

 

0 = запрещено

 

 

1 = разрешено

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-5

 

 

 

 

 

15-

4

3

2

1

0

зарезервировано

 

Фаза такта

0

«РАЗГОВОР»

 

0

= запрещена

 

= нет задержки CLK

 

,

 

1

 

передача,

 

= CLK задержан на 1/2/2 тактавыход в третьем

 

 

 

состоянии

 

 

 

1

= разрешение

 

 

 

передачи

7 - 7

SPI-A Регистр скорости порта

SPIBRR @ 0x007044

Необходимо устанавливать только в режиме вед

15-7

6-0

-

-

зарезервировано

SPI скороcть передачи

 

 

,, SPIBRRI = c 3 до 127

SPICLK сигнал =

,, SPIBRRI = 0,, 1,, или 2

7 - 8

SPI-A Регистр статуса

SPISTS @ 0x007042

15-8

7

6

5

4-0

зарезерв.

 

 

 

зарезервировано

Ошибка приемника (только чтение/стирание)

Устанавливается, если

прием закончился до чтения SPIRXBUF

Прерывание появится,

если разрешение прерывания при ошибке бит установлен (SPICTL.4)

Стирается записью 1

TX буфер полон (только чтени

устанавливается в 1 когда символ записан в SPITXBUF

Стирается когда символ

в SPIDAT

SPI флаг прерывания (только чтение)

Устанавливается в 1 когда

передача завершена

Прерывание появится, если

бит разрешения прерывания SPI установлен (SPICTL.0)

Стирается чтением

7 - 9

 

SPI-A Регистр FIFO буфера

передатчика

SPII FIFOI

SPIFFTX @ 0x00704A

РасширениеTX FIFOI Сброс

0 = запрещено 0 = сброс ((указывает на 0)) 1 = разрешено 1 = разрешение операции

15

14

13

12

11

10

9

8

зарезервSPIFFEN.. TXFIFORESET TXFFST4TXFFST3TXFFST2TXFFST1TXFFST0

7

6

5

4

3

2

1

0

 

TXFFINT

 

TXFFINT

 

TXFFIENTXFFIL4

TXFFIL3

TXFFIL2

TXFFIL1

TXFFIL0

 

 

CLR

 

TX FIFOI

 

 

TX FIFOI

 

 

 

Флаг

TX FIFOI

 

Разрешение

 

 

 

 

прерывания

TX FIFOI

уровень

прерыванияСтереть флаг

совпадении))

 

 

(при(

прерывания

 

)прерывания

 

 

 

 

 

(только чтение)

 

 

 

 

 

 

 

0 = нет эффекта0 = разрешено

Прерывание когда

0 = не происходит

1 = стирает

 

1 = запрещено

1 = происходит

 

-0 и

7 - 10

 

 

 

 

TXFFST4-

 

 

 

 

 

 

TXFFIL4I --0 совпадают

 

 

SPI-A Регистр FIFO буфера

 

RX FIFOI

 

 

 

 

 

 

 

 

 

приемника

 

 

 

 

 

 

 

 

Флаг

 

 

 

 

SPIFFRX @ 0x00704B

 

 

 

 

 

переполнения

 

 

 

 

RX FIFOI сброс

 

 

 

 

 

 

 

(только чтение)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(

)

 

 

 

 

 

 

 

 

0 = сброс

 

 

 

 

 

 

 

 

0 = нет переполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

(указатель на 0)

 

 

 

 

 

 

 

1 = переполнение

 

 

 

 

(

 

 

 

 

)

 

 

 

 

 

 

 

 

 

RX FIFOI

1 = разрешение

 

 

 

 

 

 

 

 

 

Стереть Флаг

 

работы

 

 

 

 

 

 

 

 

 

 

переполнения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 = нет эффекта

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1 = стирание

 

 

 

 

 

 

 

 

 

 

 

 

 

15

 

 

 

 

14

 

 

13

 

 

12

 

11

10

 

9

 

8

 

 

 

 

RXFF-

 

 

RXFF-

 

RXFIFO

 

 

RXFFST4RXFFST3RXFFST2RXFFST1RXFFST0

 

 

 

 

 

 

OVF

 

OVF CLR

RESET

 

 

 

 

 

 

7

 

 

 

 

6

 

 

5

 

 

4

 

3

2

 

1

 

0

 

 

 

 

RXFFINT

RXFFINT

 

 

 

RXFFIENRXFFIL4RXFFIL3RXFFIL2RXFFIL1RXFFIL0

 

 

 

 

 

 

 

 

CLR

 

 

 

 

 

RX FIFO Флаг

 

 

RX FIFOI

RX FIFOI

 

 

RX FIFOI

уровень

I

 

 

 

 

 

 

 

 

 

 

 

 

Разрешение

 

прерывания

Стереть флагапрерывания

 

прерывания

 

((только чтение))

 

 

 

 

 

 

 

 

(при совпадении)

 

 

 

 

 

 

 

прерывания (

 

 

)

Прерывание когда

0 = не происходит

 

 

 

 

 

 

 

 

 

 

 

1 = происходит

 

 

0 = нет эффекта 0 = запрещено

 

-0

 

 

 

 

 

 

1 = стирает

1 = разрешено

 

 

 

 

 

 

 

 

RXFFST4--0 совпадают

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и RXFFIL4I

-

 

7 - 11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Соседние файлы в папке C2000WEB_rus