Периферийный интерфейс USART, режим SPI
14.3 Регистры USART: режим SPI
Регистры USART, показанные в таблице 14-1 и таблице 14-2, структурированы побайтно, поэтому доступ к ним необходимо выполнять с помощью команд работы с байтами.
Таблица 14-1. Регистры управления и статуса USART0
Регистр |
Краткое обозначение |
Тип регистра |
Адрес |
Исходное состояние |
Регистр управления USART |
U0CTL |
Чтение/запись |
070h |
001h после PUC |
Регистр управления передачей |
U0TCTL |
Чтение/запись |
071h |
001h после PUC |
Регистр управления приемом |
U0RCTL |
Чтение/запись |
072h |
000h после PUC |
Регистр управления модуляцией |
U0MCTL |
Чтение/запись |
073h |
Не изменяется |
Регистр 0 управления скоростью передачи |
U0BR0 |
Чтение/запись |
074h |
Не изменяется |
Регистр 1 управления скоростью передачи |
U0BR1 |
Чтение/запись |
075h |
Не изменяется |
Регистр буфера приема |
U0RXBUF |
Чтение |
076h |
Не изменяется |
Регистр буфера передачи |
U0TXBUF |
Чтение/запись |
077h |
Не изменяется |
Регистр 1 включения модуля SFR* |
ME1 |
Чтение/запись |
004h |
000h после PUC |
Регистр 1 разрешения прерывания SFR* |
IE1 |
Чтение/запись |
000h |
000h после PUC |
Регистр 1 флага прерывания SFR* |
IFG1 |
Чтение/запись |
002h |
082h после PUC |
* Не применимо к устройствам MSP430x12xx. См. описания регистров для выяснения расположения регистров и бит в этих устройствах.
Таблица 14-2. Регистры управления и статуса USART1
Регистр |
Краткое обозначение |
Тип регистра |
Адрес |
Исходное состояние |
Регистр управления USART |
U1CTL |
Чтение/запись |
078h |
001h после PUC |
Регистр управления передачей |
U1TCTL |
Чтение/запись |
079h |
001h после PUC |
Регистр управления приемом |
U1RCTL |
Чтение/запись |
07Ah |
000h после PUC |
Регистр управления модуляцией |
U1MCTL |
Чтение/запись |
07Bh |
Не изменяется |
Регистр 0 управления скоростью передачи |
U1BR0 |
Чтение/запись |
07Ch |
Не изменяется |
Регистр 1 управления скоростью передачи |
U1BR1 |
Чтение/запись |
07Dh |
Не изменяется |
Регистр буфера приема |
U1RXBUF |
Чтение |
07Eh |
Не изменяется |
Регистр буфера передачи |
U1TXBUF |
Чтение/запись |
07Fh |
Не изменяется |
Регистр 2 включения модуля SFR |
ME2 |
Чтение/запись |
005h |
000h после PUC |
Регистр 2 разрешения прерывания SFR |
IE2 |
Чтение/запись |
001h |
000h после PUC |
Регистр 2 флага прерывания SFR |
IFG2 |
Чтение/запись |
003h |
020h после PUC |
Примечание: Изменение битов SFR
Чтобы избежать изменения управляющих битов другими модулями, рекомендуется устанавливать или очищать биты IEx и IFGx с помощью команд BIS.B или BIC.B вместо команд MOV.B или CLR.B.
|
UxCTL, регистр управления USART
Не исполь зуется |
Не исполь зуется |
I2C* |
CHAR |
LISTEN |
SYNC |
MM |
SWRST |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-1 |
Не используется |
Биты 7-6 |
Не используются |
I2C* |
Бит 5 |
Включение режима I2C. Этот бит позволяет выбрать режим I2C или SPI, когда SYNC=1.
0 Режим SPI
1 Режим I2C
|
CHAR |
Бит 4 |
Длина символа
0 7-разрядные данные
1 8-разрядные данные
|
LISTEN |
Бит 3 |
Включение прослушивания. Бит LISTEN включает режим обратной петли.
0 Отключен
1 Включен. Сигнал передачи внутренне подключается назад к приемнику
|
SYNC |
Бит 2 |
Включение синхронного режима
0 Режим UART
1 Режим SPI
|
MM |
Бит 1 |
Режим ведущего
0 USART ведомый
1 USART ведущий
|
SWRST |
Бит 0 |
Включение программного сброса
0 Отключен. Сброс USART исключен из работы
1 Разрешен. Логика USART удерживается в состоянии сброса
|
*Применимо к USART0 только в устройствах MSP430x15x и MSP430x16x.
UxTCTL, регистр управления передачей USART
CKPH |
CKPL |
SSELx |
Не исполь зуется |
Не исполь зуется |
STC |
TXEPT |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-1 |
CKPH |
Бит 7 |
Выбор фазы тактирования. Управляет фазой UCLK.
0 Обычная схема тактирования UCLK
1 Сигнал UCLK отстает на один полупериод
|
CKPL |
Бит 6 |
Выбор полярности тактового сигнала.
0 Неактивный уровень низкий;
вывод данных происходит по нарастающему фронту UCLK;
входные данные защелкиваются по спаду UCLK.
1 Неактивный уровень высокий;
вывод данных происходит по спаду UCLK;
входные данные защелкиваются по нарастающему фронту UCLK.
|
SSELx |
Биты 5-4 |
Выбор источника. Эти биты выбирают источник тактирования для BRCLK
00 Внешний UCLK (действует только в режиме ведомого)
01 ACLK (справедливо только для режима ведущего)
10 SMCLK (справедливо только для режима ведущего)
11 SMCLK (справедливо только для режима ведущего)
|
Не используется |
Биты 2-3 |
Не используется |
STC |
Бит 1 |
Управление передачей ведомого.
0 4-х выводной режим SPI: STE включен
1 3-х выводной режим SPI: STE выключен
|
TXEPT |
Бит 0 |
Флаг опустошения передатчика. Флаг TXEPT не используется в режиме ведомого.
0 Передача активна и/или в UxTXBUF находятся данные
1 UxTXBUF и сдвиговый регистр TX пусты
|
UxRCTL, регистр управления приемом USART
FE |
Не исполь зуется |
OE |
Не исполь зуется |
Не исполь зуется |
Не исполь зуется |
Не исполь зуется |
Не исполь зуется |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
rw-0 |
FE |
Бит 7 |
Флаг ошибки фрэйма. Этот бит указывает на конфликт шины, когда MM=1 и STC=0. FE не используется в режиме ведомого.
0 Конфликт не обнаружен
1 На STC появился отрицательный фронт, указывая на конфликт при обращении к шине
|
Не используется |
Бит 6 |
Не используется |
OE |
Бит 5 |
Флаг ошибки переполнения. Этот бит устанавливается, когда символ перемещен в UxRXBUF до завершения чтения предыдущего символа. OE автоматически сбрасывается, когда UxRXBUF прочитан, когда SWRST=1, а также может быть сброшен программно.
0 Нет ошибки
1 Произошла ошибка переполнения
|
Не используется |
Биты 4-0 |
Не используется |
UxBR0, регистр 0 управления скоростью передачи USART
UxBR1, регистр 1 управления скоростью передачи USART
215 |
214 |
213 |
212 |
211 |
210 |
29 |
28 |
UxBRx |
Биты 7-0 |
Генератор скорости передачи использует содержимое {UxBR1+UxBR0} для установки скорости передачи. Наименьший коэффициент деления равен двум. |
UxMCTL, регистр управления модуляцией USART
UxMCTLx |
Биты 7-0 |
Регистр управления модуляцией не используется в режиме SPI и должен быть установлен на 000h. |
UxRXBUF, регистр буфера приема USART
UxRXBUFx |
Биты 7-0 |
Буфер принятых данных доступен пользователю и содержит последний принятый из сдвигового регистра приема символ. Чтение UxRXBUF сбрасывает бит OE и флаг URXIFGx. В режиме 7-разрядных данных, UxRXBUF выравнивается по младшему разряду, а старший разряд всегда сбрасывается. |
UxTXBUF, регистр буфера передачи USART
UxTXBUFx |
Биты 7-0 |
Буфер передаваемых данных доступен пользователю и содержит текущие передаваемые данные. Когда используется длина символа в 7 бит, данные необходимо выровнять по старшему разряду перед перемещением их в UxTXBUF. Данные передаются начиная со старшего разряда. Запись в UxTXBUF очищает UTXIFGx. |
ME1, регистр 1 включения модуля
|
Бит 7 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
USPIE0* |
Бит 6 |
Включение USART0 SPI. Этот бит включает режим SPI для USART0.
0 Модуль выключен
1 Модуль включен
|
|
Биты 5-0 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
* Не используется в устройствах MSP430x12xx. См. ME2 для битов включения модуля USART0 MSP430x12xx.
ME2, регистр 2 включения модуля
|
Биты 7-5 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
USPIE1 |
Бит 4 |
Включение USART1 SPI. Этот бит включает режим SPI для USART1.
0 Модуль выключен
1 Модуль включен
|
|
Биты 3-1 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
USPIE0** |
Бит 0 |
Включение USART0 SPI. Этот бит включает режим SPI для USART0.
0 Модуль выключен
1 Модуль включен
|
** Только устройства MSP430x12xx
IE1, регистр 1 разрешения прерываний
UTXIE0* |
Бит 7 |
Разрешение прерывания при передаче USART0. Этот бит разрешает прерывание UTXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
URXIE0* |
Бит 6 |
Разрешение прерывания при приеме USART0. Этот бит разрешает прерывание URXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
|
Биты 5-0 |
Эти биты могут быть использованы другими модулями. См. справочные данные конкретного устройства. |
* Не используется в устройствах MSP430x12xx. См. IE2 для битов разрешения прерывания USART0 MSP430x12xx.
IE2, регистр 2 разрешения прерывания
UTXIE1 |
URXIE1 |
|
|
UTXIE0** |
URXIE0** |
|
|
|
Биты 7-6 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIE1 |
Бит 5 |
Разрешение прерывания при передаче USART1. Этот бит разрешает прерывание UTXIFG1.
0 Прерывание не разрешено
1 Прерывание разрешено
|
URXIE1 |
Бит 4 |
Разрешение прерывания при приеме USART1. Этот бит разрешает прерывание URXIFG1.
0 Прерывание не разрешено
1 Прерывание разрешено
|
|
Биты 3-2 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIE0** |
Бит 1 |
Разрешение прерывания при передаче USART0. Этот бит разрешает прерывание UTXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
URXIE0** |
Бит 0 |
Разрешение прерывания при приеме USART0. Этот бит разрешает прерывание URXIFG0.
0 Прерывание не разрешено
1 Прерывание разрешено
|
** Только в устройствах MSP430x12xx
IFG1, регистр 1 флагов прерываний
UTXIFG0* |
Бит 7 |
Флаг прерывания при передаче USART0. UTXIFG0 устанавливается, когда U0TXBUF пуст.
0 Прерывание не ожидается
1 Прерывание ожидается
|
URXIFG0* |
Бит 6 |
Флаг прерывания при приеме USART0. URXIFG0 устанавливается, когда в U0TXBUF принят полный символ.
0 Прерывание не ожидается
1 Прерывание ожидается
|
|
Биты 5-0 |
Эти биты могут быть использованы другими модулями. См. справочные данные конкретного устройства. |
* Не используется в устройствах MSP430x12xx. См. IFG2 для битов флагов прерывания USART0 MSP430x12xx.
IFG2, регистр 2 флагов прерываний
|
|
UTXIFG1 |
URXIFG1 |
|
|
UTXIFG0** |
URXIFG0** |
|
Биты 7-6 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIFG1 |
Бит 5 |
Флаг прерывания при передаче USART1. UTXIFG1 устанавливается, когда U1TXBUF пуст.
0 Прерывание не ожидается
1 Прерывание ожидается
|
URXIFG1 |
Бит 4 |
Флаг прерывания при приеме USART1. URXIFG1 устанавливается, когда в U1RXBUF принят полный символ.
0 Прерывание не ожидается
1 Прерывание ожидается
|
|
Биты 3-2 |
Эти биты могут использоваться другими модулями. См. справочные данные конкретного устройства. |
UTXIFG0** |
Бит 1 |
Флаг прерывания при передаче USART0. UTXIFG0 устанавливается, когда U0TXBUF пуст.
0 Прерывание не ожидается
1 Прерывание ожидается
|
URXIFG0** |
Бит 0 |
Флаг прерывания при приеме USART0. URXIFG0 устанавливается, когда в U0RXBUF принят полный символ.
0 Прерывание не ожидается
1 Прерывание ожидается
|
** Только в устройствах MSP430x12xx
|