Лекция №7 СБИС ДЛЯ УСТРОЙСТВ ВВОДА И ВЫВОДА ИНФОРМАЦИИ Стандартизация систем передачи информации Информация должна передаваться между разными частями компьютера (диски, магнитные ленточные накопители, дисплеи, принтеры, процессор) или между разными компьютерами в соответствии с определенными правилами. Информация может передаваться по многожильным проводам, по коаксиальному кабелю, по оптическому волокну или электромагнитными волнами в свободном пространстве. Передаваемая информация должна иметь необходимое представление в соответствии со стандартом для данного класса аппаратуры. Информация должна иметь кодовую защиту для обнаружения и исправления ошибок, возникающих при передаче. Информация должна быть преобразована физически для передачи в используемой среде (провод, кабель, оптическое волокно). Кодовые преобразования информации выполняют специальные устройства - контроллеры, а физическое преобразование модемы. Контроллеры и модемы разрабатываются в соответствии со стандартами передачи информации, используются в разной аппаратуре и имеют ограниченную номенклатуру. Контроллеры часто реализуются в виде универсальных ИМС. Системы кодовой защиты информации Никакие каналы связи не обладают абсолютной защитой от помех. Устройства ввода-вывода осуществляют кодовую защиту информации и ее восстановление при наличии сбоев. Система кодовой защиты формирует кодовые разряды и передает их вместе с информационными. Защита при параллельной передаче. рис. 7.1. Контрольный разряд формируется как сумма по модулю 2 (нечетность) из информационных разрядов данного слова и диагональных разрядов соседних (предыдущих) слов. Каждый информационный бит определяет значение двух контрольных битов. Ошибка в информационном разряде вызывает нарушение правил вычисления двух контрольных битов. Место ошибки определяется в точке пересечения двух формирующих слов. Использование кода с пересечением формирующих слов требует больших массивов информации (например, считывание с магнитных носителей). При последовательной передаче чаще используются другие коды для коротких отрезков информации. Код Хемминга Группа контрольных разрядов вводится в каждое слово. Контрольные разряды формируются как сумма по модулю 2 от части информационных битов. Каждый информационный бит входит в определение нескольких контрольных. Сбой в информационном разряде нарушает правила вычисления нескольких контрольных. Для восстановления одиночных сбоев в слове из n разрядов требуется (1+log2n) контрольных разрядов. Для 8 информационных разрядов - 4 контрольных. Пример формирования кода Хемминга. Проверочная матрица. 0 1 0 1 0 1 1 1 1 0 0 0 К1 1 0 0 1 1 0 1 1 0 1 0 0 К2 0 1 1 0 1 1 0 1 0 0 1 0 К3 1 0 1 0 1 1 1 0 0 0 0 1 К4 И1 И2 И3 И4 И5 И6 И7 И8 К1 К2 К3 К4 Информационные разряды Контрольные разряды Для восстановления двойных сбоев требуется большее число контрольных разрядов. Циклический код Циклический код используется при последовательной связи и служит не только для кодовой защиты, но и для преобразования информационного слова с целью исключения длинных последовательностей единиц. Длинные последовательности нулей или единиц плохо передаются по линиям связи. Для каждого циклического кода требуется образующее число (обязательно простое). Преобразование осуществляется следующим образом: а) к информационному слову добавляется число нулей, равное количеству разрядов образующего числа (т.е. число умножается на 2k, где k число разрядов образующего числа); б) деление информационного слова на образующее число. в) к полученному результату дописывается справа остаток от деления, слово с кодовой защитой будет иметь (n+k) разрядов; г) при обратном преобразовании в отсутствие сбоев лишние нули в конце слова отбрасываются; д) при наличии сбоев в конце слова вместо нулей будет синдром ошибки, может также появиться уменьшение или увеличение числа разрядов информационного слова. Руководствуясь признаками ошибки, контроллер восстанавливает переданное кодовое сообщение. Для восстановления одиночного сбоя необходимо, чтобы число остатков от деления вдвое превосходило число разрядов информационного слова. Пример: Образующее число 13 (1101). Число остатков от деления - 12. Число восстанавливаемых разрядов - 6. Информационный код 54 (110110). а) добавление 4 нулей - 1101100000 б) деление на 13 1101100000 | 1101 1101 1 000010 010000 частное 1101 0110 - остаток в) слово с кодовой защитой 1000010.0110 при обратном преобразовании д ае т 5 4 г) ошибка в третьем разряде информационного слова: 1000110.0110 обратное преобразование дает число 111001.0100. Четыре последних знака не нули - это синдром ошибки. Значение синдрома - 4 - означает, что ошибка была в третьем разряде. Меняем значение третьего разряда и повторяем восстановление. В этом случае синдром ошибки - 0000, слово без ошибок, синдром можно отбросить. Стандарты параллельной связи Широко распространенные стандарты используют байтовую передачу данных (8 бит) и используются в аппаратуре, расположенной на небольших расстояниях (менее 100м). Для передачи используется многожильный кабель. Стандарт Centronics Стандарт Centronics используется для однонаправленной передачи данных, например, для управления принтером. Сигнал передается через 36контактный разъем по скрученным парам проводов. Для одного сигнала требуется два контакта в разъеме и два провода. Назначение контактов задано таблицей стандарта. Контроллер передает команды и данные по отдельным проводам, а также принимает результаты исполнения команд. Байтовая организация посылок не обеспечивает высокую скорость передачи данных. Для высокоскоростной передачи информации на небольшие расстояния разработан стандарт IPI (Intelligent Peripheral Interface), преду- сматривающий передачу 16-разрядных данных. При тактовой частоте 5 МГц можно передавать данные со скоростью 10 Мбайт/сек. команда включения команда отключения установка данных строб передачи установка режима (прием) готов к приему информацию принял идентификатор неисправностей (ошибка приема, нет бумаги, не включен и т.д.) рис. 7.2. Стандарты последовательной связи Последовательная (бит за битом) передача информации используется в тех случаях, когда скорость передачи мала и невыгодно использовать многожильный кабель, а также при передаче на большие расстояния по коаксиальному кабелю или общим системам связи (радио, телефон). Помехоустойчивость последовательной передачи значительно выше. Стандарт RS-232 Стандарт RS-232 определяет параметры драйверов и приемников, тип разъема и назначение его контактов. Стандарт используется для медленной передачи данных на небольшие расстояния (например, клавиатура компьютера). Используется 9-контактный разъем и соответствующий кабель. Сигналы передаются по четырем скрученным парам проводов и еще один провод использован для сигнального заземления. - пара передачи или приема данных (вход и выход) - пара для запроса готовности к приему данных (только выход) - пара ответов на запросы передатчика (только выход) - пара для приема команд и ответов на запросы (только вход). Управление происходит двухполярными сигналами с напряжением от 5 до 15В. При асинхронной передаче к концам каждого передаваемого байта присоединяются старт-бит и стоп-бит, образуя группу (кадр) из 10 бит. Передатчик и приемник используют фиксированную скорость передачи кадра из допустимого набора (300, 1200, 2400, 4800, 9600, 19200 тактов в секунду). В отсутствие передачи на выходе низкий уровень. Передача начинается с появления импульса высокого уровня, затем следуют восемь бит данных и обязательный переход к низкому уровню. 8 б и т д ан н ы х старт стоп Синхронизация пакетов осуществляется по фронту старт-бита. Между кадрами произвольный промежуток времени занят стоп-битом (низкий уровень). Например, пакеты появляются при нажатии клавиши на клавиатуре. Стандарт Ethernet Стандарт Ethernet используется для создания локальных сетей компьютеров и обеспечивает скорость передачи данных по высокочастотному коаксиальному кабелю до 10 Мбит/сек. К одному кабелю подключены все абоненты (устройства) сети связи. Сообщения в сети пересылаются пакетами, включающими необходимые команды, адрес, данные и контроль ошибок. Протокол передачи выглядит так: - ждите прекращения активности в сети; - начинайте передачу пакета; - во время передачи контролируйте наложение сообщений (конфликт); - если возникло наложение, пошлите сигнал затора сети и прекратите передачу; - выждите случайный интервал времени и возобновите передачу. Длина пакета в сети Ethernet не более 1 Кбайта. Структура пакета: - флаг (кодовое слово, ограничивающее пакет); - адрес (идентифицирующий отправителя и получателя); - заголовок, определяющий порядок пакета и длину сообщения; - сообщение; - контрольное слово (кодовая защита); - флаг. Аналогичная структура пакета используется и в других сетях последовательной связи. Прием передачи осуществляется всеми абонентами сети. Контроллер записывает переданный пакет в свободный буфер, центральный процессор абонента анализирует его адрес и отбрасывает все пакеты, адресованные другим абонентам. Если адресованный пакет принят, то контроллер посылает в сеть подтверждение приема или запрос на повторную передачу пакета. Стандарт HDLC Стандарт HDLC используется для передачи данных по общим каналам связи. Контроллер работает циклически. Цикл включает три фазы: - фаза команд; - фаза исполнения; - фаза сообщения результата. Контроллер выявляет конфликты в сети связи (наложение сообщений). Длина сообщений может быть значительной (несколько килобайт). Структура пакета идентична структуре пакетов сети Ethernet. Протокол обмена более сложный и включает: - запрос абонента; - подтверждение готовности; - передачу пакетов; - подтверждение приема каждого пакета; - повторную передачу пакетов со сбоями в первой передаче; - отмена запроса. Прием сообщений может осуществляться в двух режимах: - общий прием всех пакетов в сети связи без анализа адреса пакетов (в сети два абонента); - выборочный прием сообщений только по своему адресу. Лишние пакеты даже не записываются в буфер. Имеются и другие стандарты передачи данных, но их общие принципы совпадают.