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

 • Наоборот, если число нечетное (при четном паритете) или четное (при нечетном паритете), то бит паритета устанавливается равным 1.

4.18.1. Передатчик контроллера SCI

Функциональная схема передатчика в составе контроллера SCI представлена на рис. 4.60. Основным ее элементом является 11-разрядный сдвиговый регистр. Ранее, рассматривая временные диаграммы обмена, Вы могли заметить, что код символа ASCII содержит всего 7 бит. Зачем тогда передатчик использует 11-разрядный регистр? Дело в том, что в разряды этого регистра аппаратными средствами вписывается стартовый и стоповый биты. Кроме того, предусмотрена возможность обмена и 8-разрядными словами данных. В этом случае бит паритета уже невозможно будет поместить на место разряда D7, и для него предусмотрели разряд D8 сдвигового регистра. Аппаратные средства передатчика предусматривают возможность формирования как 10-разрядного кадра обмена (8 бит данных, старт и стоп-биты), так и 11-разрядного (9 бит данных, старт и стоп-биты). Выбор формата кадра обмена определяет бит M в регистре управления.

Рис. 4.60. Аппаратные средства блока передатчика в составе контроллера асинхронного обмена


Аппаратные средства передатчика модуля SCI в составе МК 68HC12 предусматривают возможность автоматического (без специальных команд программы) формирования бита паритета по содержимому передаваемого слова данных.

Блок управления формирует все необходимые сигналы для корректной работы аппаратных средств передатчика. Работа передатчика разрешается независимо от состояния приемника в составе этого же контроллера SCI. Если бит TE в регистре управления установлен, то работа передатчика активизируется, и соответствующий вывод порта PORT S конфигурируется как выход TxD. Блок управления также генерирует все запросы на прерывания, связанные с работой передатчика.

Скорость передачи данных определяется программируемым делителем, на вход которого поступает импульсная последовательность P_CLOCK системы тактирования МК. Коэффициент деления назначается битами SBR12…SBR0 регистра скорости обмена.

Байт данных, подлежащий передаче, должен быть записан с использованием любой команды пересылки в регистр данных контроллера SCI. Если сдвиговый регистр в момент записи не занят, то байт данных будет автоматически перемещен из регистра данных в сдвиговый регистр. При этом бит паритета, стартовый и стоповый биты будут подставлены автоматически. Далее без дополнительных команд программы управления начнется передача сформированного в сдвиговом регистре кадра обмена на выход TxD.

4.18.2. Приемник контроллера SCI

Функциональная схема приемника в составе контроллера SCI представлена на рис. 4.61. Так же, как и в приемнике, основным ее элементом является 11-разрядный сдвиговый регистр. Однако это уже собственный регистр приемника, поскольку контроллер SCI обеспечивает возможность обмена в двух направлениях одновременно. Напротив, программируемый делитель является общим для приемника и передатчика. Поэтому скорость приема и передачи данных для одного и того же контроллера SCI всегда одинакова.

Рис. 4.61. Аппаратные средства блока приемника в составе контроллера асинхронного обмена


Работа приемника разрешается установкой бита PE в регистре управления. Если приемник активирован, то соответствующая линия порта PORT S конфигурируется как вход RxD. Блок мажоритарной логики обрабатывает входной сигнал и формирует очередной младший бит сдвигового регистра приемника. В процессе приема каждый поступающий бит опрашивается три раза. Если все три выборки совпали (три 1 или три 0), то соответствующее значение передается в сдвиговый регистр. При несовпадении (два бита равны 1, третий — 0, или наоборот) значение бита формируется по логике «два из трех». Но одновременно устанавливается бит наличия шума на линии NF.

По завершении приема всех 10 или 11 бит кадра приемник автоматически переписывает принятую информацию в регистр данных контроллера SCI и устанавливает в 1 флаг RDRF, который информирует МК о необходимости считывания принятого байта в память МК.

4.18.3. Регистры контроллера SCI

Контроллер асинхронного обмена обслуживается несколькими группами регистров специальных функций:

• Регистры скорости обмена;

• Регистры управления;

• Регистры состояния;

• Регистры данных.

Далее мы рассмотрим формат и назначение битов каждого регистра модуля SCI.

Регистры скорости обмена SCxBDH и SCxBDL

Два 8-разрядных регистра SCxBDH и SCxBDL предназначены для управления скоростью обмена по последовательному интерфейсу SCI. Для назначения желаемой скорости используются разряды SBR12…SBR0 этих двух регистров (рис. 4.63). Число, которое следует записать в эти разряды может быть определено с использованием таблицы рис. 4.62 или рассчитано по формуле:

SBR = PCLOCK/(16×BAUD_RATE),

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных