
- •Организация микропроцессорной системы
- •Микропроцессорные устройства на основе мпк серии кр580.
- •Программируемый таймер кр580ви53 (отечественный аналог Intel i8253)
- •Структура таймера
- •Организация передачи данных.
- •Последовательные интерфейсы
- •Управление потоками данных в последовательных интерфейсах
- •Аппаратный протокол управления
- •Программный протокол управления
- •Управление потоком данных
Организация передачи данных.
Интерфейс - совокупность аппаратных и программных средств (элементы соединения и вспомогательные схемы управления, их физические, электрические и логические параметры), предназначенных для организации обмена данными и для сопряжения систем или частей системы (программ и устройств).
Под сопряжением подразумеваются следующие функции:
выдача и прием информации;
управление передачей данных;
согласование источника и приемника информации.
Важное значение имеют также следующие технические характеристики интерфейсов:
вместимость (максимально возможное количество абонентов, одновременно подключаемых к контроллеру интерфейса без расширителей);
пропускная способность или скорость передачи (длительность выполнения операций установления и разъединения связи и степень совмещения процессов передачи данных);
максимальная длина линии связи;
разрядность;
топология соединения.
По функциональному назначению можно выделить системные интерфейсы (интерфейсы, связывающие отдельные части компьютера как микропроцессорной системы) и интерфейсы периферийных устройств.
По физической реализации процесса передачи данных интерфейсы делят на:
последовательный
параллельный.
Последовательные интерфейсы
Последовательный обмен характерен для интерфейсов удаленных или медленнодействующих периферийных устройств, а также для интерфейсов распределенной обработки данных.
Единицей обмена в последовательном формате является символ, представленный в одной из систем кодирования и содержащий 5-8 бит. Примером 5-битного кода служит международный телеграфный код №2. Биты кодируются наличием тока в линии (1 или MARK) либо отсутствием тока (0 или SPACE).
Международное признание получил американский стандартный код обмена информацией ASCII (American Standard Code for Information Interchange), в котором символы кодируются 7 двоичными разрядами. Этот код позволяет передавать цифры, прописные и строчные буквы латинского алфавита, целый ряд других символов (всего 96 символов, т. к. 32 кодовые комбинации выделены для представления команд обмена). На основе этого кода построен отечественный код КОИ-7 (код обмена информацией семиразрядный). Применяется также восьмиразрядный код ДКОИ-8.
Для интерфейсов, обеспечивающих соединение «точка-точка» (в отличие от шинных интерфейсов), возможны следующие реализации режимов обмена:
симплексной (данные передаются только в одну сторону);
полудуплексной (данные передаются в обе стороны, но с разделением во времени. Важной характеристикой полудуплексного соединения является время реверсирования режима – то время, за которое производится переход от передачи сообщения к приему и наоборот);
дуплексной (данные передаются в обоих направлениях одновременно).
Важнейшее требование правильного приема — определение приемником моментов времени, в которые следует воспринять очередной бит данных. Иными словами, речь идет о синхронизации процессов в передатчике и приемнике.
На практике применяют два режима последовательного обмена:
асинхронный режим: каждый символ передается автономно по мере готовности, и передача может быть начата в любой момент времени. Приемник и передатчик данных не знают моменты начала и окончания передачи.
Синхронный режим: При синхронной передаче символы следуют один за другим слитно, поэтому можно говорить о передаче массива символов — текста. Если очередной символ не готов, передача не останавливается, передатчик посылает в линию специальные символы синхронизации, до тех пор, пока не сможет передать следующий символ данных. Синхронный обмен повышает скорость передачи данных.
Асинхронный режим.
При асинхронных передачах посылка (кадр), т. е. группа битов, отображающих символ, имеет следующий формат: начало посылки отмечается нулевым старт - битом, за ним следуют 5...8 информационных (младшим разрядом вперед), затем идет необязательный бит контроля по модулю 2 (бит четности/нечетности) и заканчивается посылка 1; 1,5 или 2 единичными стоп-битами.
_______________________________________________________________________
Контроль по модулю 2.
Контроль правильности передачи и хранения данных – важное условие корректного функционирования цифрового устройства. В этой области простейшим и широко применяемым методом является контроль по модулю 2. Приступая к ознакомлению с этим методом, следует остановиться на некоторых понятиях из теории построения помехоустойчивых кодов.
Кодовая комбинация — набор из символов принятого алфавита.
Код — совокупность кодовых комбинаций, используемых для отображения информации.
Кодовое расстояние между двумя кодовыми комбинациями — число разрядов, в которых эти комбинации отличаются друг от друга.
Минимальное кодовое расстояние — минимальное кодовое расстояние для любой пары комбинаций, входящих в данный код.
Кратностью ошибки называют число ошибок в данном слове (число неверных разрядов).
Из теории кодирования известны условия обнаружения и исправления ошибок при использовании кодов:
Существует также понятие веса комбинации, под которым понимается число единиц в данной комбинации.
Для двоичного кода минимальное кодовое расстояние равно 1, поэтому он не обладает возможностями какого-либо контроля производимых над ним действий. Чтобы получить возможность обнаруживать хотя бы ошибки единичной кратности, нужно увеличить минимальное кодовое расстояние на 1. Это и сделано для кода контроля по модулю 2 (контроля по четности/нечетности).
При этом способе контроля каждое слово дополняется контрольным разрядом, значение которого подбирается так, чтобы сделать четным (нечетным) вес каждой кодовой комбинации. При одиночной ошибке в кодовой комбинации четность (нечетность) ее веса меняется, а такая комбинация не принадлежит к данному коду, что и обнаруживается схемами контроля. При двойной ошибке четность (нечетность) комбинации не нарушается — такая ошибка не обнаруживается.
При контроле по четности вес кодовых комбинаций делают четным, при контроле по нечетности — нечетным. Логические возможности обоих вариантов абсолютно идентичны. В зависимости от технической реализации каналов передачи данных, может проявиться предпочтительность того или иного варианта, поскольку один из вариантов может позволить отличать обрыв всех линий связи от передачи нулевого слова, а другой — нет.
Значения
контрольного разряда
при контроле по четности (
)
и нечетности (
)
приведены для четырехразрядного
информационного слова.
Из приведенного материала следует, что контроль по модулю 2 эффективен там, где вероятность единичной ошибки много больше, чем вероятность двойной (или вообще групповой).
В частности, для полупроводниковой основной памяти компьютеров такая ситуация справедлива, т. к. каждый бит слова хранится в своей собственной ячейке, и наиболее вероятны единичные ошибки. А для памяти на магнитных носителях информации (диски, ленты) дефекты таковы, что обычно затрагивают площадь, на которой размещено несколько бит данных, поэтому для этой памяти контроль по модулю 2 неэффективен.
______________________________________________________________________
В отсутствие передачи линия находится под высоким потенциалом (активная пауза), соответствующим логической единице. Появление низкого уровня означает поступление старт-бита, свидетельствующего о последующей передаче известного заранее числа информационных битов. Далее может идти контрольный бит четности (нечетности), назначение и способ выработки которого уже известны. Стоп-бит также используется для проверки правильности передачи, но уже по другому критерию. Контролируется правильность формата посылки. Отсутствие на позиции стоп-бита высокого уровня напряжения свидетельствует об ошибке формата (кадра, обрамления). Длительность стоп-бита определяет минимальный промежуток между окончанием данного символа и началом следующего. Этот промежуток составляет 1...2 интервала, соответствующих биту.
Приемник синхронизируется самим сигналом и должен считывать значения битов в серединах их интервалов, где искажения импульсов наименее влияют на величину считываемого уровня. Это требование достигается следующим образом.
Передатчик и приемник имеют свои генераторы тактовых импульсов, работающие на одинаковой частоте. При отсутствии передачи передатчик устанавливает в линии высокий уровень напряжения (марку). Появление нуля (старт-бита) отмечает начало передачи, которое, таким образом, фиксируется фронтом напряжения "1 — 0". От этого фронта начинает работать генератор приемника. Приемник выдерживает интервал в половину длительности бита, проверяет, есть ли еще нуль на входе (контролирует истинность старт-бита с целью исключить реакцию на кратковременную помеху), и затем начинает воспринимать данные с интервалом в длительность бита (если старт-бит не подтвердился, то приемник возвращается в исходное состояние). Частота генераторов передатчика и приемника реально сличаются, поэтому отсчеты постепенно "сползают" с середины битов и смещаются к тому или другому краю импульсов. Однако за время короткой посылки (не более 10...11 битов) смещение отсчетов с середины битов легко сделать пренебрежимо малым.
Выборка отсчетов в середине битов производится благодаря наличию в адаптере последовательного интерфейса частоты, более высокой, чем частота следования битов (обычно в 16 раз). После пуска генератора CLK с помощью счетчика отсчитывается 8 импульсов, что и отмечает середину старт-бита. Затем отсчеты повторяются с интервалом т, получаемым от деления частоты CLK на 16 (рис. Временные диаграммы). В конце проверяется стоп-бит, отсутствие при этой проверке высокого уровня напряжения устанавливает триггер ошибки формата. Если это запрограммировано, то проверяется и четность веса посылки с учетом контрольного разряда. Для фиксации результата этой проверки также имеется специальный триггер. Оба указанных триггера (флажка) — разряды внутреннего регистра состояния адаптера последовательного интерфейса.
Принятый символ поступает в регистр хранения, находящийся в буфере ШД, для последующей передачи в виде параллельного кода. После этого приемник ищет следующий символ и сдвигает его в регистр сдвига. В регистр хранения второе слово не идет, пока не считано первое. Может в это время пойти третий символ, тогда второй будет потерян, поскольку хранить его негде. Это ошибка пропуска (переполнения), которая тоже фиксируется установкой соответствующего триггера-флажка в регистре состояния адаптера. Ошибка пропуска не возникает, если микропроцессор обеспечивает считывание слова за интервал, меньший, чем интервал вдвигания символа в сдвигающий регистр.
Синхронный режим.
Синхронная передача начинается с одного или двух специальных символов синхронизации (синхрослов), после которых последовательно без всяких разделителей передаются 5-8 битные коды символов с необязательными символами четного или нечетного паритета.
SYN1, SYN2 – синхрослова (признак начала передачи);
Символ 1, символ N – числа для передачи (данные).
Различают две разновидности синхронных передач — с внутренней и внешней синхронизацией.
При внутренней синхронизации перед массивом данных передаются слова — сиихросимволы (одно или два). При отсутствии передачи передатчик не перестает работать, а посылает в линию символы синхронизации, пока не возобновится передача данных. Приемник при этом находится в режиме активного ожидания (в английской терминологии в режиме Нип1 — охоты). Он сравнивает каждое принятое слово с символом синхронизации. Если результат сравнения отрицательный, то обращения к данному приемнику нет (по описанному протоколу к одному передатчику можно подключить несколько приемников, имеющих индивидуальные синхросимволы). Если же опознается синхросимвол данного приемника, то это означает, что передатчик обращается к нему и первое же слово, не являющееся синхросимволом, принимается как информационное, начинающее информационный массив. После начала массива приемник считает передаваемые символы или же сопоставляет их с символами синхронизации, определяя одним ил этих способов конец передачи.
В адаптере имеются регистры, хранящие назначенные для данного приемника коды синхронизации (регистры РСС1 и РСС2).
Символы данных не разделяются старт - и стоп-битами. После символа из 5...8 битов может идти контрольный бит, возможен и контроль по модулю 2 для всего массива, в этом случае контрольный бит появляется в конце передачи данных.
При внешней синхронизации в канал связи вводится дополнительная линия, по которой передается строб-сигнал, отмечающий интервал времени, соответствующий передаче данных. Фронты строба отмечают начало и конец передачи массива, в котором символы по-прежнему передаются слитно (без старт- и стоп-битов).