Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

где SBR — десятичный эквивалент двоичного кода, который должен быть записан в разряды SBR12…SBR0 регистров SCxBDH и SCxBDL, PCLOCK — частота импульсной последовательности PCLK в Герцах, BAUD_RATE — частота обмена в бодах.

Желаемая скорость обмена (бод)Значение коэффициента при частоте внутренней системной шины
4 МГц8 МГц
11022734545
3008331667
600417833
1200208417
2400104208
480052104
96002652
144001735
192001326
3840013

Рис. 4.62. Выбор коэффициента деления модуля SCI


Рис. 4.63. Формат регистра скорости обмена SCxBDH/SCxBDL


Пример

Необходимо настроить первый контроллер асинхронного обмена (SCI0) на скорость 9600 бод. Если частота импульсной последовательности PCLK равна 8 МГц, то коэффициент деления, который должен быть записан в регистры SC0BDH и SC0BDL, равен:

SBR0 = 8000000/(16x9600) = 52 = $34

Следующий программный фрагмент реализует инициализацию скорости обмена:

/*----------------------*/

/* filename: ini_SCI0.c */

/*----------------------*/

#include <912b32.h>


void main(void) {

 SC0BDH = 0х00;

 SC0BDL = 0х34;

}

/*----------------------*/

Регистры управления SCxCR1 и SCxCR2

Рис. 4.64. Формат регистра управления SCxCR1


Формат первого регистра управления контроллера SCI представлен на рис. 4.64. Биты этого регистра имеет следующее назначение:

LOOPS:

Бит разрешения «замкнутого» режима работы контроллера SCI. Установка в 1 бита LOOPS вызывает перекоммутацию входа приемника линии RxD, который внутренними средствами отсоединяется от вывода RxD и подсоединяется к выходу передатчика. В этом режиме возможен контроль передаваемой информации. Также режим может быть использован для тестирования работы программного обеспечения без использования устройства управления верхнего уровня. Для реализации «замкнутого» режима должна быть разрешена работа как передатчика, так и приемника.

1 — «замкнутый» режим работы разрешен;

0 — «замкнутый» режим работы запрещен.

WOMS:

Бит выбора режима открытого коллектора. Этот бит определяет состояние выходных буферов линий TxD и RxD.

1 — буферы переведены в режим открытого коллекторного выхода;

0 — буферы работают в режиме обычного двухстабильного логического выхода (TxD) и входа (RxD).

Перевод линий TxD и RxD в режим открытого коллектора позволяет соединить их по схеме «монтажное И», что делает возможным двусторонний обмен по одной линии. Кроме того, при такой конфигурации возможно создание системы с несколькими передающими устройствами.

RSRC:

Бит выбора внутренней схемотехники в «замкнутом» режиме работы. Если бит LOOPS = 1 и бит RSRC = 1 то вход приемника коммутируется непосредственно к выводу TxD микроконтроллера. При RSRC = 0 вход приемника подсоединяется к выходу передатчика внутри МК.

M:

Бит выбора формата кадра асинхронного обмена.

1 — 11-битовый формат кадра: 1 стартовый бит, 9 бит слова данных, 1 стоповый бит;

0 — 10-битовый формат кадра: 1 стартовый бит, 8 бит слова данных, 1 стоповый бит.

WAKE:

Бит выбора способа выхода приемника из неактивного состояния:

1 — установка маркера адреса (бит D7 при M=0 или бит D8 при M=1) ) переводит приемник в активный режим работы;

0 — состояние IDLE на линии переводит приемник в активное состояние.

После сброса МК бит устанавливается в 0.

ILT:

Бит выбора режима распознавания неактивного состояния линии RxD. Этот бит определяет момент начала отсчета для определения неактивного состояния линии RxD:

1 — отсчет начинается после идентификации стоп-бита;

0 — отсчет начинается после идентификации старт-бита.

После сброса МК бит устанавливается в 0.

PE:

Бит разрешения работы логики паритета.

1 — формирование бита паритета передатчиком и его анализ приемником реализуются;

0 — функция паритета отключена.

PT:

Бит выбора четного или нечетного паритета (Parity Bit)

1 — бит паритета формируется из условия нечетного числа 1 в слове;

0 — бит паритета формируется из условия четного числа 1 в слове.

Рис. 4.65. Формат регистра управления SCxCR2


Формат второго регистра управления контроллера SCI приведен на рис. 4.65. Четыре старших бита этого регистра (TIE, TCIE, RIE, ILIE) разрешают генерацию запросов на прерывания по разным событиям контроллера SCI. Назначение отдельных битов регистра SCxCR2 следующее:

TIE:

Бит разрешения прерывания от передатчика контроллера SCI. Этот бит разрешает генерацию запроса на прерывание при установке в 1 флага готовности буфера данных передатчика к приему от программы нового байта (бит TDRE).

1 — прерывания от передатчика по флагу SCDE разрешены;

0 — прерывания от передатчика по флагу SCDE запрещены.

TCIE:

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже