Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 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#.Введите сюда краткую аннотацию

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

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT