Разработка контроллера управления последовательным портом

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

?ший бит D7 используется для контроля правильности приема. С этой целью передающий МК кодирует бит паритета D7 из условия четного (контроль на четность) и нечетного (контроль на нечетность) числа единиц в передаваемом слове, а принимающий МК производит проверку принятого кода. Следует заметить, что не все модули типа UART 8-разрядных МК имеют опцию автоматического формирования бита паритета.

Временная диаграмма 11-битного кадра асинхронного обмена представлена на рис. 1.3: 9 бит данных обрамляются одним стартовым и одним стоповым битом. Старший бит D8 помещается или передается в один из регистров управления модулем. Рассматриваемый формат представления кадра обычно используется для организации протокола обмена верхнего уровня в локальных сетях на основе нескольких МК.

 

Рисунок 1.3 - Временная диаграмма 11-битного кадра

 

Аппаратные средства приемника диагностируют три типа ошибок: наличие шума на линии RXD, нарушение формата принимаемого кадра, попытка записи очередного принятого байта в буферный регистр данных приемника, в то время как предыдущие данные из буферного регистра еще не считаны.

Для повышения достоверности приема каждого разряда аппаратные средства модуля SCI считывают уровень сигнала на входе RXD три раза в течение интервала присутствия бита. Значение бита, которое будет занесено в младший разряд сдвигового регистра приемника, определяется мажоритарным способом: по принципу два из трех. Модули SCI сообщают пользователю о наличии шума на линии приема: если не все три значения при приеме любого из битов кадра совпали, то устанавливается флаг NE (Noise Error).

В процессе выполнения подпрограммы обработки прерывания принятый байт данных считывается из регистра данных приемника в память МК. Сразу после копирования байта данных из сдвигового регистра в буфер приемник может начать формирование следующего байта данных, отдельные биты которого продолжают поступать на вход RXD. Однако необходим, чтобы центральный процессор МК успел считать данные из буферного регистра до завершения формирования в сдвиговом регистре следующего принятого байта. Если этого не произошло, то возникает аварийная ситуация. В модулях SCI фирмы Motorola запись следующего байта в буферный регистр данных не производится и устанавливается флаг ошибки OR (Overrun). Этот флаг может генерировать запрос на прерывание от приемника. Стоповому биту соответствует уровень логической единицы. Если оказалось, что на месте стопового бита обнаружен сигнал логического нуля, то произошла ошибка кадра. Наиболее часто ошибки кадра появляются тогда, когда приемник ошибочно синхронизирован с битом 0, который в действительности не является стартовым битом.

 

.2 Интерфейс RS-232C

 

Модули типа UART в асинхронном режиме работы позволяют реализовать протокол обмена для интерфейсов RS-232C, RS-422A, RS-485. Последовательный интерфейс передачи данных RS-232C остается распространенным интерфейсом периферийного оборудования компьютеров. Но на смену ему все активнее внедряется интерфейс USB.

Аббревиатура RS-232C буквально означает: Рекомендуемый Стандарт 232 версия С (Recommended Standard 232 revision C). Он определен стандартом Ассоциации электронной промышленности (ЕIА) и подразумевает наличие оборудования двух видов: терминального (DTE- Data Terminal Equipment) и связного (DCE- Data Communication Equipment). В качестве терминального оборудования может быть использован персональный компьютер, способный производить прием или передачу данных по последовательному интерфейсу. Под связным оборудованием понимаются устройства, которые могут упростить последовательную передачу данных совместно с терминальным оборудованием. Наглядным примером связного оборудования служит модем. Также интерфейс используется в самых различных устройствах, в том числе для обеспечения коммуникаций между компьютером и встраиваемой МП-системой управления.

Обмен данными производится по двум линиям: линия RXD используется для приема данных, линия TXD - для передачи данных. Линия передачи одного устройства соединяется с линией приема другого, и наоборот (полный дуплекс). Для управления соединенными устройствами используется программное подтверждение (введение в поток передаваемых данных соответствующих управляющих символов). Возможна организация аппаратного подтверждения путем организации дополнительных линий RS-232 для обеспечения функций определения статуса и управления. Максимальная скорость передачи данных по линиям шины RS-232C составляет 115 кбит/с. Максимальная протяженность линии связи, по которым может быть осуществлена передача данных, составляет 15 м.

Большинство систем используют асинхронный режим передачи данных интерфейса RS-232, несмотря на то, что его спецификация предусматривает также синхронный режим. В асинхронном режиме каждый пакет содержит один символ кода ASCII или один байт произвольно закодированной информации. ASCII (American Standard Code for Information Interchange) - американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованным 8-м битом и второй половиной кодовой таблицы (например КОИ-8). КОИ-8 (код обмена информацией, 8 битов), KOI8 - восьмибитовая ASCII-совместимая кодовая стра