ИНТЕРФЕЙС [interface] – это совокупность технических, программных средств и правил, обеспечивающих взаимодействие различных устройств, входящих в состав вычислительной системы.
Все интерфейсы можно разделить на две большие группы — последовательные и параллельные. В первую очередь были разработаны последовательные интерфейсы, наиболее удачным среди которых оказался RS-232, до настоящего времени являющийся неотъемлемой частью любого РС-совместимого компьютера в виде СОМ-порта. Параллельные интерфейсы были разработаны для работы с внешними устройствами, требующими высоких скоростей обмена. Однако совершенствование последовательных интерфейсов привело к тому, что они по целому ряду функциональных параметров превзошли параллельные, и в настоящее время для большинства внешних подключений применяются в основном именно последовательные интерфейсы.
Такая «спираль развития» способствовала в частности тому, что, несмотря на появление новых решений и новых технологий, последовательный интерфейс RS-232 со всеми своими недостатками уже более 30 лет присутствует во всех поколениях средств вычислительной техники. На примере RS-232 становится очевидным, что удачный выбор интерфейса обеспечивает беспроблемное соединение разрабатываемого РЭУ с другими приборами и использование его в течение многих лет. Уместно заметить, что по сегодняшним меркам RS-232 обладает рядом недостатков.
Интерфейс RS-232C был принят в 1969 г. и до сих пор активно используется для синхронной и асинхронной связи, при двухточечном и многоточечном соединении, в полудуплексном и дуплексном режимах обмена. Его отечественный аналог — стык С2. При передаче используются уровни сигналов 12 В. Скорость передачи данных составляет от 50 до 19 200 бит/с на расстояние до 15 м. Для управления подключенными устройствами можно использовать дополнительные линии порта RS-232 или специальные символы, добавляемые к передаваемым данным.
В результате дальнейшего развития RS-232 для высокоскоростной передачи данных (до 10 Мбит/с) на более далекие расстояния (до 1200 м) появились разработанный в 1975 г. интерфейс RS-423 для несимметричных цепей, а также RS-422 (позже RS-485) для симметричных цепей. Несимметричные цепи RS-423, так же как и RS-232, имеют низкую защищенность от синфазной помехи, хотя дифференциальный вход приемника 423 дает несколько лучший результат. Существенными преимуществами в этом плане обладают двухточечный интерфейс RS-422 и его магистральный аналог RS-485, получившие более широкое распространение. Большинство электрических характеристик стандартов RS-485 и RS-422 одинаковы и отличаются лишь режимами работы и количеством подключаемых приемников. RS-485 реализует двунаправленную полудуплексную передачу данных с 32 приемниками для шинных конфигураций, а RS-422 определяет двухсторонний однонаправленный драйвер с 10 приемниками. В этом смысле RS-485 является более универсальным и может работать в паре с RS-422. Конструктивно эти два интерфейса различаются тем, что в RS-422 и приемник и передатчик имеют свои витые пары, а в RS-485 приемник и передатчик делят одну витую пару.
Серьезную конкуренцию перечисленным выше последовательным интерфейсам составляет скоростной и достаточно неприхотливый интерфейс LVDS/LVDM (Low Voltage Differential Signalling — дифференциальные сигналы низкого напряжения), первоначально создававшийся для подключения LCD-матриц. Его применение позволяет достичь скорости передачи 400–600 Мбит/с по проводной линии связи. Используемый дифференциальный метод передачи токовыми посылками позволяет снизить влияние внешних помех и влияние самого интерфейса на внешние цепи, а также обуславливает низкое энергопотребление — около 1,2 мВт (для сравнения: RS-422 имеет рассеиваемую мощность порядка 90 мВт). При грамотном построении проводящей среды интерфейс позволяет достичь скоростей, превышающих 1 Гбит/с, имеет простую схему включения элементов.
Устранить недостатки последовательных интерфейсов была призвана разработка в 1990 г. компанией Apple шины FireWire (IEEE–1394) со скоростью передачи 400 Мбит/с, возможностью «горячего» подключения, питания подключаемых устройств от шины интерфейса, передачей данных как в синхронном, так и в асинхронном режиме с выделением для отдельного устройства гарантированной скорости передачи в пределах ресурса линии. Однако ко времени массового рапространения FireWire уже появилась шина USB, составившая ей серьезную конкуренцию.
Шина USB была разработана сравнительно недавно — в 1996 г. Она обеспечила разработчикам относительно дешевый, высокоскоростной (до 12 и до 400 Мбит/с для стандарта 2.0) и удобный в использовании интерфейс. Удобство заключается в возможности подключения устройства к работающему компьютеру, автоматическом распознавании их операционной системой, питании маломощных устройств с самой шины, большое количество (до 127) подключаемых устройств, а также простым и существенно более дешевым, чем для FireWire, соединительным кабелем. Для встраиваемых и бортовых систем интерфейс USB предоставляет идеальную конфигурацию герметичного хост-компьютера, к которому на единственный тонкий кабель, проведенный через гермоввод, подсоединяются многочисленные внешние устройства. Еще одним преимуществом шины USB является наличие практически во всех чипсетах РС-контроллеров (для этой цели уже разработан контроллер USB 2.0 — Intel ICH3), а также полной поддержкой этого стандарта в ОС, начиная с Windows 98.
Шина FireWire (стандарт IEEE-1394) также начинает получать поддержку в виде встроенных в чипсет контроллеров и операционных систем, начиная с Windows 2000, и вместе с USB они могут стать заменой последовательного интерфейса RS-232, параллельного Centronics, а заодно и внутренних шин РCI и IDE. Что касается систем с удаленными устройствами сбора данных и управления, то серьезную конкуренцию RS-422 и RS-485 составляет в настоящее время интерфейс CAN (Control Area Network), обладающий за счет изощренного логического протокола чрезвычайно высокой устойчивостью и надежностью, практически исключающей ошибки управления. Причем логическая сложность не беспокоит разработчика, поскольку протокол реализован в виде специальных микросхем «на все случаи жизни». Интерфейс имеет достаточно высокую производительность (до 1 Мбит/с), допускает использование любой физической среды передачи. Фактическая же скорость передачи по линии связи задается программно. Интерфейс CAN может иметь произвольное количество узлов подключения, простоту изменения состава сети, предоставляет возможность инициативной передачи сообщений любым ее узлом. При этом реализуется оригинальный способ доставки сообщений по назначению. Каждое сообщение снабжается не адресом, а идентификатором, определяющим содержание или назначение передаваемых данных. Каждый приемник анализирует идентификаторы и воспринимает сообщения, которые необходимы ему в данный момент. На один идентификатор могут реагировать несколько приемников. При этом система арбитража исключает потери информации и времени при конфликтах на шине. Протокол CAN обеспечивает общую вероятность необнаруженной ошибки — 4,7ґ10-11. Это достигается комплексным применением различных методов — поразрядный контроль, прямое заполнение битового потока, проверка пакета сообщений CRC-полиномом с Хемминговым интервалом d=6, контроль формы пакета сообщений, подтверждение правильного приема пакета данных.
В заключение хотелось бы обратить внимание на современные тенденции в разработке интерфейсов, которые с учетом современных темпов развития вычислительной техники становятся в ряд доминирующих. Речь идет о давно знакомом, но постоянно обновляющемся инфракрасном (ИК) интерфейсе, в настоящее время представленном стандартами IrDA SIR, IrDA HDLC, IrDA FIR, ASK IR, конкурирующем с ним и получающем все более широкое распространение радио- интерфейсе Bluetooth. Системном интерфейсе для малых компьютеров SCSI (Small Computer Systems Interface). А также цифровом интерфейсе музыкальных инструментов MIDI (Musical Instrument Digital Interface) и цифровом видеоинтерфейсе DVI (Digital Visuai Interface).