Файл: Семейство микроконтроллеров MSP430X1XX, руководство пользователя (2004).pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 16.06.2025
Просмотров: 2798
Скачиваний: 1
Раздел XIII. |
Периферийный интерфейс USART, режим UART |
Блоки
символов
UTXDx/URXDx
Периоды простоя из 10 бит и более |
||||||||||||||||
Расширенный |
||||||||||||||||
UTXDx/URXDx |
ST |
UTXDx/URXDx |
ST |
ST |
||||||||||||
Адрес |
SP |
Данные |
SP |
Данные |
SP |
|||||||||||
Первый фрейм в составе Фрейм в составе блока |
Фрейм в составе блока |
|||||||||||||||
блока является адресом. |
||||||||||||||||
Он следует за периодом |
Период простоя менее 10 бит |
|||||||||||||||
простоя из 10 или более бит |
||||||||||||||||
Рис. 13-3. Формат свободной линии
Первый символ, принятый после периода простоя является символом, содержащим адрес. Бит RXWAKE используется как адресный тэг для каждого фрейма. В многопроцессорном формате свободной линии этот бит установлен, когда принятый символ – адрес, помещенный в UxRXBUF.
Бит URXWIE используется для приема управляющих данных в многопроцессорном формате со свободной линией. Когда бит URXWIE установлен, все неадресные символы обрабатываются, но не перемещаются в UxRXBUF и прерывания не генерируются. Когда принят адресный символ, приемник временно активизируется для переноса символа в UxRXBUF и установки флага прерывания URXIFGx. Любой соответствующий флаг ошибки также устанавливается. Теперь пользователь может проверить корректность принятого адреса.
Если адрес принят, программное обеспечение пользователя может проверить правильность адреса и должно сбросить URXWIE для продолжения приема данных. Если URXWIE остается установленным, будут приниматься только адресные символы. Бит URXWIE не изменяется автоматически аппаратным обеспечением USART.
При передаче адреса в многопроцессорном формате со свободной линией точный период простоя для генерации идентификаторов адресного символа на UTXDx может быть сгенерирован модулем USART. Флаг временного пробуждения (WUT) – внутренний флаг с двойной буферизацией битом TXWAKE, доступным пользователю. Когда передатчик загружен из UxTXBUF, WUT также загружается из TXWAKE, сбрасывая бит TXWAKE.
Библиотека Компэла |
225 |
|
MSP430x1xxFamily
Следующая процедура посылает фрейм простоя для указания, что далее следует символ адреса:
1)Устанавливается TXWAKE, что приводит к записи любого символа в UxTXBUF. UxTXBUF должен быть готов для новых данных (UTXIFGx=1). Значение TXWAKE сдвигается в WUT и содержимое UxTXBUF сдвигается в сдвиговый регистр передачи, когда он готов для передачи новых данных. Это приводит к установке бита WUT, который препятствует нормальной передаче битов старта, данных и контроля четности, поэтому происходит передача периода простоя длительностью точно 11 бит. Когда для свободной линии используются два стоповых бита, второй стоповый бит считается первым маркерным битом периода простоя. Бит TXWAKE сбрасывается автоматически.
2)Записывается желаемый адресный символ в UxTXBUF. UxTXBUF должен быть готов для новых данных (UTXIFGx=1).
Новый символ, представляющий заданный адрес, сдвигается наружу после периода простоя, идентифицировавшего адрес на UTXDx. Необходима запись первого незначащего символа в UxTXBUF для сдвига бита TXWAKE в WUT и генерации состояния свободной линии. Эти данные отбрасываются и не появляются на UTXDx.
Многопроцессорный формат с адресным битом
Когда MM=1, выбирается многопроцессорный формат с адресным битом. Каждый обрабатываемый символ содержит дополнительный бит, используемый как указатель адреса (см. рис. 13-4). Первый символ в блоке фреймов несет установленный бит адреса, который указывает, что этот символ является адресом. Бит USART RXWAKE устанавливается, когда принятый символ является правильным адресом фрейма, помещенным UxRXBUF.
Бит URXWIE используется для приема управляющих данных в многопроцессорном формате с адресным битом. Когда бит URXWIE установлен, символы данных (бит адреса равен 0) обрабатываются приемником, но не перемещаются в UxRXBUF и прерывания не генерируются. Когда принятый символ содержит установленный адресный бит, приемник временно активизируется для переноса символа в UxRXBUF и установки флага прерывания URXIFGx. Любой соответствующий флаг ошибки также устанавливается.
Если адрес принят, программное обеспечение пользователя может должно сбросить URXWIE для продолжения приема данных. Если URXWIE остается установленным, будут приниматься только адресные символы (адресный бит равен 1). Бит URXWIE не изменяется автоматически аппаратным обеспечением USART.
226 |
Библиотека Компэла |
|
MSP430x1xxFamily
тановке любого из этих флагов также устанавливается RXERR. Ситуации сбоев описаны в таблице 13-1.
Таблица 13-1. Ошибки приема
Ошибочное
Описание
состояние
Ошибка фрейма (кадровой синхронизации) происходит при обнаружении Ошибка стопового бита с низким уровнем. Когда используется два стоповых бита, на фрейма ошибку фрейма проверяется только первый стоповый бит. При обнаружении
ошибки фрейма устанавливается бит FE.
Ошибка четности – несоответствие между числом единиц в фрейме и значе- Ошибка чет- нием бита четности. Когда бит адреса включен в фрейм, он учитывается при ности определении четности. При обнаружении ошибки четности устанавливается
бит PE.
Ошибка пе- Ошибка переполнения появляется в случае, когда символ загружается в реполнения UxRXBUF до прочтения предыдущего символа. Когда происходит перполнение,
приема устанавливается бит OE.
Ошибка
Состояние разрыва – это период 10 или более нулевых битов, принятых на
прерывания
URXDx после пропущенного стопового бита. Когда обнаруживается состояние
(разрыва)
разрыва, устанавливается бит BRK. Состояние разрыва также устанавливает флаг прерывания URXIFGx.
Если обнаружена ошибка фрейма, четности или состояние разрыва и URXEIE=0, никакой символ не принимается в UxRXBUF. Когда URXEIE=1, символы принимаются в UxRXBUF и устанавливается любой соответствующий бит ошибки.
Когда любой из битов FE, PE, OE, BRK или RXERR установлен, он остается установленным до сброса программным обеспечением или до чтения UxRXBUF.
13.2.4. Разрешение приема USART
Бит разрешения приема URXEx разрешает или запрещает получение данных на URXDx, как показано на рис. 13-5. Отключение приемника USART приводит к останову операции приема, начиная с символа, следующего за получаемым в настоящий момент символом или немедленно, если прием не выполняется. Буфер принимаемых данных UxRXBUF содержит символ, перемещенный из сдвигового регистра RX после его приема.
Примечание: Повторное разрешение работы приемника (установкой URXEx): режим UART
Если приемник отключен (URXEx=0), его включение (URXEx=1) выполняется асинхронно любому потоку данных, который может присутствовать в этот
228 |
Библиотека Компэла |
|
Раздел XIII. |
Периферийный интерфейс USART, режим UART |
|||
URXEx = 0 |
Неправильный |
Символ не скомплектован |
||
стартовый бит |
||||
URXEx = 1 |
Состояние |
URXEx = 1 |
Комплекто• |
Условие обработки |
Прием |
простоя |
вание |
||
запрещен |
(приемник |
правильный |
символа |
прерывания |
URXEx = 0 |
выключен) |
стартовый |
приемником |
|
бит |
Символ |
|||
URXEx = 1 |
принят |
URXEx = 0 |
Рис. 13-5. Диаграмма состояний при разрешении приема
момент на URXDx. В этом случае синхронизация может быть выполнена путем проверки свободного состояния линии перед приемом правильного символа (см. URXWIE).
13.2.5. Разрешение передачи USART
Передатчик USART включен, когда установлен бит UTXEx. Передача инициируется путем записи данных в UxTXBUF. При этом данные перемещаются в сдвиговый регистр передачи на следующем после опустошения сдвигового регистра TX импульсе BITCLK и передача начинается. Этот процесс показан на рис. 13-6.
Если бит UTXEx сбрасывается, передача прекращается. Выполнение опе-
UTXEx = 0 |
Данные не записываются |
|||
в буфер передачи |
Не завершено |
|||
UTXEx = 1 |
Состояние |
UTXEx = 1 |
Условие обработки |
|
Передача |
простоя |
Выполнение |
||
запрещена |
(передатчик |
Данные |
передачи |
прерывания |
UTXEx = 0 |
включен) |
записываются |
||
в буфер передачи |
||||
Символ передан
UTXEx = 1
UTXEx = 0, переданы последние введенные в буфер данные
Рис. 13-6. Диаграмма состояний при разрешении передачи
раций перемещения любых данных в UxTXBUF и передачи любых данных в сдвиговый регистр передачи, начатых до очистки бита UTXEx будет продолжено, пока передача не закончится.
Библиотека Компэла |
229 |
|