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

Контроллер интерфейса SCI в составе МК 68HC12 обслуживают две линии ввода/вывода: TxD — выход передатчика контроллера SCI, RxD — вход приемника контроллера SCI. При использовании асинхронного интерфейса SCI взаимодействующие устройства перед сеансом обмена должны обязательно «договориться» о скорости передачи данных. Если передатчик находится в неактивном состоянии (Idle), то на его выходе устанавливается сигнал высокого логического уровня (рис. 4.56). В это время приемник аналогичного контроллера SCI на другом конце линии постоянно сканирует уровень сигнала на входе RxD. Если приемник обнаруживает, что сигнал на линии изменил состояние с 1 на 0, то он производит несколько контрольных выборок сигнала, чтобы убедиться в наличии на линии низкого логического уровня. Если низкий уровень присутствует на линии в течение времени, равного интервалу передачи одного бита для установленной скорости обмена, то приемник распознает такое состояние как старт-бит (рис. 4.56) и начинает прием последующих бит данных. В процессе приема аппаратные средства приемника формируют метки времени, которые должны соответствовать середине интервала присутствия на линии каждого бита. По каждой метке производятся три выборки уровня сигнала на линии. По результатам выборки методом мажоритарной логики определяется значение очередного принятого бита информации. Если все три значения равны, то прием бита полностью успешный. Если значения разные, то аппаратные средства приемника устанавливают бит звона на линии, который затем может быть использован программистом при оценке надежности приема. После приема восьми (при использовании бита паритета девяти) бит данных приемник контролирует наличие на линии логической 1. Это стоп-бит, который завершает прием одного кадра. Если аппаратные средства приемника не обнаружили на линии стоп-бита, будет установлен бит ошибки формата кадра. Тогда весь кадр должен быть воспринят программой как ошибочный.

В синхронных последовательных интерфейсах передача по линии каждого бита сопровождается сигналом подтверждения по другой вспомогательной линии. Эту линию в интерфейсе SPI обозначают как SCK (Shift Clock). Такой способ передачи данных позволяет достичь очень высоких скоростей обмена. Именно он и используется в контроллерах SPI в составе МК 68HC12.

4.17.1. Термины последовательного обмена

На рис. 4.57 представлена обобщенная временная диаграмма обмена в последовательном коде. Эта диаграмма позволит нам познакомиться с терминами, которые принято использовать при описании последовательного обмена.

Рис. 4.57. Временные диаграммы синхронного последовательного обмена


Синхронизация (clock): Сигнал, который определяет скорость обмена данными в последовательных синхронных интерфейсах. Как следует из рис. 4.57, каждый бит передаваемых данных сопровождается одним импульсом синхронизации.

Скорость обмена (bit rate): Число бит, которые передаются по линии в одну секунду (бит/с). Скорость обмена в бит/с равна частоте сигнала синхронизации в Гц.

Скорость обмена (baud rate): Число бит, которые передаются по линии в одну секунду, выраженная в бодах. 1 бод = 1 бит/с.

Время передачи одного бита (bit time): Определяет временной интервал, в течение которого по линии передается один бит информации. Вычисляется как 1/(скорость обмена).

Кодирование информации для передачи одного бита (line code): Способ представления одного бита информации при передаче линиям связи.

Микроконтроллеры 68HC12 используют NRZ-кодирование (NonReturn to Zero — код с невозвращением к нулю). Этот способ кодирования предполагает, что при передаче единицы на линию выставляется высокий логический уровень, при передаче 0 — низкий логический уровень.

Рис. 4.58. Временные диаграммы передачи данных в коде с невозвращением к нулю


Стандартный американский код ASCII (American Standard Code for Information Interchange): Принятый всеми производителями вычислительной техники способ кодирования букв и цифр, а также знаков пунктуации. Каждый из перечисленных символов представляется одним байтом. При кодировании букв латинского алфавита используются только 7 младших битов, старший бит байта остается нулевым. В этот бит может быть помещен бит паритета. Таблица кодов представления символов латинского алфавита приведена на рис. 4.59.

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

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

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

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

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

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

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

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

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