В HTML      В PDF
микроэлектроника, микросхема, транзистор, диод, микроконтроллер, память, msp430, Atmel, Maxim, LCD, hd44780, t6963, sed1335, avr, mega128
Предприятия Компоненты Документация Применения Статьи Новости

 
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации





Главная страница > Обзоры по типам > Микроконтроллеры > ARM
Пересюхтюмя


13-я Международная выставка электронных компонентов и комплектующих для электронной промышленности





Выставка Передовые Технологии Автоматизации


29.7 Пользовательский интерфейс последовательно - параллельного интерфейса (SPI)

Табл. 29-3. Карта регистров ППИ

Смещение Регистр Название регистра Доступ Значение после перезагрузки
0x00 Регистр управления SPI_CR Только запись -
0x04 Регистр установки режима SPI_MR Чтение/запись 0x0
0x08 Регистр данных приемника SPI_RDR Только чтение 0x0
0x0C Регистр данных передатчика SPI_TDR Только запись -
0x10 Регистр состояния SPI_SR Только чтение 0x000000F0
0x14 Регистр разрешения прерываний SPI_IER Только запись -
0x18 Регистр запрещения прерываний SPI_IDR Только запись -
0x1C Регистр маски прерываний SPI_IMR Только чтение 0x0
0x20 - 0x2C Зарезервировано - - -
0x30 Регистр выбора корпуса 0 SPI_CSR0 Чтение/запись 0x0
0x34 Регистр выбора корпуса 1 SPI_CSR1 Чтение/запись 0x0
0x38 Регистр выбора корпуса 2 SPI_CSR2 Чтение/запись 0x0
0x3C Регистр выбора корпуса 3 SPI_CSR3 Чтение/запись 0x0
0x004C - 0x00F8 Зарезервировано - - -
0x004C - 0x00FС Зарезервировано - - -
0x100 - 0x124 Зарезервировано для Периферийного ПДП контроллера - - -

29.7.1 Регистр управления Последовательным периферийным интерфейсом.

Название: SPI_CR

Вид доступа: Только запись

31 30 29 28 27 26 25 24
- - - - - - - LASTXFER
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - - -
7 6 5 4 3 2 1 0
SWRST - - - - - SPIDIS SPIEN
  • SPIEN: разрешение работы интерфейса
  • 0 =Не влияет.
    1 = Разрешает интерфейсу прием и передачу данных.
  • SPIDIS: Запрещение работы интерфейса
    0 =Не влияет.
    1 = Запрещает интерфейс.
  • SWRST: Перезагрузка интерфейса программными средствами
    0 =Не влияет
    1 = Перезагружает интерфейс. Происходит программно запускаемая аппаратная перезагрузка интерфейса SPI.
  • LASTXFER: Последняя передача
    0 =Не влияет.
    1 = Текущий активный вывод NPCS будет снят после того, как завершится передача пакета, записанного TD. Если при установленном бите CSAAT осуществляется возможность сразу же отключить текущее периферийное устройство, сразу же, без задержки после завершения передачи установив высокий уровень соответствующего NPCS после завершения передачи.

29.7.2 Регистр выбора режима работы

Название: SPI_MR

Вид доступа: Запись/чтение

31 30 29 28 27 26 25 24
DLY BCS
23 22 21 20 19 18 17 16
- - - - PCS
15 14 13 12 11 10 9 8
- - - - - - - -
7 6 5 4 3 2 1 0
LLB - - MODFDIS - PCSDEC PS MSTR
  • MSTR: Режим ведущий/ведомый
  • 0 =Интерфейс работает в режиме ведомого.
    1 = Интерфейс работает в режиме ведущего.
  • PS: Выбор периферийного устройства
    0 = Фиксированный выбор корпуса внешнего периферийного устройства.
    1 = Изменяемый выбор периферийного устройства.
  • PCSDEC: Декодирование выбора корпуса
    0 = Периферийные устройства непосредственно подключены к выводам выбора корпуса.
    1 = Четыре вывода выбора корпуса подключаются к дешифрирующей логике для выдачи сигнала разрешения работы на одно из 16 (максимум) устройств.
    SPI_CSR0 определяет сигналы выбора корпуса от 0 до 3.
    SPI_CSR1 определяет сигналы выбора корпуса от 4 до7.
    SPI_CSR2 определяет сигналы выбора корпуса от 8 до 11.
    SPI_CSR3 определяет сигналы выбора корпуса от 12 до14.
  • MODFDIS: Определение ошибки режима работы
    0 =Определение ошибки режима работы запрещено.
    1 = Определение ошибки режима работы разрешено.
  • LLB: Разрешение местного зацикливания
    0 = Работа петли местного зацикливания запрещена.
    1 = Работа петли местного зацикливания разрешена.
  • PCS: Выбор корпуса периферии

    Применяется только в том случае, если используется фиксированный выбор периферии (PS=0).

    Если PCSDEC = 0, то:

    PCS = xxx0    NPCS[3;0] = 1110
    PCS = xx01    NPCS[3:0] = 1101
    PCS = x011    NPCS[3:0] = 1011
    PCS = 0111    NPCS[3:0] = 0111
    PCS = 1111    запрещено (ни одно периферийное устройство не выбрано)
    

    (знаком "x" отмечены поля, данные в которых не имеют значения)

    Если PCSDEC = 1, то:

    Выходные сигналы NPCS[3:0] соответствуют значению PCS.

  • DLYBCS: Задержка между сигналами выбора корпуса

    Это поле определяет значение задержки между переходом от неактивного состояния одной линии NPCS к активному состоянию другой линии NPCS. Задержка по времени гарантирует то, что сигналы выбора корпуса не перекроются по времени, и устранит возможную конкуренцию при работе на шине, возможную в случае, если периферийные устройства имеют значительное время преобразования. Если значение DLYBCS равно или менее шести, шесть периодов MCK будут вставлены по умолчанию. Во всех прочих случаях значение задержки определяется следующим уравнением:

29.7.3 Регистр данных приемника ППИ (SPI)

Название: SPI_RDR

Тип доступа: Только чтение

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - PCS
15 14 13 12 11 10 9 8
RD
7 6 5 4 3 2 1 0
RD
  • RD: Принятые данные
  • Данные, принятые ППИ (SPI) - интерфейсом, хранятся в этом регистре с выравниванием по правой стороне. В неиспользованные биты записывается нулевое значение.

  • PCS: Выбор корпуса внешних устройств

    В режиме ведущего эти биты показывают значение на выводах NPCS в конце цикла передачи. Во всех других случаях чтение возвращает нулевое значение.

29.7.4 Регистр данных передатчика ППИ (SPI)

Название: SPI_TDR

Тип доступа: Только запись

31 30 29 28 27 26 25 24
- - - - - - - LASTXFER
23 22 21 20 19 18 17 16
- - - - PCS
15 14 13 12 11 10 9 8
TD
7 6 5 4 3 2 1 0
TD
  • RD: Передаваемые данные
  • Данные, предназначенные для передачи ППИ (SPI) - интерфейсом, хранятся в этом регистре. Информация, предназначенная для передачи, должна быть записана в этот регистр с выравниванием по правой стороне.

  • PCS: Выбор корпуса периферии

    Это поле используется только в том случае, если режим переменного вида корпуса периферии активен (PS=1).

    Если PCSDEC = 0:

    PCS = xxx0    NPCS[3;0] = 1110
    PCS = xx01    NPCS[3:0] = 1101
    PCS = x011    NPCS[3:0] = 1011
    PCS = 0111    NPCS[3:0] = 0111
    PCS = 1111    запрещено (ни одно периферийное устройство не выбрано)
    

    (знаком "x" отмечены поля, данные в которых не имеют значения)

    Если PCSDEC = 1, то:

    Выходные сигналы NPCS[3:0] соответствуют значению PCS.

  • LASTXFER: Последняя передача
    0 = Не влияет.
    1 = Активный уровень текущей линии NPCS будет снят после того, как будет завершена передача пакета, записанного в регистр TD. При установленном бите CSAAT активный (низкий) уровень соответствующей линии NPCS будет снят сразу же после завершения передачи.

    Это поле используется только в том случае, если установлен переменный выбор корпуса периферии.

29.7.5 Регистр состояния ППИ (SPI)

Название: SPI_SR

Тип доступа: Только чтение

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - SPIENS
15 14 13 12 11 10 9 8
- - - - - - TXEMPTY NSSR
7 6 5 4 3 2 1 0
TXBUFE RXBUFF ENDTX ENDRX OVRES MODF TDRE RDRF
  • RDRF: Переполнение приемного регистра хранения данных ППИ
  • 0 = C момента последнего чтения SPI_RDR не было принято данных
    1 = Данные были приняты и принятые данные переданы из последовательно - параллельного преобразователя в SPI_RDR с момента последнего чтения SPI_RDR
  • TDRE: Опустошение передающего регистра
    0 = Данные были записаны в SPI_TDR но еще не переданы в параллельно - последовательный преобразователь.
    1 = Последние записанные в регистр хранения передачи данные уже переданы в параллельно - последовательный преобразователь.
  • MODF: Ошибка режима работы
    0 = Ошибка режима не была определена с момента последнего чтения регистра состояния ППИ (SPI_SR).
    1 = С момента последнего чтения регистра состояния ППИ была обнаружена ошибка режима работы интерфейса.
  • OVRES: Состояние ошибки переполнения
    0 = С момента последнего чтения регистра состояния не было обнаружено ошибок переполнения.
    1 = С момента последнего чтения регистра состояния была обнаружена ошибка переполнения. Ошибкой считается состояние, когда в SPI_RDR (регистр хранения принимаемых данных) были загружены данные из последовательно - параллельного преобразователя как минимум два раза без чтения.
  • ENDRX: Конец (опустошение) буфера передачи (RX)
    0 = Регистр - счетчик приемника не осуществил счет до 0 с момента последней записи в SPI_RCR или SPI_RNCR.
    1 = Регистр - счетчик приемника досчитал до 0 с момента последней записи в SPI_RCR или SPI_RNCR.
  • ENDTX: Конец (завершение) буфера приема (TX)
    0 = Регистр - счетчик передатчика не осуществил счет до 0 с момента последней записи в SPI_RCR или SPI_RNCR.
    1 = Регистр - счетчик передатчика досчитал до 0 с момента последней записи в SPI_RCR или SPI_RNCR.
  • RXBUFF: Буфер приемника заполнен
    0 = SPI_RCR(1) или SPI_RNCR(1) содержат значение, отличное от 0.
    1 = SPI_RCR(1) и SPI_RNCR(1) оба имеют нулевое значение.
  • TXBUFE: Буфер передатчика опустошен
    0 = SPI_TCR(1) или SPI_TNCR(1) содержат значение, большее, чем 0.
    1 = SPI_TCR(1) и SPI_TNCR(1) оба имеют нулевое значение.
  • NSSR: Изменение уровня на ножке NSS
    0 = С момента последнего чтения не было определено изменение уровня (переход высокий - низкий, фронт) на ножке NSS.
    1 = С момента последнего чтения было определено изменение уровня на ножке NSS.
  • TXEMPTY: Опустошение регистров передачи
    0 = Устанавливается сразу же после записи данных в SPI_TDR.
    1 = SPI_TDR и регистр сдвига опустошены. Если была установлена задержка передачи, TXEMPTY устанавливается после ее завершения.
  • SPIENS: Состояние разрешения SPI
    0 = ППИ (SPI) запрещен.
    1 = ППИ (SPI) разрешен.

    Заметка: SPI_RCR, SPI_RNCR, SPI_TCR, SPI_TNCR физически размещены в контроллере прямого доступа к памяти периферийных модулей (PCD).

29.7.6 Регистр разрешения прерываний ППИ

Название: SPI_IER

Тип доступа: Только запись

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - TXEMPTY NSSR
7 6 5 4 3 2 1 0
TXBUFE RXBUFF ENDTX ENDRX OVRES MODF TDRE RDRF
  • RDRF: Разрешение прерывания по переполнению приемного регистра хранения данных ППИ
  • TDRE: Разрешении переполнения по опустошению передающего регистра
  • MODF: Разрешение прерывания по ошибке режима работы
  • OVRES: Разрешение прерывания по состоянию ошибки переполнения
  • ENDRX: Разрешение прерывания по опустошению буфера передачи (RX)
  • ENDTX: Разрешение прерывания по опустошению буфера приема (TX)
  • RXBUFF: Разрешение прерывания по заполнению буфер приемника
  • TXBUFE: Разрешение прерывания по опустошению буфера передатчика
  • TXEMPTY: Разрешение прерывания по опустошению регистров передачи
  • NSSR: Разрешение прерывания по изменению уровня на ножке NSS
    0 = не влияет
    1 = разрешает соответствующее прерывание

29.7.7 Регистр запрещения прерываний ППИ (SPI)

Название: SPI_IDR

Тип доступа: Только запись

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - TXEMPTY NSSR
7 6 5 4 3 2 1 0
TXBUFE RXBUFF ENDTX ENDRX OVRES MODF TDRE RDRF
  • RDRF: Запрещение прерывания по переполнению приемного регистра хранения данных ППИ
  • TDRE: Запрещение переполнения по опустошению передающего регистра
  • MODF: Запрещение прерывания по ошибке режима работы
  • OVRES: Запрещение прерывания по состоянию ошибки переполнения
  • ENDRX: Запрещение прерывания по опустошению буфера передачи (RX)
  • ENDTX: Запрещение прерывания по опустошению буфера приема (TX)
  • RXBUFF: Запрещение прерывания по заполнению буфер приемника
  • TXBUFE: Запрещение прерывания по опустошению буфера передатчика
  • TXEMPTY: Запрещение прерывания по опустошению регистров передачи
  • NSSR: Запрещение прерывания по изменению уровня на ножке NSS
    0 = не влияет
    1 = запрещает соответствующее прерывание

29.7.8 Регистр маски прерываний

Название: SPI_IMR

Тип доступа: Только чтение

31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - TXEMPTY NSSR
7 6 5 4 3 2 1 0
TXBUFE RXBUFF ENDTX ENDRX OVRES MODF TDRE RDRF
  • RDRF: Маска прерывания по переполнению приемного регистра хранения данных ППИ
  • TDRE: Маска прерывания по опустошению передающего регистра
  • MODF: Маска прерывания по ошибке режима работы
  • OVRES: Маска прерывания по состоянию ошибки переполнения
  • ENDRX: Маска прерывания по опустошения буфера передачи (RX)
  • ENDTX: Маска прерывания по опустошению буфера приема (TX)
  • RXBUFF: Маска прерывания по заполнению буфера приемника
  • TXBUFE: Маска прерывания по заполнению буфера передатчика
  • TXEMPTY: Маска прерывания по опустошению регистров передачи
  • NSSR: Маска прерывания по изменению уровня на ножке NSS

29.7.9 Регистр выбора корпуса ППИ (SPI)

Название: SPI_CSR0…SPI_CSR3

Тип доступа: Чтение/запись

31 30 29 28 27 26 25 24
DLYBCT
23 22 21 20 19 18 17 16
DLYBS
15 14 13 12 11 10 9 8
SCBR
7 6 5 4 3 2 1 0
BITS CSAAT - NCPHA CPOL
  • CPOL: полярность синхронизирующего сигнала
  • 0 = Уровень неактивного состояния синхронизации передачи данных по ППИ соответствует логическому нулю.
    1 = Уровень неактивного состояния синхронизации передачи данных по ППИ соответствует логической единице.

    CPOL применяется для определения неактивного состояния синхронизации передачи ППИ (SPCK). Это поле используется совместно с NCPHA для установки необходимого для работы с ведомым устройством сочетания значений синхронизирующего сигнала и формата передачи данных.

  • NCPHA: Фаза синхронизирующего сигнала
    0 = Данные изменяются (выдаются) по переднему фронту SPCK и принимаются по заднему фронту (по фронту и срезу).
    1 = Данные принимаются по переднему фронту SPCK и выдаются по заднему фронту.

    Поле NCPHA определяет, какой из перепадов синхронизирующего сигнала запускает передачу и какой - прием данных. Это поле используется совместно с CPOL для установки необходимого для работы с ведомым устройством сочетания значений синхронизирующего сигнала и формата передачи данных.

  • СCSAAT: Активность линии выбора корпуса после завершения передачи
    0 = Высокий (неактивный) уровень линии выбора корпуса периферийного устройства устанавливается сразу же после окончания передачи.
    1 = Низкий (активный) уровень линии выбора корпуса периферийного устройства удерживается после окончания передачи. Он удерживается до тех пор, пока не начнется передача с выбором корпуса внешнего устройства по другой линии.
  • BITS: Количество бит данных в пакете

    Это поле определяет количество бит данных, передаваемых в одном пакете. Зарезервированные значения поля не должны использоваться.

BITS Количество бит данных
0000 8
0001 9
0010 10
0011 11
0100 12
0101 13
0110 14
0111 15
1000 16
1001 Зарезервировано
1010 Зарезервировано
1011 Зарезервировано
1100 Зарезервировано
1101 Зарезервировано
1110 Зарезервировано
1111 Зарезервировано
  • SBCR: Скорость последовательной передачи данных

    В режиме ведущего устройства ППИ - интерфейс использует счетчик по модулю для получения значения скорости последовательной передачи данных из главной синхронизации. Значение тактовой частоты передачи данных устанавливается записью в поле SBCR значения от 1 до 255. Значение тактовой частоты передачи данных определяется выражением:

    Запись нулевого значения в поле SCBR запрещена. Запуск передачи данных при записанном в SCBR нуле может привести к непредсказуемым сбоям в работе устройства. Значение SCBR по умолчанию также составляет 0, поэтому после пользователь перед осуществлением передачи должен программно изменить его значение на допустимое.

  • DLYBS: Задержка перед выдачей тактовой частоты ППИ (SPCK)

    Это поле определяет значение задержки, которая отделяет начало выдачи тактовой частоты передачи данных установления от выдачи уровня NPCS.

    Если DLYBS равен нулю, выдача тактовой частоты передачи данных (SPCK) начнется через половину ее периода после установления уровня NPCS.

    В прочих случаях значение задержки определяется выражением:

  • DLYBCT: Задержка между последовательными передачами данных

    Это поле определяет значение задержки между двумя последовательными передачами данных с одним и тем же периферийным устройством без снятия уровня выбора корпуса. Это время выдерживается каждый после каждой осуществленной передачи, и, при необходимости, перед снятием уровня выбора корпуса.

    При значении DLYBCT, равном нулю, никакой задержки между последовательными передачами не происходит и синхронизация передачи данных продолжается после завершения передачи пакетов.

    В прочих случаях значение задержки определяется следующим выражением:



<--Предыдущая страница Оглавление Следующая страница -->