Текст
                    эл ект
А. ЛАПИН
Интерфейсы.
Выбор
и реализация
ТЕХНОСФЕРА

ЭЛЕКТРОННЫЕ КОМПОНЕНТЫ ОТ ВЕДУЩИХ ПРОИЗВОДИТЕЛЕЙ ВСЕГДА НА СКЛАДЕ В ПРОМЫШЛЕННЫХ КОЛИЧЕСТВАХ ZH/JXI/И J DALLAS i SEMICONDUCTOR Honeywell ; PHILIPS • АЦП и ЦАП, усилители и компараторы • Аналоговые ключи и мультиплексоры • Регуляторы напряжения, источники опорного напряжения • Память (энергонезависимая NV SRAM, 1 -Wire(R), SRAM, EEPROM) • Микроконтроллеры 8051 c NV RAM (095) 73-75-999 (многоканальный) по заявкам предприятий Головной офис Москва, ул.Ивана Франке, 40, стр.2, (095)73-75-999, почта: 121351, Москва, а/я 100, e-mail: platan@aha.ru Офис на м. Проспект Мирз. Москва, ул.Гиляровского, 39, (095)684-46-28, prospectmira@p1atan.ru Офис на м. Курская Москва, ул. Земля ной вал, 34, (095)916-23-21, kurekayB@platan.ru Офис в Санкт-Петербурге: ул.Зверинская, 44 (812)232-88-36, 232-23 73 piatan@mail.wpiuB.net Офис в Киеве: ул.Чистяковская, 2, (38044)494-37-92, 494-37-93, 494-37-94 chipdipSukr net Представительства Воронеж (0732)59-75-57 Казань (8432)92-18-06 Новосибирск: (3832)16-33-66 Омск: (3812)24-69-03 Ульяновск: (8422)37-66-67 Уфа (3472)32-33-42 Региональные дилеры Белгород (0722)32-87 22 Иж-вск. (3412)43-72-51 Омск: (3812)24-10-90 Ростов-на-Дону: (8632)44 34-48 Саратов (8452)27-88-55 Самара. (8462)35-26-09 С.-Петербург: (812)327-96-92 Саратов: (8452)27-88-55 Тольятти (8482)70-91-03 Томск (3822)55-65-30,51-12-25 4— и : (8352)56-63-03 Ярославль: (0852)30-15-69 Йошкар- Ола (8362) 46-17-45 Минск (375-17) 287-28-60 Розничная продажа в магазинах Чип и Дип: Москва, ул. Беговая, 2 • ул.Гиляровского, 39 • ул.Ивана Франко, 40, стр.2 *ул Земляной вал, 34 • С -Петербург, Кронверкский лросп., 73 • Ярославль, пр.Ленина, 8а
А. ЛАПИН Интерфейсы. Выбор и реализация ТЕХНОСФЕРА Москва 2005
А. А. Лапин Интерфейсы. Выбор и реализация Москва: Техносфера, 2005. - 168с. ISBN 5-94836-058 -X В свет с завидной регулярностью выходят книги, посвящённые циф- ровым интерфейсам. Каждый раз такие издания находят своего чита- теля. В чём же отличие нового издания от предыдущих? На этот раз ав- тор постарался не компилировать тексты стандартов и не приводить полной технической документации (в настоящее время доступной че- рез Интернет и из других источников). На этапе выбора архитектуры изделия важно понимать принципи- альные отличия интерфейсов друг от друга. Тогда, зная стоящую задачу, разработчик сможет выбрать наиболее функциональные решения. Дан- ная книга призвана разъяснить инженеру, из каких "модулей" строятся стандарты интерфейсов, какие свойства систем передачи данных зави- сят от конфигурации этих "модулей". © 2005, А.А. Лапин © 2005, ЗАО "РИН "Техносфера", оригинал-макет, оформление. ISBN 5-94836-058 -X
Содержание Введение..........................................6 Глава 1. Границы применения интерфейсов...........7 Глава 2. Типовые решения реализации цифровых интерфейсов.....................................14 2.1. Параллельные интерфейсы..................15 2.2. Последовательные интерфейсы..............21 2.3. Временное разделение передачи адреса и данных в параллельных интерфейсах ...........24 2.4. Режимы синхронизации интерфейсов........25 2.5. Обнаружение и коррекция ошибок передачи..31 2.6. Среды передачи данных....................36 Глава 3. Последовательные интерфейсы.............46 3.1. Коммуникационные интерфейсы RS232, RS485HRS422...........................46 3.2. Периферийный интерфейс USB...............54 3.3. Однопроводной интерфейс CAN..............67 3.4. Внутримодульный интерфейс 12С............76 3.5. Однопроводной интерфейс 1-Wire...........83 3.6. Последовательный периферийный интерфейс SPI................................90 3.7. Последовательный периферийный интерфейс IEEE 1394..........................96 3.8. Интерфейсы, использующие фазоманипулированный код «Манчестер-2»......101 3.9. Последовательный интерфейс ARINC 429... 108 3.10. Оптический интерфейс с открытым каналом IrDA................................115 3.11. Беспроводной интерфейс Bluetooth.......119 Глава 4. Параллельные интерфейсы................125 4.1. Системный интерфейс ISA.................125 4.2. Системный интерфейс РС/104..............131 4.3. Системный интерфейс PCI.................137 4.4. Магистрально-модульный интерфейс VME....148 4.5. Периферийный интерфейс SCSI.............157 Приложение. Микросхемы для реализации цифровых интерфейсов...........................165
ВВЕДЕНИЕ Для чего и для кого эта книга? Прежде всего для разработчиков крупных электронных систем и их узлов, которые связаны между собой цифровыми интерфейсами. Правильный выбор архитектуры системы и используемых интерфейсов обуславливает отсутствие сис- темных проблем при разработке и внедрении и в конечном счёте определяет экономическую и техническую эффектив- ность разработки. Задача этой книги — не просто познакомить читателя с современными стандартами на последовательные и парал- лельные интерфейсы, а научить его понимать, почему дан- ный стандарт именно таков, каков он есть, и какие полезные и вредные свойства (для данного приложения) вытекают из каждого его положения. На этапе выбора архитектуры важ- но понимать принципиальные отличия интерфейсов друг от друга. Тогда, зная стоящую задачу, разработчик сможет выбрать наиболее функциональные решения. На этапе разработки электрических схем узлов книга послужит спра- вочником по интерфейсам и их применению. Здесь не рассматриваются устаревшие стандарты. Если такой стандарт будет заложен в техническое задание на сис- тему, разработчик, прочитавший книгу, сможет проделать относительно него полный анализ самостоятельно, пользу- ясь только оригинальной документацией. Это же относится к стандартам, которые появятся после выхода книги. Кроме разработчиков изложенный в книге материал может быть полезен студентам профильных вузов и их пре- подавателям.
ГЛАВА 1 ГРАНИЦЫ ПРИМЕНЕНИЯ ИНТЕРФЕЙСОВ В английском языке слово «интерфейс» означает прослойку, среду, разделяющую или связывающую различные объекты. В нашем техническом обиходе цифровой интерфейс — сис- тема передачи данных между узлами системы, разными системами, описанная стандартом. Применение стандартизированного интерфейса обеспе- чивает передачу данных между изделиями разных разра- ботчиков. Позволяет вести разработку узлов параллельно и применять готовые узлы сторонних производителей. Раз- работчик системы, закладывая в неё стандартизированные интерфейсы, может рассчитывать на получение заявленной пропускной способности, длины линий и других парамет- ров. С другой стороны, необходимость следовать стандарту может привести к удорожанию изделия. Очень велик соб- лазн, взяв за основу более-менее подходящий стандарт, не следовать ему до конца, а адаптировать к конкретной задаче: изменить разрядность, функции или сократить ко- личество управляющих сигналов, сэкономить на шинных формирователях, обеспечивающих поддержку длинных линий связи и нагрузочную способность, применить более доступные разъёмы. В этом случае надо быть готовым к тому, что разрабатываемая система не будет открытой, процессы её модернизации и наращивания сильно затруднятся, что
Глава 1. Границы применения интерфейсов в конечном счёте неминуемо приведёт к преждевременному списанию системы и замене её на принципиально новую. История отечественной техники полна подобных примеров. Чаще всего разработчиков подводило отсутствие разъёмов с дюймовым шагом, необходимых для совместимости со стан- дартизированной продукцией мировых производителей. Так, одна из первых отечественных персоналок ЕС 1840 не смогла вписаться в мировой поток IBM-совместимых машин из-за применения нестандартизированных разъёмов периферии и конструктива модулей. Там, где потоки данных и расстояние невелики, имеет смысл подумать об отказе от применения интерфейса как системы. Скорее всего, дешевле будет передать каждый отдельный сигнал «как есть». Подобные решения, прежде всего, оправданы для связи функционально НЕзаконченных узлов (самостоятельное применение которых или замена более совершенными не предполагается). При принятии решения нужно учитывать фактор соотношения парамет- ров прикладной (интерфейсной) части изделия. Если хотя бы один из нижеперечисленных параметров интерфейсной части превышает определённый порог, надо задуматься об альтернативном решении: • себестоимость; • потребляемая мощность; • вес; • размеры. Порог можнр определить на уровне 30...40%, для про- мышленных применений он больше, для мобильных — мень- ше. В любом случае каждое подобное решение должно при- ниматься индивидуально. Оно может значительно сократить жизненный цикл изделия. Если вы приняли решение об отказе от интерфейса, взамен вы должны получить что-ни- будь существенное: значительное снижение себестоимости или заметное улучшение технических параметров.
Глава 1. Границы применения интерфейсов Набор сигналов, передаваемых «как есть», может потре- бовать применения разъёмов и кабелей с большим количес- твом контактов и лучшими частотными параметрами, чем потребовалось бы для организации интерфейса. Если это не так, значит, данное решение оправданно (или интерфейс выбран очень некорректно). Часто реальные сигналы в системе характеризуются нестандартными или разнокали- берными уровнями, разнообразными частотами изменения, разными требованиями к точности и помехозащищённости. При передаче индивидуально каждого из них, есть возмож- ность организовать обмен без избыточности применяемой элементной базы и кабельных линий. Дополнительно можно сэкономить на оцифровке аналоговых сигналов и их восстановлении, которые часто требуются именно из-за необходимости их передачи Такая ситуация очень харак- терна при соединении узлов, не имеющих собственных процессоров. Современные тенденции развития элементной базы направлены на разработку интерфейсных микросхем с высокой степенью готовности к применению: не требу- ется навесных элементов, имеются готовые программы. Это сильный аргумент в пользу применения интерфейса вместо передачи отдельных сигналов. Организация внут- рисистемного, последовательного интерфейса невысокой производительности недорога и во многих случаях вполне оправданна. На рис. 1.1 и 1.2 приведены: пример реализации 3-цветного светодиодного дисплея на микросхеме NLSF595 от ON Semiconductors и принципиальная схема этой мик- росхемы. Она выпускается в 16-выводных корпусах, зани- мает мало места на плате, недорога, удобна в применении. Используется последовательный интерфейс SPI (подробно см. vbnti.narod.ru/log.html). Дисплеи часто управляются не- посредственно от микроконтроллера, имеющего выход SP1, а располагаются на отдельной печатной плате.
Глава 1. Границы применения интерфейсов 27V Рис. 1.1 Пример применения интерфейса SPI Рис. 1.2 Принципиальная схема микросхемы NLSF595
Глава 1. Границы применения интерфейсов Волоконно-оптические линии связи (ВОЛС), строго говоря, также являются стандартизированными цифро- выми интерфейсами. Для их реализации на рынке имеется большое количество элементной базы с высокой степенью готовности к применению. Большим преимуществом ВОЛС является невосприимчивость к электромагнитным помехам. Неметаллическая природа среды передачи данных обес- печивает гальваническую развязку между портами. Про- пускные способности стандартизированных ВОЛС лежат выше пропускных способностей цифровых интерфейсов с электрической природой сигналов. Главным недостатком ВОЛС является высокая цена кабельного и приёмопере- дающего оборудования. Из-за этого область применения ВОЛС весьма узка: • магистральные линии крупных телекоммуникацион- ных систем; • высокопроизводительные системы сбора данных для ответственных применений; • передача мультимедийной информации в профессио- нальных системах (реализуется на самой дешёвой элемент- ной базе). Дороговизна оборудования не позволяет создавать раз- ветвлённые волоконно-оптические сети. Себестоимость интерфейсной части может значительно превышать себе- стоимость целевого оборудования. Если в системе присутс- твуют потоки данных, предполагающих применение ВОЛС, то строится двухуровневая система их передачи. На ВОЛС реализуют верхний уровень, соединяющий локальные под- системы. Нижний уровень реализуется с использованием менее дорогих и производительных решений. Примером производителя элементной базы для ВОЛС может служить фирма Infineon (www.infineon.com). В настоящее время на рынке имеется большое количес- тво готовых решений для реализации портов различных ин- терфейсов (особенно последовательных) в виде микросхем,
Глава 1. Границы применения интерфейсов требующей подключения небольшого числа внешних эле- ментов. Таким образом, организация стандартизированного интерфейса не требует больших затрат времени и не вызы- вает значительного увеличения массогабаритных характе- ристик аппаратуры. Но в некоторых случаях имеет смысл использовать «облегчённую» реализацию интерфейса. Это соединение функционально НЕзаконченных модулей и организация передачи данных внутри систем, расширение которых за счёт продукции сторонних производителей не предполагается. Специфические целевые задачи реализации систем пе- редачи данных могут порождать необходимость создания собственных стандартов на интерфейсы. Продукция веду- щих производителей специализированной техники часто не совместима ни с чем. Это оправдано высоким техни- ческим уровнем изделий, достичь которого удалось за счёт отказа от стандартных решений. Позже удачные стандарты Рис. 1.3 Примерно так выглядят верхние ограничения пропускной способности систем передачи данных различной организации
Гшва 1. Границы применения интерфейсов фирм становятся всеобщими, принося славу и прибыль создателям, неудачные умирают, неся убытки создателям и заказчикам аппаратуры. Здесь надо учитывать не только тех- ническую, но и маркетинговую сторону вопроса, подробный разбор которой выходит за рамки этой книги. Диаграмма, позволяющая оценить возможность приме- нения рассмотренных решений для реализации систем пере- дачи данных показана на рис. 1.3. Линии означают верхние границы возможного для данных решений. Прохождение линий условно, оно может корректироваться в зависимости от технических и экономических параметров, а также с раз- витием элементной базы. Дополнительная информация Гусев С. Краткий экскурс в историю промышленных сетей//СТА. №4. 2000. http://www.cta.ru/pdf/2000-4/notel_2000_4 pdf.
ГЛАВА 2 ТИПОВЫЕ РЕШЕНИЯ РЕАЛИЗАЦИИ ЦИФРОВЫХ ИНТЕРФЕЙСОВ Реализация стандартизированного интерфейса определяется документом (стандартом), его описывающим. Соблюдение стандарта обеспечивает совместимость изделий разных производителей и гарантирует получение заявленной про- пускной способности. Стандарты, в свою очередь, реализуют типовые, уже кем-то изобретённые и проверенные решения, каждое из которых имеет свои достоинства и недостатки. Применённые типовые решения можно считать модулями, из которых создаются стандарты. Умея распознавать при- менённые модули, можно судить о свойствах интерфейса, его достоинствах и недостатках, предвидеть «подводные камни» реализации, а также применять опыт работы с ана- логичными модулями, приобретённый ранее. Перечисление применённых типовых решений часто выносится в заголовок стандарта и в его преамбулу. Другие модули распознаются после анализа текста стандарта. Совсем плохо, когда такая информация может быть извлечена только из иллюстраций. Это означает, что текст стандарта недостаточно подробно описывает интерфейс и возможны варианты реализации, не обеспечивающие совместимость изделий разных произ-
2.1. Параллельные интерфейсы водителей, или существуют другие документы, описывающие интерфейс (в этом случае на них должны быть ссылки). При разработке стандарта следует однозначно и как можно под- робнее описывать все важные составляющие интерфейса. Назначение Временные диаграммы Области применения Краткое описание Последовательный магистральный межсистемный интерфейс ШШИИ Таблица сигналов Данные 4,5В/0,5В КОНТ. 1 Строб 4,5В/0,5В конт. 2 Гакт 4,5В/0,5В конт. 3 Общий — конт. 4 Протоколы обмена данными ч > 1ЛЛПЛПЛЛЛПГ “U--------- Таблица адресов 0000 0001 0002 0003 Для всех Порт 0001 Порт0002 Порт0003 _____ Пр./Прд. Пр./Прд. Пр./Прд. Схемная реализация [\ Рис. 2.1. Важные составные части документа, описывающего интерфейс 2.1. Параллельные интерфейсы При классификации интерфейсов очень часто используется критерий параллельности-последовательности передачи данных. Это важнейший параметр интерфейса. Его опреде- ление — ключевое решение разработчика. От него зависит стоимость аппаратуры и кабельного хозяйства, а также про- изводительность интерфейса. В параллельном интерфейсе каждый интерфейсный сигнал передаётся по отдельной ли- нии. Линии делятся на группы: шина данных, шина адреса, шина управления. Всё же обшее количество линий должно быть меньше количества передаваемых полезных сигналов (иначе возникает вопрос о целесообразности применения
Глава 2. Типовые решения реализации интерфейсов интерфейса). Временное разделение в передаче полезной информации применяется на уровне смены адресов и пере- ключения направлений передачи данных. Шина данных представляет собой несколько линий (по числу разрядов интерфейса). Передатчики являются мощными ключами, защищенными от влияния реактивного сопротивления линии. Они могут быть отключены (переведе- ны в состояние высокого импеданса), что позволяет работать другим передатчикам на той же шине. При включении они обычно выдают в шину данных информацию из параллельного регистра передачи. Приёмники представляют собой логичес- кие элементы с несколько скорректированными логическими уровнями. Они транслируют данные на параллельный регистр приёма. Данные записываются в регистр при наличии соот- ветствующих сигналов на шинах адреса и управления. Шина адреса, если контроллерами интерфейса могут становиться несколько портов, строится аналогично шине данных. Если контроллером является всегда один порт — уп- рощается: контроллер имеет только передатчики без состо- яния высокого импеданса, остальные — только приёмники. При передаче данных контроллером шины адреса и данных работают одинаково. На обеих выставляется соответствую- щая информация. Эта информация воспринимается другими портами следующим образом: адрес дешифруется и из него формируется сигнал разрешения-запрета приёма данных в каждом порту. Данные подготавливаются к записи в регистр приёма, но запись происходит только при наличии сигнала разрешения, сформированного из адреса в момент прихода по шине управления соответствующего стробирующего сигнала (рис. 2.2). При передаче данных в контроллер процесс несколько сложнее. На шине адреса выставляется адрес. Он дешиф- руется всеми портами и одним из них опознаётся как свой. В остальных формируется сигнал запрета передачи данных в шину данных. Опознавший адрес порт подготавливает
2.1. Параллельные интерфейсы данные в регистре передачи и выставляет их на шине дан- ных. После этого контроллер может записать данные в свой регистр приёма (рис. 2.3). Шина адреса Из контроллера Шина данных Рис. 2.2. Временные диаграммы процесса передачи данных из контроллера В контроллер Рис. 2.3. Временные диаграммы процесса приёма данных в контроллер Шина управления строится по тем же правилам, что и шина адреса. Она может быть упрощена заменой передатчи- ков на схемы с открытым коллектором, так как значащими сигналами на шине управления часто являются только уровни логического нуля. Главное ограничение, действующее при применении параллельных интерфейсов, — длина линий связи. Большое количество линий определяет высокую стоимость погонного
о Глава 2. Типовые решения реализации интерфейсов метра магистрали. Кабели параллельных интерфейсов обычно имеют недорогую простую конструкцию, например ленточную. Использование коаксиальных и других дорогих кабелей невозможно из-за их стоимости, которая превос- ходит стоимость электроники. Реализация длин линий, превосходящих единицы метров, при высокой пропускной способности невозможна по техническим или экономи- ческим причинам. Печатные конструкции магистралей параллельных интерфейсов по длине обычно не превышают 1 метра. Они имеют широкое распространение как систем- ные магистрали модульных систем. Многослойные печатные платы и соединители высокой плотности позволяют разво- дить большое число линий связи на небольших площадях печатных плат. При размещении интерфейса в пределах од- ной платы обычно есть возможность упростить реализацию магистральных приёмопередатчиков, что снижает стоимость, габариты и энергопотребление аппаратуры. Ярким примером параллельного интерфейса является ISA, применяющаяся с середины 1970-х годов. С этого вре- мени стандарт претерпел ряд модификаций и до настоящего времени применяется в промышленном оборудовании. Здесь есть классические шины адреса (Address 0-19 и добавленные кним позже LatchAddress 17-23) иданных (Data 0-15). Шина управления поддерживает: • два адресных пространства — отдельно для памяти и портов ввода-вывода (Memory Read, Memory Write, I/O Read, I/O Write); • прерывания (IRQ2-14); • прямой доступ к памяти (DMA RequestO-7, DMA Ac- knoledgeO-7); • регенерацию динамической памяти (Refresh); • подключение 8- и 16-битных устройств (Master 16 bit, Memory Access 16 bit, I/O 16 bit). Дополнительно предусмотрены питание и синхрониза- ция оконечных устройств. Из табл. 2.1. видно, что все эти
2.1. Параллельные интерфейсы разнообразные сигналы передаются по отдельным линиям, что накладывает высокие требования к их качеству. Не слу- чайно реализация кабельных соединений магистрали ISA не предусмотрена. Широкое распространение параллельных интерфейсов связано с состоянием развития элементной базы в последней трети XX века. Тогда большая часть изделий базировалась на микросхемах малой и средней степени интеграции. Более простая реализация параллельного интерфейса по сравне- нию с последовательным выливалась в улучшение техни- ческих и экономических характеристик изделия. Кабель- ное хозяйство имело меньшую относительную стоимость. К настоящему времени получила развитие специальная элементная база. Порт интерфейса как последовательного, так и параллельного чаще всего может быть реализован на одной из специальных микросхем. Поэтому относительная стоимость кабельного хозяйства возросла. Применение пос- ледовательных интерфейсов стало более целесообразным на магистралях любой, но особенно большой длины. Массовое внедрение локальных сетей сделало более доступной высоко- качественную кабельную продукцию для последовательной передачи данных. Если такая тенденция сохранится, можно предположить, что дело дойдёт до последовательного обмена данными между узлами персональных компьютеров и боль- шими объёмами данных внутри платы и внутри кристалла. Несмотря на «врождённые» недостатки, применение параллельных интерфейсов в обозримом будущем будет продолжаться. Они работают в очень большом числе систем различного назначения. Они рассматриваются в этой книге, так как модификация старых систем — одна из типичных инженерных задач, а также, потому что не знающий их осо- бенностей инженер не может считаться специалистом по интерфейсам и критически оценивать свойства интерфейсов, с которыми работает.
Глава 2. Типовые решения реализации интерфейсов Таблица 2.1. Назначение контактов разъёма параллельного интерфейса ISA Контакт Наименование сигнала Контакт Наименование сигнала В1 Ground Al I/O Channel Check В2 Reset Driver A2 Data7 ВЗ +5V A3 Data6 В4 IRQ2 A4 Data5 В5 —5V A5 Data4 В6 DMA Request 2 A6 Data3 В7 -12V A7 Data2 В8 No Wait States A8 Datal В9 +12V A9 DataO В10 Ground A10 I/O Channel Ready В11 _ Memory Write All Address Enable В12 Memory Read A12 Address 19 В13 I/O Write A13 Address 18 В14 I/O Read A14 Address 17 В15 DMA Acknoledge3 A15 Address 16 В16 DMA Request3 A16 Address 15 В17 DMA _ Acknoledgel A17 Address 14 В18 DMA Request 1 A18 Address 13 В19 Refresh A19 Address 12 В20 Clock A20 Address 11 В21 IRQ7 A21 Address 10 В22 IRQ6 A22 Address9 В23 IRQ5 A23 Address8 В24 IRQ4 A24 Address7 В25 IRQ3 A25 Address6 В26 DMA _ Acknoledge2 A26 Address5 В27 Terminal Count A27 Address4 В28 Address Latch Enable A28 Address3
2.2. Последовательные интерфейсы Продолжение табл. 2.1 Контакт Наименование сигнала 1 Контакт Наименование сигнала D1 Memory Access 16 bit Cl System Bus High D2 I/O 16 bit C2 Latch Address 23 D3 IRQ 10 C3 Latch Address 22 D4 IRQ11 C4 Latch Address 21 D5 [RQ12 C5 Latch Address 20 D6 IRQ15 C6 Latch Address 19 D7 IRQ 14 C7 Latch Address 18 _ D8 DMA AcknoledgeO C8 Latch Address 17 D9 DMA RequestO C9 Memory Read D10 DMA Acknoledge5 CIO Memory Write _ РИ DMA Requests CH Data8 D12 DMA Acknoledge6 C12 Data9 D13 DMA Request6 C13 DatalO D14 DMA Acknoledge7 C14 Datall D15 DMA Request7 C15 Datal2 D16 +5V C16 Datal3 D17 Master 16 bit C17 Datal4 D18 Ground C18 Datal5 2.2. Последовательные интерфейсы В отличие от параллельных, последовательные интерфейсы не имеют шин адреса, данных и управления. Вся полезная и служебная информация передаётся по единому информаци- онному каналу. Этот канал может состоять из одной сигналь- ной линии и общего провода (такие интерфейсы называют однопроводными). Их преимущество — в простоте коммута- ционного и кабельного хозяйства. Недостатокданного класса интерфейсов в необходимости организации синхронизации портов через информационный канал Работающие прин- ципиально асинхронно устройства должны обмениваться
Глава 2. Типовые решения реализации интерфейсов данными без потерь и конфликтов. Специальные меры по синхронизации снижают полезную пропускную способность и надёжность однопроводных интерфейсов (эти проблемы успешно решены в интерфейсе CAN). Неоднопроводные интерфейсы, как правило, реализу- ются проще и имеют лучшее соотношение времени пере- дачи полезной или служебной информации. Чем больше применено дополнительных линий связи, тем это заметнее (рис. 2.4). Однопроводной интерфейс Трёхпроводной интерфейс |КОНс^°мЛаЬНаЯ| Адрес Данные | Подтверждение |-1 [ Рис. 2.4. Обмен полезной информацией по однопро- водному интерфейсу обязательно сопро- вождается передачей большого количества служебной информации Популярность последовательных интерфейсов в послед- нее время связана с появлением специализированной эле- ментной базы, позволяющей реализовать порт интерфейса на одной недорогой микросхеме. Такие микросхемы могут появиться только при достаточном спросе на интерфейсную продукцию. Доступность специализированных микро- схем расширяет область применения интерфейсов за счёт снижения стоимости и улучшения характеристик изделия В данном случае имеет место лавинообразный процесс роста рынка последовательных интерфейсов.
2.2. Последовательные интерфейсы Последовательные интерфейсы используют кабельное хозяйство, разъёмы, площадь печатных плат в гораздо меньших количествах, чем параллельные. В настоящее время этот фактор стал очень важен не только в традици- онных случаях (длинные линии, мобильные устройства), но и в большинстве других, что вызвано ростом плотности информационных потоков на единицу объёма (или веса) аппаратуры. В системах автоматизации очень важен фактор простоты обслуживания кабельного хозяйства, размещён- ного на значительной территории, В радиальных интерфейсах, соединяющих всего 2 порта, передача данных от каждого из них может осуществляться по отдельной линии. В этом случае появляется принципиальная возможность одновременной (дуплексной) передачи данных в обоих направлениях, что означает удвоение пропускной способности интерфейса и упрощение процедуры арбит- ража. Количество линии связи в этом случае, как правило, удваивается. В реальных системах чаще всего не удаётся получить удвоения пропускной способности из-за особен- ностей алгоритма работы устройства. Линии связи слишком часто простаивают. Примеры удачного и неудачного применения дуп- лексного интерфейса приведены на рис. 2.5 и 2.6 соот- ветственно. Рис. 2.5. Непрерывная двунаправленная передача дан- ных. Пропускная способность дуплексного интерфейса используется продуктивно
G Глава 2. Типовые решения реализации интерфейсов Рис. 2.6. Выдача данных по запросу. Пропускная способность дуплексного интерфейса не ис- пользуется. Тот же результат можно было получить, используя одну линию связи 2.3. Временное разделение передачи адреса и данных в параллельных интерфейсах Промежуточным между параллельными и последовательны- ми интерфейсами является вариант реализации интерфейса с совмещением шин адреса и данных. Они передаются по одним и тем же линиям и разделяются во времени. Такие системы называются последовательно-параллельными интерфейсами. В них применяется мультиплексирование адреса и данных. Пропускная способность последователь- но-параллельного интерфейса как минимум вдвое меньше, чем параллельного с раздельными шинами. Таким образом, достигается экономия количества линий связи практически до 50 % по сравнению с аналогичным параллельным интер- фейсом. Максимальная экономия достигается при равенстве разрядностей шин адреса и данных. Поскольку реализация шины управления в любом случае требует использования отдельных линий связи, экономия принципиально не может достигнуть 50%. Отсюда следует, что процент экономии тем больше, чем больше отношение количества линий, используемых в шине адреса-данных, к количеству линий, используемых в шине управления. В период расцвета параллельных интерфейсов по такой схеме строились высокопроизводительные распределённые системы для ответственных применений. Каждая линия
2.4. Режимы синхронизации интерфейсов 25 могла быть выполнена из коаксиального кабеля с отдельным цилиндрическим разъёмом на каждом устройстве. (Вмес- то разъёмов, если для этого есть малейшая возможность, желательно использовать пайку. Это значительно снижает стоимость и массогабаритные характеристики.) Идея временного разделения адреса и данных возникла из желания минимизировать дорогостоящее и громоздкое высокочастотное кабельное хозяйство и из-за необходи- мости обходиться неспециализированными микросхемами средней степени интеграции. Тем не менее кабели и разъёмы всё равно остались дорогостоящими и крупногабаритными, практически унаследовав главный недостаток параллельных интерфейсов. В настоящее время применять такое решение в новых разработках, скорее всего, нецелесообразно. Повышение степени интеграции микросхем, как отмечалось выше, при- вело к более широкому использованию последовательных интерфейсов. 2.4. Режимы синхронизации интерфейсов Работа любого интерфейса возможна в двух принципиально разных режимах синхронизации: синхронном и асинхрон- ном. В асинхронном режиме обмен данными производится с заранее оговоренной скоростью. Все порты интерфейса должны поддерживать обмен с такой скоростью, иначе ра- бота системы невозможна. Применение асинхронного режима целесообразно, когда все порты реализованы одинаково и имеют сходные посто- янные времени при работе на интерфейсе. Задержка должна быть выбрана с некоторым запасом, что приводит к замед- лению работы интерфейса. Если разные порты требуют раз- личных величин задержки, она выбирается заведомо больше, чем необходимо для самого медленного устройства. В таком случае шинное время используется очень нерационально.
Глава 2 Типовые решения реализации интерфейсов Рис. 2.7. Алгоритм работы интерфейса в асинхронном режиме. Обратная связьоконечного устройства (приёмника) с контроллером отсутствует Рис. 2.8. Типичная схема приёмной части порта параллельного асинхронного интерфейса. Схема состоит только из быстрых элементов Рис. 2.9. Типичная схема передающей части порта параллельного асинхронного интерфейса. Схема состоит только из быстрых элементов
2.4. Режимы синхронизации интерфейсов 27 Рис. 2.10. АЦП часто является очень медленным элементом, задержка которого определяет скорость работы порта. Здесь показана схема подключения медленного элемента к асинхронному интерфейсу без снижения Рис. 2.11.0т запуска ЦАП до выдачи им достовер- ных данных обычно проходит довольно много времени по меркам интерфейсных схем. Здесь показана схема подключения медленного элемента к асинхронному интерфейсу без снижения производитель- ности всего интерфейса. Сигнал запуска выдаётся централизованно или от генерато- ра с фиксированной частотой. Блокировка подачи задержанного сигнала запуска на вход управления записью регистра-защёлки необходима для исключения одновремен- ной записи и чтения
Глава 2. Типовые решения реализации интерфейсов Простои шины происходят систематически и могут быть снижены только исключением медленных устройств из системы (рис. 2.7...2.11). Если в системе имеются оконечные устройства, работа- ющие с гораздо большей задержкой, чем другие, — скорее всего, реализация именно этих устройств несовершенна В случае слишком медленной записи данных в оконечное устройство, видимо, отсутствует регистр-защёлка данных на его входе. Эта проблема может быть легко решена добав- лением защёлки (можно просто скопировать схемотехнику аналогичного быстрого порта). В случае слишком медленной выдачи данных из оконечного устройства, скорее всего, подготовка данных начинается устройством только после прихода запроса на эти данные. Время подготовки и опре- деляет время, необходимое на выдачу данных. В этом случае следует попробовать осуществлять подготовку данных с не- которой периодичностью, а по запросу выдавать последние достоверные данные, для чего потребуется регистр-защёлка. Такой вариант не всегда допустим для быстроменяющихся сигналов, сбор которых должен происходить синхронно по специальным временным меткам. При одновременной записи и чтении регистра-защёлки может быть считана не- достоверная информация (из-за неидеального совпадения временных характеристик отдельных разрядов). Если метки передавать как самостоятельный, немультиплексированный сигнал, можно избежать и этой проблемы. В асинхронном режиме не требуется сигнал обратной связи (квитирования), который служит для информирова- ния передатчика об окончании работы приёмника. Кроме снижения числа линий в шине управления это повышает надёжность системы. Отсутствие сигнала квитирования из-за неисправности порта или обрыва линии — типичная причина «зависания» системы. Для её устранения часто усложняют алгоритм работы интерфейса, вводя максимальное время
2.4. Режимы синхронизации интерфейсов 29 Рис. 2.12. Алгоритм работы интерфейса в синхронном режиме. Оконечное устройство (приёмник) сообщает контроллеру о завершении операции ожидания сигнала квитирования, после которого фиксиру- ется сбой обмена или неисправность. Синхронный режим характеризуется наличием обратной связи оконечного устройства с контроллером. Оконечное устройство сообщает контроллеру об окончании обмена дан- ными, после чего контроллер завершает операцию обмена. Интерфейс готов к следующей операции (рис. 2.12). Время задержки в этом случае выбирается относительно небольшое. В иной реализации может происходить постоян- ное ожидание сигнала квитирования. В синхронном режиме шинное время используется с максимальной эффективнос- тью. Сигнал квитирования обычно реализуется по схеме «монтажного И». Все порты выдают его на линию с исполь- зованием выходных каскадов с открытым коллектором, ра- ботающих на общее сопротивление нагрузки, подключенное
30 Глава 2. Типовые решения реализации интерфейсов к источнику питания. В том случае, когда все порты выста- вили уровень логической «1», на линии присутствует этот уровень. Он считается неактивным. Если хотя бы один порт выставил уровень логического «0», этот уровень формируется на линии. Он считается активным и означает завершение операции обмена оконечным устройством. По этому сигналу при операции записи в контроллер он переписывает в свой регистр приёма (регистр-защёлку) достоверные данные и завершает операцию. При операции чтения из контроллера он считает, что оконечное устройство закончило запись достоверных данных, и тоже завершает операцию. В случае групповой передачи данных квитирование не используется. Схема «монтажного И» фиксирует ответ самого быстрого устройства, а не самого медленного, которое тоже должно успеть завершить операцию. При групповой передаче ин- терфейс должен перейти в асинхронный режим. Групповая передача всё равно быстрее рассыпки одинаковой инфор- мации на адреса всех оконечных устройств. Если рассылать приходится не на все устройства, а на некоторую группу, эффективность обоих вариантов реализации должна быть просчитана индивидуально. Синхронный режим практически не применяется в последовательных интерфейсах. Дополнительная линия квитирования для них — недопустимая роскошь. Порты пос- ледовательных интерфейсов обычно реализуются так, что все они работают практически с одинаковыми скоростями. В случаях, когда параллельный интерфейс: • имеет значительную длину, • содержит повторители сигналов или подобные им устройства, • содержит оконечные устройства, как подключаемые через кабели, так и смонтированные на общей печатной плате (то есть имеет сложную топологию), целесообразно применение асинхронного режима работы. Это значительно повысит производительность системы.
2.5. Обнаружение и коррекция ошибок передачи 2.5. Обнаружение и коррекция ошибок передачи В интерфейс может быть встроена система обнаружения и коррекции ошибок. Её реализация базируется на передаче избыточной информации, что ведёт к снижению произво- дительности интерфейса. В простейшем случае код данных свёртывается по модулю 2 передатчиком, иными словами — подсчитывается количество бит, представленных уровнем ло- гической «1». Если это количество чётное, дополнительный контрольный бит устанавливается равным единице. Такой процесс называется дополнением до нечётности. В табл. 2.2 для компактности рассмотрен случай трёхбитного кода. Приёмник проделывает с кодом такую же операцию свёртки по модулю 2, что и передатчик. Если значения по- лученного от передатчика и вычисленного самостоятельно контрольных битов совпадают, данные считаются досто- верными. Обратите внимание, что код с передаваемым вместе с ним контрольным битом никогда не принимает значения 0000 и 1111. Именно одно из этих значений, как правило, считывается приёмником при неисправностях на шине. Таким образом, при первой же попытке обмена данными обнаруживаются неисправности, влияющие на значения всех передаваемых битов. Для последовательных интерфей- сов это обрыв или замыкание линии данных, неисправность терминатора, буферных схем приёмника или передатчика. Для параллельных интерфейсов это некорректная работа (обрыв, замыкание) на шине управления, несостыкованный разъём, неисправность модуля нагрузочных резисторов (перечни неисправностей условные, зависят от реализации интерфейса). Если нарушено прохождение одного бита данных (напри- мер, оборвана одна из линий шины данных параллельного интерфейса), неисправность будет обнаружена, как только приёмник зафиксируетзначение сигнала, отличное от верного.
Глава 2. Типовые решения реализации интерфейсов Таблица 2.2. Дополнение до нечётности для трёхбитного кода Лвоичный _ код Количество единиц в коде контрольный бит ООО 0 (чётное) 1 001 1 (нечётное) 0 010 1 (нечётное) 0 011 2 (чётное) 1 100 1 (нечётное) 0 101 2 (чётное) 1 ПО 2 (чётное) 1 111 3 (нечётное) 0 При нарушении прохождения нескольких битов неисправ- ность может оставаться невыявленной неопределённое число циклов, при этом приёмник будет фиксировать недостоверные данные как достоверные. Поэтому для того чтобы убедиться в исправности интерфейса, контроллер интерфейса передаёт специальные тестовые сообщения, в которых каждый бит данных устанавливается в каждое из двух значений в сочетании с различными значениями других битов, аналогично тому как производится тестирование опе- ративной памяти. Передача осуществляется в адрес специ- ального регистра контроля. Этот регистр связан с доступным по чтению регистром, данные в котором формируются из принятых по известному алгоритму, например побитным инвертированием. Считывая этотрегистр, контроллер делает вывод об исправности интерфейса. Контрольный бит не позволяет исправлять ошибки из-за недостаточной избыточности информации. Поэтому, как правило, при обнаружении сбоя предпринимается ещё несколько попыток передачи данных. Если и они не закан- чиваются успешно, неисправность оборудования считается установленной (рис. 2.13 и 2.14).
2.5. Обнаружение и коррекция ошибок передачи Рис. 2.13. Алгоритм передачи данных с контрольным битом Рис. 2.14. Алгоритм приёма данных с контрольным битом Отсутствует возможность восстанов- ления данных при ошибке передачи
Глава 2. Типовые решения реализации интерфейсов Алгоритмы с большей избыточностью используют вы- числение контрольных сумм и могут быть использованы для восстановления поврежденных данных. Подробно о них читайте в специализированной литературе (рис. 2.15*" и 2.16). Функция обнаружения и коррекции ошибок может значительно снижать полезную производительность интер- фейса. Объём избыточной информации составляет от 1 бита на сообщение. Максимальный объём ограничен размером полезного сообщения. При таком и большем объёмах выгод- нее передавать не контрольные суммы, а непосредственно данные в немного изменённом виде, например проинвер- тированные. Алгоритмы формирования сообщения, его расшифровки, определения достоверности и коррекции данных при этом выглядят значительно проше и могут быть легко реализованы аппаратно или программно. Контролем и коррекцией ошибок могут быть защищены адресная и информационная части сообщения или только информационная (шина данных, как это часто делается в параллельных интерфейсах). Решение о применении контроля и коррекции ошибок в системе зависит от «цены» ошибки. Например, если инфор- мация передаётся на дисплей, разовый сбои, скорее всего, будет просто не замечен пользователем. При возникнове- нии стабильной неисправности, наоборот, она сразу станет заметна. Пользователю придётся мириться с «шумом» на экране, либо он не увидит полезной информации вообще, либо сможет принять решение об устранении неисправнос- ти. В ответственных приложениях, где оператор включён в систему управления производственными процессами, приходится использовать коррекцию ошибок, невзирая на издержки.
2.5. Обнаружение и коррекция ошибок передачи 35 Рис. 2.15. Алгоритм передачи данных с контрольной суммой. Формирование контрольной суммы — относительно сложная процедура { Успешное завершение Рис. 2.16. Алгоритм приёма данных с контрольной суммой. Имеется возможность восстанов- ления данных при ошибке передачи
Глава 2. Типовые решения реализации интерфейсов 2.6. Среды передачи данных Каждому стандартному интерфейсу присуща одна или не- сколько сред передачи данных. Здесь под этим определением мы будем понимать совокупность устройств, проводящих сигналы между портами интерфейса. Реализация среды передачи данных зависит от физичес- кой природы сигналов и свойств интерфейса: расстояния между портами, топологии, количества линий передачи данных, полосы частот передаваемых сигналов. Наиболее распространены в интерфейсах электрические сигналы. Их использование имеет длинную историю. В ре- зультате сложились различные стандартные де-факто ре- шения, применение которых продолжается десятилетиями. Причины их «живучести»: большое количество построенных на их основе систем, необходимость их длительной подде- ржки и развития. Часто кабельное хозяйство — существенная часть среды передачи данных является самой дорогостоящей и трудномодифицируемой частью системы. В технических заданиях на модификацию таких систем одним из важных граничных условий является сохранение в неизменном виде кабельного хозяйства. В старых изделиях специаль- ного и промышленного назначения обычно применены высококачественные, дорогостоящие кабели. Их вполне можно использовать и после увеличения производитель- ности интерфейса. Процессы старения в таком кабельном хозяйстве выражены слабо. Они могут эксплуатироваться десятилетиями. Исключение составляют кабели, проложен- ные в земле, — они подвержены быстрому разрушению под действием грунтовых вод. Распределённые на большой территории системы имеют структурированное кабельное хозяйство, кроме собственно кабелей и разъёмов оно включает электронные устройства, позволяющие увеличить длины линий, повысить про- пускную способность, уменьшить общую длину кабелей в системе. Это разветвители, повторители и т. п. Такие
2.6. Среды передачи данных 37 устройства замедляют прохождение сигнала от передатчика к приёмнику, что может вызывать удлинение цикла обмена данными за счёт задержки прохождения сигналов сначала от устройства, инициировавшего обмен, затем к нему. Пикл удлиняется на удвоенное время прохождения сигналов через линию связи. Среды передачи данных параллельных интерфейсов обычно представляют сбой совокупность недорогих линий связи без отдельного экранирования каждой из них. Это обусловлено большим количеством требующихся линий связи. Применение более дорогих решений невозможно по экономическим соображениям. На печатной плате они занимают довольно много места. Такие линии неспособны обеспечить скоростную передачу данных на значительные расстояния. Разъёмы параллельных интерфейсов содержат десятки контактов, что ухудшает массогабаритные харак- теристики и надёжность аппаратуры. Всё это, а также рост степени интеграции специализированных интерфейсных микросхем привели к снижению области применения парал- лельных интерфейсов в пользу последовательных, не обла- дающих вышеперечисленными недостатками. Последовательно-параллельные интерфейсы часто используют дорогостоящие линии связи, характерные для последовательных интерфейсов, но их количество обычно измеряется десятками. Стоимость и массогабаритные ха- рактеристики последовательно-параллельных интерфейсов всегда ограничивали их применение. В настоящее время оно практически сошло на нет из-за развития последовательных интерфейсов. Теоретически последовательный интерфейс не может работать быстрее последовательно-параллельного, ис- пользующего аналогичные линии связи. Но с появлением возможности реализации последовательного интерфейса на одной недорогой микросхеме началось широкое применение последовательных решений, что вызвало бурное развитие
Глава 2. Типовые решения реализации интерфейсов элементной базы и стандартизации. Их массовое внедрение позволило снизить стоимость комплектующих и кабелей. В свою очередь, это вызвало ещё более массовое внедре- ние последовательных интерфейсов. Процесс приобрёл лавинообразный характер, а разработчики и пользователи получили отличные системы передачи данных невысокой себестоимости. Небольшое число линий связи последовательных ин- терфейсов позволяет легко реализовывать гальванические развязки между портами Развязки автоматически решают многие проблемы устойчивости системы, с которыми раз- работчик сталкивается на этапе комплексных испытаний, а эксплуатационник — повседневно. Развязки стоит при- менять, если для этого есть хоть малейшая возможность. Зачастую заказчик не знает, зачем нужна развязка и что она даст его системе. Для обоснования применения развязок можно пользоваться следующими их свойствами: • снижение помех на линиях интерфейса; • снижение помех в измерительных цепях датчиков; • защита систем управления при выходе из строя сило- вых управляемых цепей; • разделение различных питающих электросетей. Для иллюстрации работы гальванической развязки удоб- но использовать рис. 2.17 и 2.18. В любом случае применение электрических линий связи накладывает ограничение на скорость передачи данных из-за паразитных реактивных параметров. Появление в конце XX века волоконно-оптических ли- ний передачи данных вызвало кжизни ряд стандартов на ин- терфейсы с соответствующей средой передачи данных. Это как оригинальные разработки (Sonet), так и версии старых последовательных интерфейсов (Ethernet). Волоконная сре- да передачи данных унаследовала все плюсы электрической среды с гальванической развязкой.
2.6. Среды передачи данных Рис. 2.17. Использование гальванической развязки на примере узла управления транспортной системой. При аварии силовых цепей (перегрузка MOSFET/IGBT, удар молнии в контактную сеть и т. п.) управляющий компьютер защищён оптопарой гальва- нической развязки Тягловая электросеть развязана с питающей сетью управляющего компьютера, а значит, не возникают сквоз- ные токи нулевой шины, не происходит разбаланс фазных напряжений и т. д. Кроме того, она даёт возможность передачи данных по длинным линиям в условиях высокого уровня помех. Элек- трические помехи, естественно, не воздействуют на опти- ческие линии связи. Такие линии не образуют паразитные реактивные сопротивления, вызывающие искажения сигна- ла в длинных электрических линиях. Оптическая линия ока- зывает на сигнал только ослабляющее действие, что можно считать аналогом активного сопротивления электрической линии связи. Волоконно-оптическое оборудование и линии связи подразделяются на одномодовые и многомодовые. В одно- модовых системах обмен данными производится только с одной длиной волны излучения (цветом). В многомодовых системах в каждом волокне может одновременно произво- диться обмен данными с разными длинами волн. Многомо- довые системы гораздо производительнее одномодовых, но и
G Глава 2. Типовыерешенияреализации интерфейсов Рис. 2.18. Использование гальванической развязки на примере распределённой системы сбора данных цеха. Все блоки датчиков на технологических установках развязаны с интерфейсом, а значит, не возникнет оши- бок измерения и помех. При случайном за- мыкании линий интерфейса на электросеть датчики и компьютер защищены развязы- вающими трансформаторами. Не возникнет проблем, связанных с питанием установок и компьютера от разных электросетей и с разными схемами подключения оборудование, и особенно линии связи таких систем дороже. Для многомодовых систем необходимо волокно, параметры которого приемлемы для передачи данных излучениями разного цвета. Многомодовый трансивер представляет со- бой фактически комбинацию из нескольких трансиверов на каждую из используемых длин волн. Для их надёжной работы необходимо обеспечить избирательность по длине волны для каждого из них. Высокие цены на оптические кабели определили их при- менение в первую очередь в военных целях (где важна надёж- ность и защищённость связи) и на магистральных каналах
2.6. Среды передачи данных LE -LE laser enable VIN -RESET Laser Controller (Up LCU) Рис. 2.19.12-битный параллельный оптический передатчик от Infineon Рис. 2.20.12-битный параллельный оптический приёмник от Infineon гражданской связи (где высокая стоимость окупается за счёт предоставления платных услуг). Технология производства оптических кабелей совершенствуется в сторону снижения себестоимости продукции, но лавинного роста (как на рынке последовательных интерфейсов) пока не произошло. До сих пор оптическая среда передачи данных применяется только в дорогих системах. По этой причине все последовательные интерфейсы с волоконно-оптической средой реализованы по однопроводному принципу.
G Глава 2. Типовые решения реализации интерфейсов Широкому внедрению волоконной оптики в недорогие системы (а это было бы выгодно из-за экономии дорогосто- ящей меди и неприхотливости в эксплуатации таких систем) препятствует сложность монтажа разъёмов на оптический кабель. Обычно оптические кабели поставляются произво- дителем уже с разъёмами. При нынешнем состоянии рынка не очень обременительно указывать при заказе длину кабеля и тип разъёмов. Для массового внедрения это непригодно. Специфика волоконных систем предполагает большие длины кабелей и непредсказуемость расстояния между объектами. Например, при монтаже волоконных кабелей на высоковольтных линиях электропередач учитываются расстояния между всеми опорами и заказываются отрезки кабелей различной длины специально для каждого пролёта. Самостоятельная установка разъёмов пока недоступна боль- шей части пользователей, это довольно сложная, недешёвая и тонкая технология. Ручного инструмента, позволяющего делать это легко и просто, пока нет. Другой стороной этой медали является повышенная секретность передачи данных по волоконной линии. Можно быть уверенным, что несанкционированный доступ к дан- ным возможен только там, где есть оптические разъёмы или преобразование данных в электрический сигнал. Там можно установить оптический разветвитель или просто подклю- читься к электрическому сигналу. Ограниченное число таких уязвимых точек нетрудно проконтролировать. Некоторые фирмы-производители выпускают системы параллельной передачи данных по нескольким волокон- ным линиям.. Они, как правило, не стандартизированы и поддерживаются только одной фирмой-производителем. Производительность таких систем пропорциональна числу использованных линий. Например, 12-жильная система PAROLI от Infineon (www.infineon.com). Внедрение нестандартизированных решений опасно с точки зрения возможностей долговременной поддержки
2.6. Среды передачи данных 43 ) работоспособности системы. Скорее всего, через несколько лет производитель предложит новое решение, старые комп- лектующие будут сняты с производства, заменить их окажет- ся нечем, и вместо текущего обслуживания и модернизации придётся тратить средства и силы на замену всей системы. От подобного развития событий не гарантирует даже солидный бренд производителя. Другой разновидностью оптической среды передачи данных являются оптические атмосферные каналы. Они нашли широкое применение в интерфейсах с небольшой пропускной способностью, работающих на расстоянии до нескольких метров в пределах прямой видимости. В таких системах обычно применяются излучатели на инфракрасных светодиод ах с диаграммой направленности, обеспечивающей достаточный уровень излучения в конусе с углом 15-45°. Это обуславливает ограничение на расстояние между приёмни- ком и передатчиком. Открытость среды передачи данных делает невозможной одновременную работу нескольких систем в пределах одного помещения, а также ставит качество сигнала в зависимость от состояния атмосферы. В производс- твенных помещениях работе канала мешают частички пыли, оседающие на оптике и находящиеся в атмосфере. Вообще надёжность подобных каналов считается недостаточной для более-менее ответственных применений. Зато подобные линии передачи данных нашли широкое применение в бытовой технике, где обеспечивают взаимо- действие пультов управления с управляемыми приборами, обмен данными между мобильными устройствами и персо- нальным компьютером и т. п. Реализация таких интерфей- сов недорога: оптоэлектроника и микросхемы выпускаются в массовом количестве по низким ценам. Потребляемая аппаратурой мощность позволяет запитывать её от недо- рогих батареек. Низкое потребление передающей части достигается за счёт высокой скважности передаваемых сиг- налов. Импульс тока для светодиодов передатчика получают
Глава 2. Типовые решения реализации интерфейсов разрядом электролитического конденсатора, включенного параллельно источнику питания. Ограничение на скорость передачи данных накладывает паразитная ёмкость фотоприёмника. Её разряд значительно «заваливает» задние фронты принимаемых импульсов. На рынке имеются недорогие элементы для создания систем дистанционного управления на атмосферном ин- фракрасном канале. Они позволяют реализовать однона- правленную линию передачи данных от пульта к объекту управления, работу контроллера клавиатуры на пульте и дискретные и аналоговые сигналы управления на объекте. Их применение — очень удобный способ быстро разработать недорогое устройство для неответственных применений. Другой класс атмосферных оптических систем связи ре- ализуется на лазерах и позволяет создавать двунаправленные линии связи на большие расстояния. Прохождение опти- ческого излучения через атмосферу или безвоздушное про- странство не связано с дисперсионным искажением фронтов, характерным для оптического волокна. Поэтому здесь дости- жимы очень высокие скорости обмена данными (до терабита в секунду). При связи в атмосфере доступны расстояния до нескольких километров, в открытом космосе — десятки и сотни тысяч километров. Подобные линии связи не требуют лицензирования, но требуют получения гигиенического сер- тификата как аппаратура, связанная с лазерным излучением. В России готовые системы двухточечной связи производит Рязанский приборный завод (www.grpz.ru). Наличие системы взаимного самонаведения терминалов системы позволяет устанавливать связь между объектами в течение не более 15 минут, что очень важно в спецприменениях. Надо отметить и другие важные свойства подобных систем: их работу труд- но обнаружить и получить несанкционированный доступ к линии — практически всё излучение попадает в приёмник или затухает в атмосфере. Зато они очень чувствительны к задымлению, туману, снегу, дождю и т. п.
2.6. Среды передачи данных Рис. 2.21. Терминал лазерной оптической линии связи. Конструкция прибора позволяет быстро наводить его на другой терминал. Бленды защищают фотоприёмник от постороннего излучения, приходящего не вдоль оптической оси линии Радиоканалы Они очень разнообразны. Диапазон расстояний от несколь- ких метров до (практически) бесконечности. Пропускная способность ограничена сверху несущей частотой. Это очень обширная тема. Здесь нужно только отметить, что радио- среда передачи данных используется последовательными однопроводными интерфейсами. Радиосреда обеспечива- ет все преимущества систем с гальванической развязкой. Себестоимость реализации и энергопотребление обычно довольно высокие. Как правило, требуется лицензирование использования радиоканала. С развитием сотовой связи появилась возможность использовать её для реализации пользовательских систем передачи данных. Преимущества и недостатки такого решения очевидны.
ГЛАВА 3 ПОСЛЕДОВАТЕЛЬНЫЕ ИНТЕРФЕЙСЫ 3.1. Коммуникационные интерфейсы RS232, RS485 и RS422 Наиболее применяемые последовательные интерфейсы. За долгие годы их использования разработано большое ко- личество изделий, элементная база, программные модули. Стандарты на эти интерфейсы имеют статус рекомен- дуемых, поэтому часто возникают проблемы в стыковке изделий разных производителей. Благодаря очень простой реализации эти проблемы легко решаются. Популярность интерфейсов RS232, RS485 и RS422 опре- деляется невысокой стоимостью портов и кабелей, а также стабильностью использования данных стандартов в раз- личных областях техники, в течение длительного времени, разными производителями. Поддерживаются асинхронный и синхронный режимы обмена данными. Интерфейс RS232 построен на униполярных линиях передачи данных. Поэтому его производительность и мак- симальная длина кабеля невелики. RS232 применяется для подключения периферийного оборудования к персональным компьютерам. Кабельное хозяйство этого интерфейса недо- рогое, что даёт возможность использовать отдельные линии для квитирования, синхронизации и прерывания. RS232 является радиальным интерфейсом, поэтому понятие адреса
3.1. Коммуникационные интерфейсы RS232, RS485 и RS422 Таблица 3.1. Наименования и назначения сигналов интерфейса RS232C Наименование* Назначение PG (Protected Ground) Защитная земля SG (Signal Ground) Сигнальная земля TD (Transmit Data) Данные. От контроллера к оконечному устройству RD (Receive Data) Данные. От оконечного устройства к контроллеру RTS (Request To Send) Запрос передачи данных. Сигнал готовности данных ддя передачи из контроллера к оконечному устройству. В полудуплексном режиме используется для управления направлением передачи данных CTS (Clear To Send) Готовность регистра приёма оконечного устройства DSR (Data Set Ready) Готовность оконечного устройства к обмену данными DTR (Data Terminal Ready) Готовность контроллера к обмену данными DCD (Data Carrier Detected) Готовность удалённой аппаратуры оконечного устройства к обмену данными RI (Ring Indicator) Прерывание от оконечного устройства * Наименования указаны в соответствии с документацией на интерфейс RS232C Аналогичные ему интерфейсы RS232 и «Стык-2» имеют менее мнемоничные наименования сигналов
48 Глава 3. Последовательные интерфейсы Рис. 3.1. Последовательность управляющих сигналов интерфейса RS232C ё I ё ё
3.1. Коммуникационные интерфейсы RS232, RS485и RS422 в нём отсутствует. Эти факторы способствуют повышению эффективности работы интерфейса в системах сбора данных и с периферийным оборудованием (табл. 3.1) На рис. 3.1 показана последовательность управляющих сигналов интерфейса RS232C. Она имеет следующий физи- ческий смысл: 1. Установкой DTR контроллер указывает на желание использовать оконечное устройство. 2. Установкой DSR оконечное устройство сигнализирует о своей готовности к работе. 3. Установкой RTS контроллер запрашивает разрешение на передачу и заявляет о своей готовности принимать д анные от оконечного устройства. 4. Установкой CTS оконечное устройство уведомляет о своей готовности к приёму данных. 5. Снятием CTS оконечное устройство сигнализирует о невозможности дальнейшего приёма (например, буфер приёма заполнен) — контроллер должен приостановить передачу данных. 6. Установкой CTS оконечное устройство разрешает компьютеру продолжить передачу (например, в буфере по- явилось место). 7. Снятием RTS контроллер информирует оконечное уст- ройство о своей неготовности к обмену данными. Это может означать как заполнение буфера приёма контроллера, так и отсутствие данных для передачи в оконечное устройство. 8. Оконечное устройство подтверждает снятие RTS сня- тием CTS 9. Контроллер повторно устанавливает RTS для возоб- новления обмена данными. 10. Оконечное устройство подтверждает готовность к обмену установкой CTS. 11. Снятием RTS контроллер указывает на завершение обмена.
о 2 | * ill * Й Й g ° а "S3 I i 8 £ X I Ё g я S I t S о Е й Е Я I Е ЕС Е § * E оё S3 Я If ° ® ° S b=S □ i’85»|s'?S§f h^Mhh ’ H . CD Д g g .* §с !- й Р S Г i 2 S » S & в I I I E 8 I я я E s I s 5 2 * Я E h я о д S о £ § * E N Й 3 s £ д 11 i 1 a I O 3 § f * E I s s = s s E E E S » I и s q Я 1 к m о 2 ос Я Я I » E 2 s E S: я g § H i s Г о Sc К g I O 1 3 мН S' | 3 ИФ "sSiSi s« s * 1 Й о III 5 О я 3 3 ?C Рис. 3.2. Временная диаграмма передачи байта данных в интерфейсах RS232, RS485 и RS422. Когда линия свободна, на ней присутствует уровень логической «1». Перед байтом данных передаётся стартовый бит - уровень логического «О». Обнаружив его, приём- ник начинает приём байта данных. После данных передаётся бит чётности, затем один или несколько стоповых бит. Стоповые биты передаются уровнями логической «1» и служат для маркировки окончания байта данных. После них может следовать пауза неопределённой длительности или начало новой передачи
Глава 3. Последовательные интерфейсы Рис. 3.3. Примеры применения интерфейсов RS232, RS485 и RS422. Персональный компьютер обычно осна- щён штатным контроллером интерфейса RS232C. Недорогой преобразователь позволяет осуществить его сопряжение с интерфейсом RS485/422. На его базе удобно строить распределённые системы сбо- ра данных и управления. (Илл. к ст. А. Локоткова «Устройства связи с объектом. Модули фирмы Advantech» // СТА. № 2,1997 г.)
3 1 Коммуникационные интерфейсы RS232. RS485 и RS422 токи передатчиков и, следовательно, меньше нагрузочная способность. Для улучшения этих параметров применяются повторители данных. Интерфейсы RS485 и RS422 реализуют магистральный принцип обмена данными. В них может быть адресовано до 63 портов. Строго говоря, RS422 — радиальный интерфейс, но многие производители оборудования дополняют его возможностью магистрального подключения и частичной совместимостью с RS485 (со сниженными параметрами по нагрузочной способности). Рекомендательный характер стандартов это вполне допускает. Разработчик, применя- ющий продукцию разных производителей, должен быть внимательным в анализе параметров изделий. Примеры реализации интерфейсов показаны на рис. 3.3. Применение интерфейсов RS232, RS485 и RS422 в новых разработках продолжается, несмотря на появление более эффективных стандартов. Основные причины: • дешевизна кабельного хозяйства и реализации портов; • большой парк работающего оборудования, использу- ющего эти стандарты; • возможность организации гальванической развязки. Дополнительная информация 1. Стешенко В. Проектирование устройств обработки сигналов, http://www.rs232.ru/docs/rs232/doc003.html. 2. Локотков А. Интерфейсы последовательной передачи данных. Стандарты EIA RS-422A/RS-485 // СТА. № 3, 1997. http://www.cta.ru/pdf/1997-3/notel_1997_3.pdf. 3. Ольховский И. RS-протоколы. http://www.ixbt.com/comm/rs_proto.html. 4. Сб. ст. по теме RS232. http://www.rs232.ru/i_rs232.html. 5. Сб. ст. по теме RS485. http://www.rs232.ru/i_rs485.html. 6. Правильная разводка сетей RS485. Maxim’s Application Note 373. http://www.gaw.ru/html. cgi/txt/interface/rs485/app.htm.
Су Глава 3. Последовательные интерфейсы 3.2. Периферийный интерфейс USB USB (Universal Serial Bus) — универсальная последовательная шина. Как и многие современные интерфейсы, он разрабо- тан для применения в персональных компьютерах. Основ- ной целью разработки была необходимость удовлетворить потребность в оперативном подключении периферийных устройств к переносным и в меньшей мере к настольным компьютерам. В стандарте на интерфейс USB заложено множество удобных для пользователя функций: • «горячее» подключение и отключение устройств; • питание периферии от хост-компьютера или развет- вителя через интерфейсный кабель; • малогабаритные надёжные разъёмы; • возможность реализации гальванической развязки; • поддержка Plug-and-Play; • высокая скорость обмена данными, особенно в новой версии спецификации USB 2.0. Их наличие делает интерфейс удобным для применения в научной и специальной аппаратуре, а также во множестве других приложений. Вначале широкое использование ин- терфейса тормозилось отсутствием поддержки в операци- онной системе Windows (а под DOS работа USB невозможна в принципе из-за недоступности необходимого адресного пространства). Когда Microsoft выпустила соответствующее программное обеспечение, на рынке стало появляться разно- образное оборудование с этим интерфейсом. USB стал вытес- нять ранее занимавшие этот рынок решения, среди которых параллельные интерфейсы (SCSI, EPP) и последовательный RS232. Главные причины перевеса в пользу USB — удобство подключения и инициализации, а также малогабаритные надёжные разъёмы. Использование интерфейса USB для вновь разрабаты- ваемого оборудования, скорее всего, сделает его удобным в эксплуатации и независимым от смены хост-компьютеров,
3.2. Периферийный интерфейс USB то есть долгоживущим и требующим минимальных усилий на поддержку. Значительным недостатком интерфейса USB, несмотря на доработку спецификации, остаётся плохо организован- ная поддержка большого количества устройств. Реально не стоит подключать к одному контроллеру USB больше чем несколько устройств. Компьютер Корневой контроллер | Принтер] | Камера] Хаб [Клавиатура| Рис. 3.4. Топология интерфейса USB. Для однозначного правильного соединения применяются разъёмы типа «А», типа «В» и миниатюрные (обозначено на рисунке буквой «М») Средой интерфейса является кабельная система со стандартизированными разъёмами нескольких видов и раз- ветвителями (хабами). Хабы позволяют реализовывать топо- логию многоярусной звезды. Часто хабы используются для реализации гальванической развязки и питания оконечных устройств. Естественно, не все хабы, имеющиеся на рынке, под держивают эти возможности. Для однозначного, правильного соединения приме- няются разъёмы нескольких различных типов. Разъёмы типа «А» применяются для подключения к хабам (Upstream Connector). Вилки устанавливаются на кабелях, не отсо- единяемых от устройств (например, клавиатура, мышь ит. п.). Гнезда устанавливаются на нисходящих портах (Downstream Port) хабов. Разъёмы типа «В» (Downstream
Глава 3. Последовательные интерфейсы Тип А Тип В Mini-USB Рис. 3.5. Внешний вид стандартизированных разъ- ёмов интерфейса USB. Изображены разъёмы фирмы Samtec (www.samtec.com) Connector) устанавливаются на устройствах, от которых соединительный кабель может отсоединяться (принтеры и сканеры). Ответная часть (вилка) устанавливается на соединительном кабеле, противоположный конец которого имеет вилку типа «А». Мобильные устройства, эксплуати- рующиеся не подключёнными к интерфейсу USB, обычно
3.2. Периферийный интерфейс USB комплектуются миниатюрным разъёмом mini-USB. Функ- ционально он аналогичен разъёму типа «В» Типы разъёмов различаются конструктивно (рис. 3.5), что исключает недопустимые петлевые соединения разъ- ёмов хабов и оконечных устройств. Конструкция разъёмов обеспечивает более позднее соединение и более раннее отсо- единение сигнальных цепей по сравнению с питающими при коммутации, что обеспечивает однозначность инициализа- ции нового устройства при горячем подключении и защиту коммутируемых цепей от повреждения. Для распознавания разъёма USB на корпусе устройства и кабельных частях разъёмов ставится стандартное символическое обозначение (рис. 3.6). Рис. 3.6. Для распознавания разъёма USB на корпусе ус- тройства и кабельных частях разъёмов ставится стандартное символическое обозначение Структура интерфейса USB обеспечивает одновре- менный обмен данными между хост-компьютером и не- сколькими периферийными устройствами. Распределение пропускной способности шины между ними планируется хост-компьютером и реализуется им с помощью посылки маркеров. Шина позволяет подключать, конфигурировать, использовать и отключать устройства во время работы хост- компьютера и самих устройств. Стандарт USB определяет электрические и механичес- кие параметры среды передачи данных. Информационные сигналы и питающее напряжение 5 В передаются по че- тырёхпроводному кабелю. Используется дифференциаль- ный способ передачи сигналов D+ и D— по двум перевитым проводникам. Уровни сигналов передатчиков в статическом режиме должны быть ниже 0,3 В (низкий уровень) или выше 2,8 В (высокий уровень). Приёмники выдерживают входное
Глава 3. Последовательные интерфейсы напряжение в пределах — 0,5...+3,8 В. Передатчики долж- ны уметь переходить в высокоимпедансное состояние для двунаправленной полудуплексной передачи по одной паре проводов. Передача по двум проводам в USB не ограничивается дифференциальными сигналами. Кроме дифференци- ального приёмника каждое устройство имеет линейные приёмники сигналов D+ и D—, а передатчики этих линий управляются индивидуально. Это позволяет различать более двух состояний линии, используемых для организации аппа- ратного интерфейса. Состояния DifTO и Diffl определяются по разности потенциалов на линиях D+ и D— более 200 мВ при условии, что на одной из них потенциал выше порога срабатывания. Состояние, при котором на обоих входах D+ и D— присутствует низкий уровень, называется линейным нулем (SEO — Single-Ended Zero). Интерфейс определяет следующие состояния: • Data J State и Data К State — состояния передаваемого бита (или просто J и К), определяются через состояния DifTO и Diffl; • Idle State — пауза на шине; • Resume State — сигнал «пробуждения» для вывода уст- ройства из «спящего» режима; • Start of Packet (SOP) — начало пакета (переход из Idle State в К); • End of Packet (EOP) — конец пакета; • Disconnect — устройство отключено от порта; • Connect — устройство подключено к порту; • Reset — сброс устройства. Состояния определяются сочетаниями дифференциаль- ных и линейных сигналов, для высокой и низкой скоростей состояния DiflfO и Diffl имеют противоположное назначение. В декодировании состояний Disconnect, Connect и Reset учитывается время нахождения линий (более 2,5 мс) в опре- деленных состояниях.
3.2. Периферийный интерфейс USB а б Рис. 3.7. Кабельное хозяйство интерфейса USB. Со стороны хост-компьютера поступает напряжение питания оконечных устройств. Допустимый ток нагрузки источника питания до 500 мА. Высокоскоростная линия связи (а) реализуется на экранированной витой паре. Высокоскоростной трансивер оконечного устройства имеет резистор, «подтягивающий» линию D+ к напряжению питания, в отличие от низкоскоростного трансивера (б), у кото- рого такой резистор подключен к линии D—. Проверяя состояние этих линий при инициа- лизации, хост-компьютер или хаб определяет допустимые скорости передачи данных для оконечного устройства. Низкоскоростная линия передачи данных может быть орга- низована без использования дорогостоящей экранированной витой пары
Глава 3. Последовательные интерфейсы Шина имеет два режима передачи: высокая скорость равна 12 Мбит/с, низкая — 1,5 Мбит/с. Для высокой скорости используются кабели с сигнальными линиями из экрани- рованной витой пары с волновым сопротивлением 90 Ом и длиной сегмента до 5 м, для низкой допустим неэкра- нированный кабель с длиной сегмента до 3 м, допускается применение кабеля, используемого на высокой скорости передачи. Низкоскоростные кабели и устройства дешевле высокоскоростных. Одна и та же система может одновре- менно применять оба режима. Скорость, используемая устройством, определяется по уровням сигналов на линиях D+ и D—, смещаемых нагрузочными резисторами приёмо- передатчиков (рис. 3.7). Какова максимальная длина USB-кабеля внешних модулей? Сечение проводников выбирается в соответствии с длиной сегмента для обеспечения гарантированного уровня сигнала и питающего напряжения. Оно характеризуется маркиров- кой, например «28AWG...24AWG». Первое число, согласно спецификации USB, определяет сечение сигнальных прово- дов, второе — проводов питания. Для подключения модуля через более длинный кабель необходимо применять кабель с большим сечением проводов питания. Маркировка, напри- мер, «28AWG...20AWG». Числа в маркировке соответствуют калибрам проводов (табл. 3.3). Расчет требуемого погонного сопротивления кабеля несложен: для надежной работы оконечных устройств USB с питанием через кабель необходимо, чтобы падение напря- жения на кабеле не превышало dU< 0,18 В. Если известен ток потребления изделия / в амперах и требуемая длина кабеля L в метрах (Z < 5), то с учетом падения напряжения на двух
3.2. Периферийный интерфейс USB проводах кабеля требуемое погонное сопротивление пита- ющих проводов составляет: r< dU/(2 L-I). Таблица 3.3. Погонное сопротивление (г) линий питания USB-кабелей । Маркировка кабеля 1 28AWG 26AWG 24AWG 22AWG 20AWG Погонное сопротивление, Ом/м 0,232 0,145 0,091 0,057 0,036 Сшналы синхронизации в линиях интерфейса USB ко- дируются вместе с данными по методу NRZI (Non Return to Zero Invert), его работу иллюстрирует рис. 3.8. NZRI — метод без возврата к нулю с инвертированием для единиц. Этот метод представляет собой модификацию простого потенциального метода кодирования, когда для представления 1 и 0 используются потенциалы двух уровней. В методе NRZI также используется два уровня потенциала сигнала, но потенциал, используемый для кодирования текущего бита, зависит от потенциала, который использо- вался для кодирования предыдущего бита (так называемое «дифференциальное кодирование»). Если текущий бит имеет значение 1, то текущий потенциал представляет собой инверсию потенциала предыдущего бита, независимо от его значения. Если же текущий бит имеет значение 0, то текущий потенциал повторяет предыдущий. Из описания метода NRZI видно, что для обеспечения частых изменений сигнала, а значит, и для поддержания самосинхронизации приёмника нужно исключить из кодов слишком длинные последовательности одинаковых битов Метод построен так, что гарантируют не более трех одина- ковых битов подряд при любом сочетании битов в исходной информации. Дополнительным преимуществом метода явля- ется повышение достоверности передаваемой информации
Глава 3. Последовательные интерфейсы за счёт некоторой предопределённости очередного бита. При однократных сбоях, обрыве линий передачи данных, разъединении разъёмов фиксация этого события происходит даже помимо системы контроля данных, работающей за счёт их избыточности. Это особенно важно в системах с горячим подключением и отключением портов интерфейса. Данные —। <------> 1—i i—i i—i i " —i | 0 | 1 1 | 0 I 1 | 0 | 1 | 0 0 0 | 1 I 0 0 | 1 1 | 0 NRZI- Рис. 3.8. Кодирование информации методом NZRI. Отсутствие длинных последовательностей одинаковых битов позволяет производить самосинхронизацию портов по перепадам сигналов Каждое устройство USB представляет собой набор независимых конечных точек (Endpoint), с которыми хост- компьютер обменивается информацией. Конечные точки (по существу — программно-доступные регистры) описы- ваются следующими параметрами: • номером точки; • типом обмена; • направлением обмена; • максимальными размерами передаваемых и прини- маемых пакетов; • частотой доступа к шине и допустимыми задержками обслуживания; • полосой пропускания канала; • алгоритмом обработки ошибок. Каждое устройство обязательно имеет конечную точ- ку с номером 0, используемую для инициализации и как регистры управления и состояния. Эта точка не требует инициализации и всегда доступна для обмена данными типа «управление».
3.2. Периферийный интерфейс USB Кроме точки с номером 0, оконечные устройства могут иметь дополнительные точки, реализующие обмен полез- ными данными. Низкоскоростные оконечные устройства содержат до двух дополнительных точек, высокоскорос- тные — не более чем по 16 точек ввода и вывода. Точки должны быть инициализированы после подключения к интерфейсу устройства. Для этого должна быть определена модель обмена (определены все параметры точки). Модель обмена в спецификации USB называется словом «Pipe». Они бывают двух типов: потоковые и однократные. Пото- ковые точки всегда однонаправлены. Один и тот же номер конечной точки может использоваться для двух потоков встречных направлений. Поддерживаются сплошной и изохронный (занимающий заранее оговоренную часть пропускной способности интерфейса) потоки и передача прерываний. Пересылка данных происходит в порядке «первым пришел — первым вышел». Механизмы конечных точек и моделей обмена очень удобны для разработчиков и программистов. Они позволяют структурировать адресное пространство и унифицировать программное обеспечение, что бывает важно в крупных системах с разнообразным пе- риферийным оборудованием. Хост-компьютер передаёт запрос конечной точке. После него отправляется в ту или другую сторону пакет сообщения. Затем конечная точка возвращает пакет с информацией о своём состоянии. Следующее сообщение, как правило, не может быть отправлено до обработки предыдущего, исключая сообщения об ошибках, которые не требуют опи- санной выше обработки. USB поддерживает как однонаправленные, такидвунап- равленные режимы передачи данных между программным обеспечением хост-компьютера и конечной точкой. Связь с каждой из конечных точек (модель обмена) устанавливается независимо.
( 64 Глава 3. Последовательные интерфейсы Стандарт USB определяет следующие типы передачи данных: • Управляющие посылки, инициализация и управление оконечными устройствами. Поле данных не более 64 байт на высокой скорости и 8 байт — на низкой. Обеспечивает гарантированную доставку данных. • Сплошные потоки для больших пакетов без жёстких требований ко времени доставки. Передачи занимают всю свободную пропускную способность интерфейса. Поле данных 8, 16, 32 или 64 байт. Они имеют самый низкий приоритет, могут приостанавливаться из-за нехватки произ- водительности интерфейса. Допускаются только на высокой скорости передачи. • Прерывания — короткие передачи, до 64 байт на вы- сокой скорости и до 8 байт — на низкой. Прерывания собы- тийно ориентированы, они требуют быстрого обслуживания. Время их обслуживания гарантировано. • Изохронные передачи - непрерывные передачи в реальном времени, занимающие заранее оговоренную часть пропускной способности интерфейса и имеющие га- рантированную скорость доставки. В случае обнаружения ошибки изохронные данные передаются без повтора — не- действительные пакеты игнорируются. Используются для пересылки малочувствительных к разовым сбоям данных, например для голосовой связи. Пропускная способность интерфейса делится между всеми текущими потоками. При её дефиците инициализация нового потока невозможна. Буферизация данных во всех устройствах на интерфейсе USB обязательна, без неё невозможно обеспечить обмен данными с установленными скоростями. Это несколько увеличивает стоимость реализации изделий. Любой обмен данными в интерфейсе USB состоит из трёх пакетов. Первый пакет содержит адрес конечной точки и описание типа обмена данными. Его передаёт контроллер.
3.2. Периферийный интерфейс USB 65 Второй пакет содержит полезные данные. При отсутствии готовых к отправке данных конечная точка передаёт спе- циальный флаг. Третий пакет передаёт приёмник. Пакет содержит подтверждение приёма данных. Форматы пакетов Передача осуществляется последовательно в дифферен- циальном режиме, что повышает её достоверность. Начи- ная с младшего бита. Все посылки организованы в пакеты. В начале каждого пакета передаётся поле синхронизации, в это время все порты USB надёжно синхронизируются с контроллером. Затем передаются маркер начала пакета (2 бита), идентификатор пакета (4 бита), и ещё раз он же, но в инверсном виде (табл. 3.4). Далее передаётся поле данных. В маркерах модели обмена — адрес устройства (7 бит) и адрес конечной точки (4 бита). Отсюда те самые 127 устройств, поддерживаемые USB (нулевое устройство — системное). В маркере начала кадра — поле номера кадра (11 бит). В пакетах данных — сами данные (от 0 до 1023 байт). В других пакетах поле данных отсутствует. Поле контрольной суммы передаётся в конце пакетов маркеров и данных, для маркеров(5 бит),дляданных(11 бит) алгоритмы вычисления контрольной суммы разные (см оригинальную документацию). Каждый обмен данными инициируется хост-компьюте- ром выдачей маркера и завершается пакетом квитирования (рис. 3.9). Хост-компьютер формирует кадр обмена данными со всеми устройствами, длящийся 1 мс (согласно специфика- ции USB 1.1). В каждом кадре происходят операции обме- на данными по всем активным моделям обмена. В начале каждого кадра он передаёт маркер начала кадра. В конце кадра имеется пауза, когда в линию не передаётся никакой
G Глава 3. Последовательные интерфейсы информации. Маркер начала кадра содержит циклически наращиваемый сериальный номер. Он может использо- ваться оконечными устройствами для синхронизации или самотестирования. Таблица 3.4. Типы пакетов USB Тип пакета Идентификатор пакета Содержимое пакета Маркер записи в оконечное устройство 0001 Маркер чтения из оконечного устройства 1001 Адрес устройства и номер конечной точки (маркер модели обмена) Маркер инициализации устройства (записи в управляющую конечную точку) 1101 Маркер начала кадра 0101 Маркер начала кадра Данные ООП Пакеты данных чётные и нечётные Данные 1011 Квитирование 0010 Подтверждение верного приёма пакета Квитирование 1010 Ошибка обмена данными, неготовность порта, нет необслуженных прерываний Квитирование 1110 Прерывание Системный 1100 Переход на низкую скорость
3.3. Однопроводной интерфейс CAN 67 Маркер модели обмена Ожидание ---1 Ожидание гт---1 ------Данные |Квитирование | Рис. 3.9. Последовательность передачи пакетов при об- мене данными в USB. Маркер модели обмена передаёт хост-компьютер. Данные передаёт оконечное устройство (модель «чтение из око- нечного устройства») или хост-компьютер (в двух других случаях). Пакет квитирования передаёт «принимающая сторона» Такой алгоритм организации обмена данными позво- ляет резервировать пропускную способность интерфейса под различные задачи. Поддержка многозадачности здесь достаточно развитая и легко управляемая. Большие потоки данных передаются с хорошим соотношением полезной информации и системной. Чрезвычайно полезная функция горячего подключения, к сожалению, не нашла применения в системах промышлен- ного назначения. Причины этому: небольшая допустимая длина кабелей и невозможность обмена данными между двумя оконечными устройствами. В обоих отношениях за- кономерно этот рынок завоёвывается интерфейсом CAN. Кабельное хозяйство USB также гораздо более дорогостоя- щее и громоздкое, чем для CAN. Более подробную и оперативную информацию можно найти по адресу www.usb.org. 3.3. Однопроводной интерфейс CAN Слагаемые успеха интерфейса CAN Первая версия популярного интерфейса CAN выпущена фирмой Bosh в 1987 году. Интерфейс предназначался для бортовых систем автомобилей Как раз в это время получила широкое развитие автомобильная электроника и появи- лась настоятельная необходимость в организации обмена
Глава 3. Последовательные интерфейсы данными между распределёнными по машине приборами, датчиками, исполнительными механизмами. Применявшие- ся до этого не объединенные в единый цифровой интерфейс аналоговые и дискретные линии связи (доставляющие сиг- налы «как есть») перестали справляться с резко возросшим потоком данных. Количество сигналов превысило разумный для такого рода решений предел (рис. 3.10). Специфика автомобильных кабельных сетей (ограничения на толщи- ны кабелей и механические воздействия на них) ещё более усугубила эту проблему. Рис. 3.10. Примернотаквыглядятверхние ограничения пропускной способности систем передачи данных различной организации В этих условиях фирма Bosh - крупный игрок на рынке автомобильной электроники — выступила «законодателем моды», разработав оригинальный последовательный ин- терфейс САМ. Он впоследствии оказался очень удачным не только для автомобильных, но и для многих других приложений (в частности, в автоматизации производс- тва). В 1992 году появилась вторая версия, расширившая
3.3. Однопроводной интерфейс CAN возможности и отразившая развитие элементной базы. В настоящее время: • растут продажи продукции с CAN: • интерфейс развивается, появилась спецификация CAN 2.0 В; • развиваются протоколы верхнего уровня, надстраива- емые над CAN; • регулярно проводятся международные конференции разработчиков (последняя прошла в Риме); • ведутся работы по стандартизации изделий, совмести- мых с CAN и IEEE 1394. Рассмотрим слагаемые успеха этого популярного интер- фейса. Специфика автомобилестроения определила приня- тие основополагающих решений формирования стандарта. Необходимость минимизации кабельного хозяйства обусловила выбор последовательного метода передачи — ав- томобильный кабель должен быть стойким к истиранию, автомобильный разъём должен быть стойким к вибрации, прочным, и то и другое должно быть недорогим и малога- баритным. Параллельный интерфейс здесь практически не применим Высокий уровень помех обусловил низкоомность ли- нии обмена данными. Для CAN была выбрана реализация шинных формирователей, в которой один из логических уровней представлен высоким напряжением на линии, низ- ким током и высоким сопротивлением выходного каскада шинного формирователя. Он назван «recessive» (отступаю- щий, удаляющийся, рецессивный). Другой уровень харак- теризуется низким напряжением, высоким током, низким сопротивлением выходного каскада. Он назван «dominant» (господствующий; главный, основной, доминирующий, превалирующий, преобладающий; наиболее влиятельный). Будем считать recessive уровнем логической «1». a dominant — уровнем логического «0» (рис. 3.11).
Глава 3. Последовательные интерфейсы Рис. 3.11. Реализация линии передачи данных в CAN Помехозащита линии с шинными формирователями на двухтактных каскадах выше, но достаточно низкоомные резисторы на концах линии в значительной степени снижа- ют эту разницу. Преимущество выбранной реализации для интерфейса, где все порты равноправны (а таковым является CAN), в принципиальной невозможности возникновения опасных сквозных токов при одновременной работе дву> передатчиков. Разработчики стандарта смогли «выжать» из этого преимущества значительную экономию шинного времени и количества линий. Упрощённая схема выходных каскадов двух узлов и ли- нии обмена данными CAN показана на рис. 3.12. Выходные каскады узлов построены по схеме с открытым коллектором Нагрузкой являются согласующие сопротивления линии Выбор «токовой петли», двухтактной схемы или фазома- нипулированного кода (как в «Манчестере-2») поднял бы стоимость реализации, в то же время преимущества CAN можно реализовать именно с использованием выбранной схемы выходных каскадов. (На самом деле всё несколько сложнее, как видно из рис. 3.11, но здесь удобнее рассмот- реть упрощённую модель линии).
3.3. Однопроводной интерфейс CAN Рис. 3.12. Работу линии обмена данными интерфейса CAN удобно представить при помощи этой несколько упрощенной модели. Показаны: эквивалентное сопротивление нагрузки линии и выходные каскады двух узлов Из таблицы истинности видно, что уровень логичес- кой «1» формируется на линии (UBblx) только тогда, когда присутствуют уровни логической «1» на всех входах. Линия представляет собой логический элемент «монтажное И». Таким образом, уровень логического «О» на любом входе имеет однозначный приоритет, формируется из уровня логического «О» на любом из входов (не зря он называется «dominant»). В каждый момент времени любой узел может выставить на линии уровень логического «О», что не приво- дит к образованию опасных сквозных токов и других конф- ликтов линии, как отмечалось выше. Все узлы CAN, в том числе вед ущий передачу, анализируют логический уровень на линии. Передатчик на основе этого анализа делает выводы об «отношении» к выдаваемой информации со стороны других узлов. Данный механизм широко применяется в CAN для ар- битража шины и обнаружения ошибок передачи. Поскольку он работает в ходе передачи сообщения, то является очень экономичным по времени. Не требуется отдельной линии и отдельных приёмников и передатчиков в узлах.
Глава 3. Последовательные интерфейсы Рассмотрим, например, арбитраж шины. В CAN наибо- лее приоритетным считается сообщение с численно мень- шим идентификатором (рис. 3.13). Синхронизация I I I I I I I I I I I I I От узла 1 От узла 2 На линии .Линия [свободна | 2 узла одновременноi сформировали стартовый бит |Узел 2 прервал передачу [Узел 1 - продолжил ] Оба узла I ' О" от узла начали передачу I "1" от узла идентификатора "О" иа лит Рис. 3.13. Иллюстрация использования свойств элемента «монтажное И» при арбитраже сообщений в CAN Все узлы синхронизуют работу своих тактовых гене- раторов к перепадам сигналов на линии. Перед началом передачи сообщения узел проверяет линию на свободность. Таким образом, начало выдачи сообщения может произойти одновременно. Оно начинается со стартового бита с уровнем логического «О», после которого линия уже не считается свободной. Теперь больше ни один узел не может начать передачу сообщения. Заняв таким образом линию, узел начинает передавать идентификатор со старшего бита. В на- шем случае это делают одновременно 2 узла. Пока иденти- фикаторы побитно совпадают, это остаётся незамеченным для обоих передающих и всех других узлов сети. Наконец наступает момент, когда один из узлов передаёт уровень логической «1», другой — уровень логического «О». Как рас- сматривалось выше, на линии при этом формируется уровень логического «О». Узел, передавший уровень логической «1», но зафиксировавший на линии уровень логического «О», прекращает передачу. Его идентификатор численно боль- ше идентификатора, передаваемого другим узлом, кото- рый и продолжает передачу своего, более приоритетного,
3.3. Однопроводнои интерфейс CAN 73 сообщения. Оно было выявлено без потерь времени на ар- битраж, простым побитным сравнением идентификаторов (т. е. приоритетов) прямо в ходе передачи. Похожий механизм используется для сигнализации узла- ми об ошибках приёма. Обнаружив ошибку, узел выставляет на линии уровень логического «О». Передающий уровень логической «1» передатчик фиксирует несоответствие пере- даваемого сигнала сигналу на линии и прекращает передачу. Таки м образом гарантируется непротиворечивость данных в сети: сообщение либо принято всеми узлами, либо не приня- то ни одним. В освободившуюся линию этот же или другой передатчик начинает новую попытку передачи сообщения. В зависимости от числа попыток передатчик делает вывод о своей исправности. Для гарантирования возможности сигна- лизации об ошибках в структуре передаваемого сообщения имеются биты, которые передатчик всегда устанавливает рав- ными уровню логической «1». Например, такой бит присутс- твует после поля контрольной суммы. Эта удачная находка сильно увеличила «шансы на выживание» стандарта CAN в динамично развивающейся автомобильной отрасли. Логика организации обмена данными CAN также со- держит важное отличие от традиционных интерфейсов. Организация обмена — событийно ориентированная. Это означает, что узел широковещательно передаёт сообщение, как только произойдёт событие, о котором должны быть проинформированы другие узлы системы (это происходит с учётом процедуры арбитража, описанной выше). То есть нет ни программного опроса, ни прерываний, ни контрол- лера, который управляет обменом. За счёт этого возрастает живучесть системы: будучи разрубленной на 2 части, она сохраняет жизнеспособность их обеих (можно назвать это «принципом дождевого червя»). Обе подсистемы смогут функционировать независимо. Другим следствием равно- правности всех узлов является экономия времени на достав- ку сообщения до адресата за счёт децентрализации.
74 Глава 3. Последовательные интерфейсы Понятие «адрес» как таковое в CAN отсутствует, имеется понятие «идентификатор», в некоторой степени являющееся аналогом понятия «адрес». В узлах CAN нет программно доступных по записи регистров приёма. Идентификатор фактически является адресом регистра передачи. Каждый идентификатор жёстко связан с массивом данных, который может передаваться в линию, если соответствующий узел инициирует передачу. Все другие узлы «прослушивают» линию и анализируют идентификаторы передающихся сообщений. Узлы принимают данные, имеющие к ним от- ношение, остальные данные игнорируются. Данные могут одновременно приниматься сразу несколькими узлами. Это значительно ускоряет работу интерфейса за счёт отсутствия дублирования передачи одинаковых данных в разные узлы (рис. 3.14). Рис. 3.14. Широковещательная передача сообщений в CAN. На рисунке не показана возможность принимающих узлов сообщить об ошибке приёма, выставив уровень логического «О» в ходе приёма сообщения
3.3. Однопроводной интерфейс CAN В событийно ориентированную логику работы интер- фейса органично включена процедура запроса данных Если узлу потребовались данные, формируемые другим узлом, он посылает сообщение с запросом этих данных, указывая в нём идентификатор. В ответ узел-держатель данных передаёт соответствующее сообщение. Событие, вызвавшее необходимость в данных, инициирует их до- ставку. В заключение хочется отметить, что спецификация CAN охватывает нижние физический и канальный уровни обмена данными. На верхних уровнях в пределах одной сети могут действовать различные протоколы. Часть узлов может поддерживать один протокол, другая часть — другой, друг другу они мешать при этом не будут. В CAN предус- мотрены две стандартные длины идентификатора. Обе длины могут быть использованы в одной сети. Также в сеть можно включать новые узлы, пока не наступит перегрузка сети по нагрузочной способности выходных каскадов и информационной пропускной способности. Они не бу- дут мешать работе старых узлов, не потребуется даже их перепрограммирование. Эти свойства интерфейса CAN особенно важны в приложениях промышленной автома- тизации, где возможности модификации системы высоко ценятся потребителями и активно продвигаются произво- дителями оборудования. Данная статья не дублирует оригинальную документа- цию от разработчиков интерфейса CAN, а только пытается объяснить причины его успеха на рынке. Автор надеется, что каждый инженер, имеющий отношение к разработке и экс- плуатации оборудования с интерфейсом CAN, внимательно ознакомится с оригинальной документацией на него, тогда он сможет эффективнее и с меньшими усилиями выполнять свою работу
76 Глава 3. Последовательные интерфейсы Дополнительная информация 1. Bosch. CAN specification. Version 2. 2. Сайт фирмы Bosch, http://www.bosch.com. 3. Сайт «Рынок микроэлектроники». Спецификации CAN и статьи по-русски. http://www.gaw.ru/html.cgi/txt/interface/can/start.htm. 4. Эрглис К. Э. Интерфейсы открытых систем: Учебный курс. 5. Новинки элементной базы, http://www.vbnti.narod.ru. 3.4. Внутримодульный интерфейс 12С Интерфейс PC, видимо, самый лаконичный и простой последовательный интерфейс передачи данных. Стандарт разрабатывался для обмена данными между БИС в пределах одной печатной платы. Первоначальное назначение — тес- тирование и инициализация БИС. Поскольку подсистемы тестирования не могут составлять более 20 % от рабочей аппаратуры, в интерфейсе PC нет ничего лишнего — только то, без чего нельзя обойтись. Реализация линий передачи данных и общая идеология обмена данными напоминают интерфейс CAN. Отсюда и схожесть положительных черт: малые затраты времени на системные операции, удобный арбитраж и организация механизма приоритетов, дешевизна реализации линий обмена данными. Интерфейс PC базируется всего на двух линиях передачи данных. Они построены одинаково, по схеме «монтажно- го И» (см. раздел 3.3 об интерфейсе CAN). Буферные схемы линий могут быть легко реализованы в любой современной технологии изготовления микросхем. Выходные ключи — по схеме с открытым эмиттером (затвором). Входные каскады обычно строятся по схеме триггера Шмидта. Обе линии являются двунаправленными. Информацию на них в ходе обмена данными могут выдавать как контроллер, так и оконечное устройство. Любой порт может становиться
3.4. Внутримодулъный интерфейс FC 77 контроллером, если в его структуре заложена такая функция (табл. 3.5). На линии обмена данными допустимы состояния, пере- численные в табл. 3.6. Таблица 3.5. Линии обмена данными интерфейса ГС Наименование линии Назначение линии SDA (Serial data line) Последовательная передача данных SCL (Serial clock line) Передача сигналов синхронизации Таблица 3.6. Допустимые состояния линий обмена данными интерфейса FC Значение Уровень на линии SCL Уровень на линии SDA Шина свободна, смена данных на линии SDA, неготовность оконечного устройства Низкий уровень Любое Передача уровня логического «0» Высокий уровень Низкий уровень Передача уровня логической «1» Высокий уровень Высокий уровень Сигнал «Начало передачи» Высокий уровень Перепад с высокого уровня на низкий Сигнал «Конец передачи» Высокий уровень Перепад с низкого уровня на высокий
7 8 Глава 3. Последовательные интерфейсы Передачу начинает любой порт (рис. 3.15). Он выстав- ляет высокий уровень на линии SCL, а на линии SDA фор- мирует сигнал «Начало передачи». Он представляет собой перепад, во всех других случаях воспринимаемый как сбой. Порт, передавший сигнал «Начало передачи», считает себя контроллером, захватившим управление интерфейсом. Он начинает передавать адрес оконечного устройства со стар- шего бита. Обычно адрес состоит из 7 битов. Восьмым битом передаётся признак направления пересылки данных. Уро- вень логического «О» означает передачу данных в оконечное устройство, уровень логической «1» — приём данных из оконечного устройства. После приёма каждого байта, в том числе адресного, приёмник выдаёт сигнал подтверждения в виде уровня логического «О» на линии SDA. Подтверждение приёма адресного байта означает опознавание оконечным устройством своего адреса. Если при этом оконечное уст- ройство не готово начать обмен данными, оно фиксирует уровень логического «О» на линии SLC. Поскольку линия построена по схеме «монтажного И», этот уровень будет оставаться на линии, пока оконечное устройство его не сни- мет. Этим механизмом обеспечивается функционирование асинхронного режима обмена данными. Аналогично он работает и при приёме каждого бита данных. При отсутствии задержек, вносимых оконечным устройством, скорость пе- редачи составляет 100 кбит/с. Передача данных в том или ином направлении осущест- вляется под управлением положительных синхронизирую- щих импульсов на линии SLC, формируемых контроллером. После передачи каждого байта вставляется байт подтвержде- ния, свидетельствующий о безошибочном его приёме. В кон- це операции обмена данными контроллером формируется сигнал «Конец передачи». Арбитраж функционирует аналогично интерфейсу CAN. Если несколько портов одновременно пытают- ся захватить управление, они формируют одинаковые

^Г вО Глава 3. Последовательные интерфейсы стартовые сигналы и начинают передавать адресный байт. Все передающие порты контролируют реальный уровень сигнала на линии SDA. Схема «монтажного И» исключает шинные конфликты в такой ситуации, но в тот момент, когда разные порты выдают в линию SDA одновременно уровни логического «О» и логической «1», превалирующий логический «О» присутствует на шине (за счёт «монтаж- ного И»), Порт, выставивший уровень логической «1», но обнаруживший уровень логического «О» на линии SDA, считает себя проигравшим процедуру арбитража. Таким образом, сообщение с численно меньшим адресом счи- тается более приоритетным. Обнаружив эту ситуацию, порт, передавший уровень логической «1», прекращает передачу и немедленно переходит в режим приёма. Далее он работает как обычный порт, начавший приём адресного байта с самого начала обмена данными, и может оказаться адресуемым оконечным устройством. В случае трёх и бо- лее одновременно захватывающих шину портов арбитраж происходит аналогично. При совпадении адресного байта процедура арбитража продолжается с байтами данных, следующих за ним. Обмен данными осуществляется максимально эконо- мично по времени и без конфликтов на шине. Интерфейс FC допускает использование 10-битного адреса, а также работу на высокой скорости, превышающей обычную в 4 раза. Часть адресного пространства 12С зарезервирована, что снижает её объём. Адрес 0000000 используется для передачи данных от контроллера всем остальным портам (в режиме передачи), а в режиме приёма для «пробуждения» и подго- товки к работе портов интерфейса. Адрес 0000001 исполь- зуется для поддержки портов интерфейса CBUS, подклю- чённых к 12С. Данная функция может быть полезна при формировании систем с использованием таких устройств, а всего один «потерянный» адрес — минимальная цена за эту возможность. Адреса с 0000010 по 00001 11 и с 1111 100
3.4. Внутримодупьный интерфейс PC 81 по 111111 зарезервированы комитетом FC для дальнейшего развития стандарта. В реальных системах они представляют собой ощутимый балласт, снижая адресное пространство. Бывает, что нехватка адресов вынуждает переходить на бо- лее дорогой и медленный вариант с 10-битной адресацией, он к тому же может не поддерживаться нужными именно вам устройствами. 10-битный режим позволяет задейс- твовать дополнительно 1024 адреса оконечных устройств (табл. 3.7). Таблица 3.7. Зарезервированные адреса интерфейса FC Адрес R/УУбит Описание 0000000 0 Адрес общего вызова 0000000 1 Байт старта 0000001 X Адрес интерфейса CBUS 0000010 X Адрес, зарезервированный для шин другого формата 0000011 X Зарезервирован для дальнейшего использования UOOOlxx X Зарезервирован для дальнейшего использования ШПхх X Зарезервирован для дальнейшего использования ПНОхх X 10-битная адресация Порты 12С обычно встроены в целевые БИС, которые производятся для поставки на рынок и использования в разнообразных пользовательских системах. Распределение адресов портов недоступно разработчику системы. Адреса выдаются производителям БИС комитетом FC по запро- су производителей. Адрес конкретного типа БИС всегда фиксирован. Для изделий, которых может быть несколько
& Глава 3. Последовательные интерфейсы в одной системе, применяется программирование не- скольких младших битов адреса при помощи перемычек на печатной плате. Такая процедура распределения адресного пространства ограничивает свободу разработчиков, прак- тически не давая преимуществ. Но обычно этот недостаток несильно мешает разработчику, так как в реальных 12С- системах применяется ограниченное число портов. Раз- мещается вся система на одной плате и не предполагает стыковки с другими. Поэтому разработчик всегда может найти компромисс: отступить от стандарта при эмуляции порта 12С в контроллере и т. д. Особенностью среды передачи данных в интерфейсе 12С является то, что все порты располагаются в пределах одной печатной платы. За счёт этого, а также за счёт небольшого количества линий передачи данных реализация систем на интерфейсе 12С очень экономична. Требования к буферным каскадам интерфейса очень невысокие, их себестоимость, по сравнению с наиболее близким по реализации интер- фейсом CAN, значительно ниже. При стандартизации ин- терфейса 12С не конкретизируются логические уровни. Они могут быть разными в зависимости от напряжений питания содержащих порты 12С микросхем. Существенным преиму- ществом 12С является очень малая площадь, занимаемая ин терфейсными устройствами и линиями на печатной плате. Потребляемая портами от источника питания мощность очень мала, а следовательно, малы и создаваемые помехи. Эта особенность позволяет использовать 12С в датчиках, программируемых усилителях, схемах обработки малых сигналов. Дополнительная информация 1. Комитет 12С. http://www.i2c-bus.org. 2. Особенности применения, спецификация, докумен- тация. http://www.gaw.ru/htnil.cgi/txt/interface/iic/index.him.
3.5. Однопроводной интерфейс 1-Wire 3. Philips Semiconductors активно поддерживает интер- фейс PC http://www.semiconductors. philips.com. 4. Описание интерфейса FC. http://www.atlastelecom.ru/download/doc.htm. 3.5. Однопроводной интерфейс 1-Wire Стандарт на данный интерфейс создан фирмой Dallas Semiconductor (www.maxim-ic.com). В настоящее время она слилась с фирмой Maxim. Разработка интерфейса для изде- лий в двухвыводном корпусе понадобилась для реализации микросхемы памяти в таком конструктиве. Позже интерфейс был использован для системы изделий в металлических таб- леточных корпусах. Расширение функциональных возмож- ностей систем с интерфейсом 1 -Wire потребовало внедрения компонентов для него в традиционных корпусах. Сети на основе 1-Wire носят название MicroLAN. Стандарт поддерживается и продвигается только фирмой Dallas Semiconductor. Благодаря мощи этого производителя и ряду уникальных свойств интерфейс 1-Wire применяется в самом разнообразном оборудовании, не став внутренним стандартом фирмы. Компоненты с портами интерфейса 1-Wire выпускаются Dallas Semiconductor, и разработчи- кам практически не приходится создавать схемы портов и досконально разбираться в функционировании системы. Гем не менее информация о нём полезна специалистам для понимания свойств данных систем, а также потому, что ряд оригинальных решений, заложенных в стандарт, могут быть использованы вне контекста 1-Wire Ориентированность 1-Wire на двухвыводные компо- ненты вызвала к жизни идею «паразитного питания». Для запитки портов и связанных с ними целевых устройств по линии передачи данных подаются импульсы, заряжающие встроенные в порт конденсаторы. Разряжаясь, они обеспе- чивают питание. При включении системы подаётся длинный импульс, позволяющий зарядить полностью разряженные
Рис. 3.16. Для работы портов интерфейса 1-Wire в режиме паразитного питания на линии передачи данных должны постоянно при- сутствовать импульсы напряжением не ме- нее 2,8 В. После сигнала «Сброс» следует длинный импульс, позволяющий зарядить разряженные питающие конденсаторы портов. В ходе обмена данными в начале каждого бита обязательно присутствует короткий импульс, поддерживающий заряд конденсаторов По той же причине возникли трудности установки адре- сов устройствам, подключенным к системе. Dallas Semicon ductor принял решение записывать уникальный адрес уст- ройства при изготовлении. Каждому выпущенному фирмой изделию присущ индивидуальный, не повторяющийся за всю историю производства адрес. Если всё, что уже выпустил Dallas Semiconductor для 1-Wire и ещё выпустит в будущем, объединить в одну огромную сеть, адреса портов не пере- кроются и конфликтов по этой причине не возникнет. Такое глобальное решение привело к вводу очень длинных адресов (рис. 3.17). Столь длинный адрес устройства снижает полезную производительность интерфейса. Даже в небольших сис- темах, которые чаще всего реализуются по технологии 1-Wire, циркулируют столь длинные адреса. Надо заметить что протокол 1 -Wire рассчитан на как можно более редкое употребление адресов при обмене данными.
3.5. Однопроводной интерфейс 1-Wire IКонтрольная сумма! Сериальный номер изделия |Код типа изделия! 1 байт 6 байт| 1 байт Рис. 3.17. Структура адреса порта интерфейса 1-Wire. Общая длина — 8 байт. Код типа изделия определяет наименование типа изделия. Сериальный номер изделия уникален для изделий данного типа, записывается при производстве и не может быть изменён. Контрольная сумма формируется методом циклического суммирования, защищает адрес от ошибок передачи В каждой 1-Wire-системе обязательно присутствует только один контроллер, управляющий обменом данными и другими операциями, все другие порты являются ведомыми оконечными устройствами. Они могут только отрабатывать команды контроллера и выставлять прерывания. Особая роль контроллера определяет резкое отличие его реализации и функций от оконечных устройств. • Контроллер не имеет адреса, так как к нему нет обра- щений со стороны оконечных устройств. • Контроллер должен обеспечить паразитное питание оконечных устройств. • Контроллер должен управлять всеми операциями на шине и всеми оконечными устройствами. Обмен данными производится в уровнях КМОП/ТТЛ (уровень логического «О» — не более 0,8 В, уровень логи- ческой «1» — не менее 2.2 В). В начале каждого бита обмена данными контроллер выставляет импульс подзарядки. Все выходные цепи контроллера и оконечных устройств построены по схеме с общим затвором. К напряжению питания линия обмена данными подключена через «под- тягивающий» резистор или заменяющий его источник тока. Поэтому верхнюю «полку» импульса формирует «подтягивающий» резистор, а отрицательный перепад в его конце — выходной транзистор линейного передатчика
Глава 3. Последовательные интерфейсы контроллера. Этот перепад запускает таймер ожидания до- стоверных данных. По прошествии заданного промежутка времени бит данных на линии считается достоверным и может быть принят приёмником контроллера или око- нечного устройства. При передаче уровня логического «О» открытый выходной транзистор передатчика удерживает напряжение на линии в низком логическом уровне. При передаче уровня логической «1» при закрытых выходных транзисторах всех портов «подтягивающий» резистор возвращает линию в высокий логический уровень. По- ложительный перепад длиннее отрицательного, так как сопротивление пепи в этом случае больше. Форма и дли- тельность перепада зависят от параметров линии передачи данных и «подтягивающего» резистора. При передаче данных от контроллера к оконечному устройству нижнюю «полку» логического «О» формирует контроллер, при передаче от оконечного устройства к кон- троллеру — оконечное устройство. Таймеры ожидания достоверных данных в каждом око- нечном устройстве работают от собственных тактирующих генераторов. Из-за крайней ограниченности энергетических ресурсов при «паразитном питании» стабильность их частот очень низкая. Время прохождения и длительность фронтов сильно зависят от параметров линии передачи данных. По этим причинам в стандарте заложен более чем 100-процент- ный разброс времени срабатывания таймера. Необходимость учитывать этот разброс ограничивает производительность интерфейса 1-Wire (рис. 3.18). Контроллер управляет оконечными устройствами при помощи заложенных в стандарт команд. Код команды имеет длину 1 байт и передаётся в начале каждого обмена дан- ными. После команды следует передача адреса или обмен данными.
3.5. СЮнопроводной интерфейс 1-Wire Логический «О» Логическая «1» Рис. 3.18. Временные диаграммы передачи данных интерфейса 1-Wire Каждый порт интерфейса 1-Wire имеет заложенный в него при производстве уникальный адрес. После включения системы (новой или подвергшейся модификации) или там, где предполагается «горячее» подключение-отключение пор- тов, контроллер должен определить состав подключённых портов. Данная функция реализована довольно громоздко. Имеется алгоритм с множеством повторяющихся циклов. Программирование не представляет проблемы, но выпол- нение операции занимает значительное время. Инициализируя поиск портов и определение их ад- ресов, контроллер выдаёт команду поиска. После приёма этой команды в течение двух следующих циклов обмена все порты передают сначала прямое, а затем инверсное шачение первого бита адреса. Если оно у всех портов равно нулю, то на линии будет присутствовать кодовая комби- нация 01. Если у всех портов оно равно единице, то — 10. Если у некоторых портов единица, а у некоторых нуль, то, $а счёт схемы «монтажное И», на линии будет присутство- вать кодовая комбинация 00. Затем контроллер выставляет шачение «единица» или «нуль», порты с соответствующим значением бита адреса остаются активными, а с инверсным битом адреса переходят в отключённое состояние. Остав- шиеся активными порты в течение следующих двух циклов передают прямое и инверсное значения следующего бита
Глава 3. Последовательные интерфейсы адреса. Весь цикл повторяется до тех пор, пока не будет определён адрес одного из портов. Для активизации ранее выключенных портов контроллер выдаёт импульс сброса. Далее перебором всех возможных значений происходит поиск остальных портов. Фирма Dallas Semiconductor выпускает широкий спектр изделий с портами интерфейса 1 - Wire. Это приборы в табле- точных двухвыводных корпусах серии iButton, включающие датчики и регистраторы температуры, память, таймеры реального времени и «цифровые метки», — простейшие устройства, «умеющие» только возвращать значение своего адреса. Такие устройства находят широкое применение в качестве ключей электронных замков, систем ограничения доступа и т. п. Для ввода-вывода аналоговых и дискретных сигналов и других применений выпускаются изделия в более традиционном исполнении. Отсутствие гальванической развязки и шинная струк- тура интерфейса ограничивают размер системы, для её сег- ментирования Dallas Semiconductor выпускает ответвители (DS2409) - специальные порты, к которым подключены пе- реключатели ветвей интерфейс. Манипулируя ими, можно отключать и подключать ветки сети для снижения нагрузки, повышения надёжности, отделения ветвей со съёмными портами (рис. 3.19). С использованием ответвителя DS2409 Dallas Semi- conductor рекомендует реализовывать сети с несколькими контроллерами (рис. 3.20). Применение интерфейса 1 -Wire весьма оправдано для систем сбора данных и управления с небольшой произво- дительностью. Большой плюс данного решения — наличие уникальных съёмных изделий (регистраторы температуры, цифровые метки и т. п.). Невысокая цена реализации систе- мы вполне оправдана для подобных приложений.
3.5. Однопроводной интерфейс 1-Wire Рис. 3.19. Организация иерархической сети на базе ответвителя DS2409. Рисунок из ориги- нального datasheet микросхемы DS2409. ID CHIP — цифровая метка, идентифици- рующая данных узел сети. Светодиод ин- дицирует включение ветви сети. Питание 5 В необходимо для устройств, для которых недостаточно паразитного питания Рис. 3.20. Организация сети с двумя контроллерами на базе ответвителя DS2409. Рисунок из оригинального datasheet микросхемы DS2409 Дополнительная информация 1. Сайт фирмы Dallas Semiconductor, www.maxim-ic.com 2. Стандарт интерфейса. Dallas Semiconductor. ftp://ftp.elin.ru/pdf/1 -Wire/standard.pdf
Глава 3. Последовательные интерфейсы 3. MicroLAN. Новая концепция построения 1 -проводной сети. Изд. дом «Додека». 4. Казачков В. С., Шахнович А. Г. Комплексная система учёта энергоресурсов в квартирах жилых домов на основе сети MicroLAN // Энергосбережение. № 1. 2003. http://tgv.khstu.rU/lib/artic/energy/2003/l/5/l_5.html 5. Интерфейс 1-Wire. Сборник статей. http://www.rs232.ru/ i_lwire.html 6. Краткое руководство по сетям 1-Wire с использовани- ем ПК и микроконтроллеров. Dallas Semiconductor, http:// www.gaw. ru/pdf/Dallas_Sem/ibutton/app/I B2_AN 13 2ru pdf 7. Серия изделий iButton. http://www.maxim-ic.com/products/ibutton/ 3.6. Последовательный периферийный интерфейс SPI Этот интерфейс очень лаконичен. Функциональность его ограниченная. В нем отсутствует понятие адреса, и поэтому он применяется только в радиальном режиме для связи двух портов. Стандарт интерфейса разработан фирмой Atmel для сопряжения микроконтроллеров между собой и с перифе- рийным оборудованием. Эти ограничения сделали стандарт выгодным для подключения датчиков, исполнительных уст- ройств, памяти и подобных устройств к микроконтроллеру. Обмен данными происходит побайтно, что не совсем удоб- но для подключения современного оборудования, обычно обладающего разрядностью не менее 16 бит. Отсутствие адресной части в посылке, буферизация данных на обоих концах и отдельная линия тактирования позволяют получить практически 100-процентную загрузку интерфейса полезной информацией. Полезные данные помещаются в регистр сдвига порта и сдвигаются в регистр другого порта под управлением сигнала от тактового генератора ведущего порта. Оба регистра вместе представляют собой циклический 16-разрядный регистр
3.6. Последовательный периферийный интерфейс SPI сдвига. По линиям MOSI и MISO осуществляется одновре- менная передача данных в обоих направлениях (только в этом случае достигается полная загрузка интерфейса). После окончания обмена данными тактовый генератор ведущего порта отключается (рис. 3.21). Ведущий Ведомый Рис. 3.21. Структурная схема интерфейса SPL Регистры сдвига ведущего и ведомого пор- тов вместе образуют кольцевой регистр, осуществляющий дуплексный обмен данными. Сдвиг циклического регистра происходит под управлением тактового генератора ведущего порта. Тактовый генератор ведомого порта отключен. MOST - Master Output - Slave Input или выход ведущего — вход ведомого. MISO — Master Input - Slave Output или вход ведущего — выход ведомого Частота тактового генератора может быть любой. Если не рассматривать пропускную способность среды передачи данных, она практически не ограничена. Так как ведомый порт работает от тактового сигнала с ведущего порта, десин- хронизации не происходит ни при нестабильности частоты генератора, ни при переходе функции ведущего другому порту, имеющему отличную частоту тактового генератора. Данная особенность положительно сказывается на массога- баритных характеристиках и себестоимости изделия. Ведущих портов может быть несколько, но только один из них имеет право передавать данные в линию, остальные работают только на приём.
92 Глава 3. Последовательные интерфейсы Выбор ведущего и ведомого портов осуществляется пода- чей постоянного сигнала на специальный вход порта. Альтер- нативный способ—запись флага в регистр управления порта. Управляющий вход порта может быть сконфигурирован и как выход. В этом случае по дополнительной линии связи, соединяющей эти сигналы на обоих портах, осуществляется арбитраж — определение ведущего. Для управления портом SPI служит регистр управления. С его помощью производится конфигурирование порта. Он доступен по чтению и записи. Все его биты по своей сути являются флагами управления, каждый из них управляет определённой функцией порта. Формат регистра управления Бит 7. SPIE. SPI Interrupt Enable. Разрешение прерыва- ния от SPI. Бит 6. SPE. SPI Enable. Разрешение работы SPI. Установ- ка бита в 1 разрешает работу интерфейса, сигналы от порта подключаются к внешним линиям связи интерфейса. Бит 5. DORD. Data Order. Порядок данных. Управля- ет порядком передачи данных в линию, начиная с бита О или 7. Бит 4. MSTR. Master/Slave Select. Выбор режима «веду- щий/ведомый». Установка бита в 1 переводит порт в режим ведущего, установка бита в 0 — в режим ведомого. При установленном бите MSTR, при подаче на вход /SS уровня логического «О» бит сбрасывается, порт переходит в режим ведомого и выставляет прерывание. Новая установка MSTR в 1 возвращает порт в режим ведущего. Бит 3. CPOL. Clock Polarity. Полярность тактового сигнала. Бит 2. СРНА. Clock Phase. Фаза тактового сигнала. Биты CPOL и СРНА управляют формой тактового сигнала. Биты 1 и 0. SPR1, SPRO. SPI Clock Rate Select. Вы- бор частоты тактового сигнала. Эти два бита управляют
3.6. Последовательный периферийный интерфейс SPI 93 тактовой частотой, что актуально только для ведущего порта. Тактовый генератор ведомого порта не использу- ется (табл. 3.8). Таблица 3.8. Управление коэффициентом деления тактовой частоты SPR1 _ SPR0 Частота SCK 0 0 XTAL/4 0 1 XTAL/16 1 0 XTAL/64 1 1 XTAL/128 Флаги DORD, CPOL, СРНА в контексте стандарта представляют собой избыточные органы управления пор- том. Проще было заложить в стандарт фиксированные значения управляемых параметров. Тогда не возникло бы неопределённости и необходимости выяснять настройки сопрягаемого порта. Разработчику они могут быть полезны для подключения к SP1 нестандартного оборудования (кон- троллеров третьих производителей, датчиков и периферии, разработчики которых не позаботились о совместимости со SP1). Оба его задействованных бита по своей сути являются флагами состояния, каждый из них показывает определённое состояние порта. Регистр доступен только по чтению. Он используется контроллером при обработке прерываний от порта SPI и управления портом. Формат регистра статуса Бит 7. SPIF. SPI Interrupt Flag. Флаг прерывания SPI. По завершении обмена данными этот бит устанавливается в 1. Если битом SPIE в регистре управления разрешено прерывание, одновременно взводится флаг прерывания.
Глава 3. Последовательные интерфейсы Возвращение в 0 происходит при считывании данных из буфера регистра данных Бит 6. WCOL. Write Collision flag. Флаг ошибки при запи- си. Устанавливается в 1 при записи в регистр данных в ходе обмена последовательными данными. Сбрасывается в 0 при чтении регистра статуса. Биты 5...0. Зарезервированы. Они всегда установлены вО. Структурная схема порта интерфейса SP1 изображена на рис. 3.22. Поскольку стандарт интерфейса SP1 разработан одной фирмой под ограниченный круг задач, удалось избежать аппаратной избыточности и компромиссов, ухудшающих экономические и технические характеристики. При- менение SP1 для сбора данных с удалённых датчиков и стыковой связи разнесённых контроллеров экономически и технически более выгодно, чем других цифровых интер- фейсов. Недорогая трёхпроводная среда передачи данных может иметь существенно разную протяжённость. Для большой длины линий скорость обмена может быть установлена низкая, для малой длины — высокая. 4 градации скорости позволяют оптимизировать систему передачи данных и опе- ративно устанавливать максимальную скорость для каждой конкретной линии программно. Дополнительная информация 1. Сайт фирмы Atmel. www.aimel.com 2. Описание интерфейса SPI (рус). http:/Apv.nnov.ru/index.php?l=avr/arh/megal03_47
3.6. Последовательный периферийный интерфейс SPI Прерывание Шина данных Рис. 3.22. Структурная схема порта интерфейса SPI На этом рисунке мы видим регистр сдвига, знакомый нам по рис. 3.21. Подключением его последовательных входа и выхода к линиям передачи данных SPI осуществля- ется через коммутатор, который в свою очередь управляется соответствующими битами регистра управления и сигналом /SS Передача параллельных данных на внешнюю шину данных осуществляется с буфериза- цией как по входу, так и по выходу. Частота тактирующего сигнала зависит от коэффи- циента деления частоты XTAL, выбираемого с помощью мультиплексора программно. Направление его передачи управляется логи- кой тактирования. Регистр статуса доступен только по чтению. Формирование его битов для упрощения схемы не показано
Глава 3. Последовательные интерфейсы 3.7. Последовательный периферийный интерфейс IEEE 1394 История возникновения стандарта восходит к 1992 году, когда группе разработчиков аппаратного обеспечения Apple была поставлена задача создания перспективного высо- коскоростного интерфейса, способного конкурировать со SCSI, но свободного от присущих SCSI недостатков. Работа была завершена в 1994 году, и её результатом стала последо- вательная шина FireWire. Ещё через год она была утвержде- на в качестве промышленного стандарта IEEE 1394, после чего последовало массовое принятие IEEE 1394 в качестве базового интерфейса для цифрового видеооборудования. Особую активность проявляет компания SONY, которая активно продвигает FireWire под собственной торговой маркой iLink. Внедрение интерфейса связано с появлением высокоём- ких бытовых устройств, например цифровых видеокамер. Для этого приложения главным параметром интерфейса является производительность. Немаловажны небольшие габариты и надёжность разъёма. С ростом выпуска изделий с интерфейсом IEEE 1394 и развитием специализированной элементной базы цены постепенно снизились. На первом этапе цены были очень высокими, что объясняется не тех- нологическими, а маркетинговыми причинами. Сказалось отсутствие конкурирующего стандарта. Широкий спектр микросхем для реализации FireWire-устройств производит фирма Texas Instruments. Важнейшая особенность IEEE 1394— её способность обеспечивать гарантированную полосу пропускания — оп- ределяющее качество при работе с аудио- и видеоприло- жениями. Это означает, что всегда можно зарезервировать логический канал, например между компьютером и видео- камерой, который остаётся неприкосновенным независимо от загруженности интерфейса другими задачами.
3.7. Последовательный периферийный интерфейс IEEE 1394 IEEE 1394, являясь высокоскоростным интерфейсом, обеспечивающим «горячее» подключение до 63 портов, поддерживает принцип Plug-and-Play. Стандартные ско- рости обмена данными IEEE 1394 установлены в виде ряда 100,200,400... Мбит/с. Передача данных осуществляется по тонкому и гибкому кабелю со скоростью до 800 Мбит/с, то есть 100 МБ/с (спецификации IEEE 1394b). Кабель IEEE 1394 состоит из двух экранированных витых пар для дуплексного обмена данными в виде диффе- ренциальных сигналов. Дополнительно в нём может быть заложено два провода питания оконечных устройств. Весь кабель находится в общем экране. Такая сложная конс- трукция необходима для обеспечения высокой пропускной способности интерфейса (рис. 3.23). На низких скоростях допускается применение обычного телефонного кабеля. Обычно используются 6-контакгные разъёмы. Для мини- атюрных устройств, не требующих питания через интерфейс, применяется компактный 4-контакгный разъём. Рис. 3.23. Поперечное сечение кабеля интерфейса IEEE 1394. Витые пары помещены в от- дельные экраны Общий экран защищает обе витые пары и два провода питания оконечных устройств Протокол IEEE 1394 позволяет обмениваться данными между любыми двумя портами интерфейса. Поэтому он
Сг Глава 3. Последовательные интерфейсы подходит для создания децентрализованных сетей, обеспече- ния доступа к периферии нескольких компьютеров, обмена данными между контроллерами. Выпускается множество периферийного оборудования, оснащённого портами IEEE 1394 (накопители, принтеры, сканеры и многое другое), что позволяет реализовать сис- темы обработки данных с использованием большого коли- чества покупных изделий. IEEE 1394 поддерживает асинхронный и синхронный режимы обмена данными В асинхронном режиме про- исходит возвращение подтверждения приёма данных, что обеспечивает высокую надёжность доставки. В синхронном режиме квитирование не производится. Данные передаются сплошным потоком с гарантированной скоростью. Наличие двух режимов передачи позволяет объединять в одну систему различные устройства, достоверность и объём потока данных для которых могут существенно различаться. Два любых порта могут образовывать между собой ради- альное логическое соединение. Но, кроме этого, IEEE 1394 позволяет объединять множество портов в логическую сеть. Для этого допускается иметь больше одного физического порта на одном устройстве. Сеть IEEE 1394 самоорганизующаяся. При включении системы, включении или отключении одного из портов проходит общий сигнал сброса. После него начинается ини- циализация сети. Она проходит в несколько этапов: Конфигурирование портов. После включения устройство определяет количество подключенных портов: один или несколько. Идентификация дерева. Все порты выясняют, какие из них родительские, а какие дочерние, и формируют логи- ческое дерево. Определяется корневое устройство для всего дерева. Самоидентификация. Каждое устройство получает свой собственный идентификатор узла внутри дерева и
3.7. Последовательный периферийный интерфейс IEEE 1394 99 устанавливает, на каких скоростях могут работать его не- посредственные соседи. Топология полностью определена. Для адресации используются принципы, описанные в стан- дарте IEEE 1212. После завершения инициализации в действие всту- пает арбитраж - рабочий режим работы сети. Устройства обмениваются данными, а корневое устройство следит за тем, чтобы они друг другу не мешали. Происходит это сле- дующим образом. Устройство, которое хочет начать передачу, вначале посылает запрос своему родительскому устройству. Роди- тельское устройство, получив запрос, запрещает передачу всем остальным дочерним (в один момент обрабатывается только один запрос) и, в свою очередь, передаёт запрос даль- ше своему родительскому устройству, где всё повторяется. В итоге запрос доходит до корневого устройства, которое, в свою очередь, разрешает передачу тому устройству, чей запрос пришёл первым. Всем остальным передача запре- щается. Выигравшее арбитраж устройство получает право начать передачу. Проигравшее устройство, не получив раз- решения на передачу, вынуждено ждать, пока выигравшее не освободит шину. Передача данных в асинхронном режиме начинается с запроса готовности к приёму устройства, для которого предназначены данные. Получив подтверждение готовности, устройство начинает передачу. Данные предаются пакетами, между которыми вставляются паузы. Типичный пакет дан- ных 256 байт, или 2048 бит. из которых 160 бит приходится на заголовок. В заголовок входит информация об отправителе, получателе и контрольная сумма. После пакета вставляется небольшая пауза, после чего получатель должен выслать блок данных, подтверждающий, что пакет принят без ошибок. Затме следует более длинная пауза, разделяющая пакеты. Для того чтобы одно устройство, начав передавать данные, не заняло весь канал, не оставив другим никаких
Глава 3. Последовательные интерфейсы шансов начать передачу, пока оно не закончит, введено понятие цикла, в течение которого каждое устройство по- лучает одну возможность передать свои данные. После чего устройство должно ждать начала следующего цикла, прежде чем оно вновь получит возможность передать следующую порцию данных. При синхронной передаче данные передаются пачка- ми фиксированной длительности. Таких пачек передаётся столько, сколько позволяет канал. Даже на одинарной скорости за цикл передаётся до 1000 байт. При синхрон- ной передаче не контролируется приём данных адресатом. Пакеты просто идут один за другим. Чтобы принимающее устройство смогло разобраться, где синхронные данные, а где асинхронные, паузы при синхронной передаче устанав- ливаются короче. Это позволяет комбинировать в одном сеансе синхронные данные с асинхронными. В синхронном режиме одному устройству не разрешается захват всего доступного канала. На синхронные данные может прихо- диться не более 85 % пропускной способности, причём одно устройство не может занять больше 65 %. В спецификации IEEE 1394b введён новый способ арбит- ража: Bus Owner / Supervisor / Selector (BOSS). Устройство, которому требуется переслать данные, постоянно шлёт за- просы. В результате, когда предыдущий BOSS заканчивает передачу, то ждущее и посылающее запросы устройство оказывается последним, пославшим запрос (все осталь- ные либо уже закончили, либо ещё не начали передачу), и получает права BOSS. Это означает, что пока устройство передаёт данные, оно контролирует шину. После того как передача закончена, устройство остаётся BOSS до тех пор, пока кто-то ещё не пошлёт запрос на передачу. Как только запрос послан — пославшее его устройство немедленно ста- новится BOSS. Эта схема может работать только благодаря полнодуплексной природе стандарта, в противном случае запросы помешали бы передаваемым данным.
3.8. Интерфейсы, использующие код «Манчестер-2» Дополнительная информация 1. FireWire: Frequently Asked Questions. http://docs.info.apple.com/article.html?artnum=60985 2. Working With FireWire Device Interfaces. http://developer.apple.com 3. FireWire, http://www.apple.ru/hardware/firewire/ 4. Шашков А. Обзор IEEE 1394. 3D-news. http://www.3dnews.ru/motherboard/ieee-1394/ 5. Обзор IEEE 1394. iXBT. http://www.ixbt.com/mainboard/firewire.html 3.8. Интерфейсы, использующие фазоманипулированный код «Манчестер-2» В 70-х годах прошедшего века для решения задач надёжной и высокоскоростной передачи данных на большие расстояния по однопроводной линии был разработан фазоманипулиро- ванный код «Манчестер-2». В последствии он оказался очень удачным. Сети, использующие «Манчестер-2»: • хорошо защищены от помех; • обеспечивают гальваническую развязку, • самосинхронизуются без дополнительных потерь времени; • сохраняют работоспособность при выходе из строя портов; • имеют недорогое кабельное хозяйство и хорошее со- отношение цены и качества. Принцип действия канала обмена данными «Манчес- тера-2» основан на кодировании логической «1» перепадом напряжения от положительного к отрицательному, алогичес- кого «О» — от отрицательного к положительному (рис. 3.24) При такой системе кодирования низкочастотная по- меха от силовых электросетей подавляется за счёт отсутс- твия в ней резких перепадов напряжения. Импульсная и
(^^02 Глава 3. Последовательные интерфейсы высокочастотная помеха подавляется за счёт синхронной работы приёмника и передатчика. Несущий информацию перепад напряжения ожидается приёмником в строго определённое время, остальные игнорируются. Пример последовательности импульсов при передаче данных в коде «Манчестер-2» показан на рис. 3.25. Информационные перепады напряжения используются для синхронизации всех портов от контроллера интерфейса. Таким образом, точная синхронизация всех устройств дости- гается без дополнительных потерь времени и без применения отдельной линии. Рис. 3.24. Кодирование логической «1» перепадом напряжения от положительного к отрицатель- ному, алогического «О» - от отрицательного к положительному |й| |в) |й] |в) |й] |й] [в] |й] (в] |й] |й] |й] |й] |й] |й] Рис. 3.25. Часть информационной посылки в коде «Манчестер-2». Перепады напряжения, несу- щие информацию (обозначены буквой «И»), расположены в середине зарезервированных интервалов. При последовательной передаче нескольких одинаковых битов на стыке интер- валов формируются вспомогательные перепады (обозначены буквой «В»), служащие для возвра- та напряжения к начальному уровню
|0У 3.8. Интерфейсы, использующие код «Манчестер-2» Структура информационного слова показана на рис. 3.26. В паузах между обменами данных напряжение на линии равно нулю. Любое информационное слово начинается с синхроимпульса. Импульсная помеха не может быть вос- принята как начало слова, потому что синхроимпульс длится три такта и имеет определённую форму, контроль которой проводят все ожидающие передачи порты. На рис. 3.26 по- казан вид синхроимпульса командного слова, с которого контроллер интерфейса начинает любой обмен данными. Далее следует поле данных и в самом конце бит чётности. Он дополняет поле данных до нечётности (если данные со- держат чётное число логических «1», бит чётности принимает уровень логической «1», если данные содержат нечётное число логических «1», бит чётности принимает уровень ло- гического «О»). Данный механизм позволяет обнаруживать большую часть ошибок передачи данных, но не исправлять их. Для исправления ошибок приходится передавать оши- бочные данные заново, что вполне оправдано, если нет стро- гих ограничений на задержку передачи данных и реальное число ошибок невелико. Такой способ коррекции ошибок наиболее экономичен с точки зрения производительности канала обмена, быстродействия программного обеспечения, простоты аппаратной реализации. Рис. 3.26. Информационное слово в коде «Манчестер-2» «Прервать молчание» на линии передачи данных может только порт, на данный момент являющийся контролле- ром. Все остальные ожидают. Обмен данными начинается
104 Глава 3. Последовательные интерфейсы с командного слова. Его поле данных имеет следующий формат: • Адрес оконечного устройства (5 бит). • Флаг направления передачи данных в (из) контроллер (1 бит). • Подадрес или режим управления (5 бит). • Число информационных слов или команда режима управления Режимы управления служат для реализации систем- ных функций интерфейса. Их команды имеют следующие коды: Принять управление каналом 00000 Передать ответное слово 00001 Провести самоконтроль 00010 Блокировать передатчик 00011 Разблокировать передатчик 00100 Сброс настроек 00101 Резервные коды 00110-11111 Фактически код режима управления — это адрес регис- тра управления порта. Данные в нём программно доступны по записи со стороны контроллера. Запись данных в этот регистр осуществляется непосредственно из поля «Коман- да режима управления» командного слова. В этом случае число информационных слов считается равным нулю. При обращении к другим регистрам порта его адрес выставляется в поле «Подадрес» командного слова. Если производится передача данных из контроллера, то за командным словом следуют слова данных. Их синхроимпульсы имеют проти- воположную показанной на рисунке полярность. Все они заполнены непосредственно пользовательскими данными. Порт, принявший предназначенное ему сообщение, выстав- ляет ответное слово.
3.8. Интерфейсы, использующие код «Манчестер-2» 105 Если производится приём данных в контроллер то порт сначала выставляет ответное слово, а затем передаёт задан- ное число слов данных. Синхроимпульс ответного слова такой же, как у команд- ного. Поле данных ответного слова содержит: • адрес порта (5 бит); • признаки состояния (ошибка принятыхданных. заня- то, принято управление, неисправность). На основе фазоманипулированного кода «Манчестер-2» в США разработан военный стандарт MIL-1553. В 1973 году стандарт доработан и под названием MIL-1553B довольно широко применяется в аппаратуре различного назначения до настоящего времени. В СССР был разработан аналогич- ный стандарт (ГОСТ 26765.52-87). Для его реализации был создан ряд микросхем серии К588: формирователь выходно- го сигнала на линию — К588ВА2, магистральный приёмопе- редатчик — К588ВА1, контроллер порта — К588ВГ6. Время передачи одного бита равно 1 мкс. От этого вре- менного модуля рассчитываются все временные параметры интерфейса. На обработку и подготовку ответа порту, при- нявшему сообщение, даётся 2—10 мкс. Если порт не ответилв этот интервал времени, он считается неисправным. На груп- повые сообщения ответы не передаются. Интерфейсы, использующие код «Манчестер-2», яв- ляются однопроводными. Средой передачи данных интер- фейсов на основе «Манчестера-2» являются согласованные линии (коаксиальные, витые пары). На обоих концах линий устанавливаются согласованные нагрузочные конденсаторы. Волновое сопротивление линии равно 75 Ом. Порты под- ключаются к интерфейсу по длине линии через согласующие трансформаторы. Для снижения добротности паразитного колебательного контура последовательно с обмоткой транс- форматора включаются ограничительные резисторы R. Удобная магистральная организация линии обмена дан- ными, тонкие, гибкие кабели, малогабаритные разъёмы —
106 Глава 3. Последовательные интерфейсы Рис. 3.27. Линия передачи данных интерфейса MIL-1553B имеет волновое сопротивление 75 Ом и согласована резисторами для исключения отражения сигнала от кон- цов. Порты интерфейса подключаются к магистрали через трансформаторы, обеспечивающие гальваническую развязку на напряжениях до 500 В. Резисторы R служат для предотвращения самовозбуж- дения контуров, состоящих из обмоток трансформаторов и паразитной ёмкости линии всё это значительные преимущества при применении ин- терфейса в спецтехнике и авионике (рис. 3.27). Интерфейсные микросхемы и трансформаторы для MIL-1553В выпускаются американской фирмой Holt (www. holtic.com). Продукция фирмы ориентирована на авионику и имеет довольно высокие цены Прежде чем принимать
3.8. Интерфейсы, использующие код «Манчестер-2» I 07 решение о применении рассмотрите вариант отечественным микросхем серии К588. Развитие волоконно-оптической среды передачи данных привело к выпуску адаптированных пол неё версий сущес- твовавших и раньше интерфейсов. Так, стандарт MIL-1553 был выпущен в переработанной для ВОЛС версии под на- именованием MIL-1760. Главным недостатком интерфейса MIL-1553В и подоб- ных ему является узость адресного пространства — 5-битные адреса портов и 5-битные подадреса. Отойдя от стандарта и введя расширенное адресное пространство, разработчик не может использовать готовые микросхемы высокой интег- рации. Обработка адресов в них реализована на аппаратном уровне и не поддаётся модернизации. Если реализовывать соответствующий алгоритм программно, придётся приме- нять достаточно дорогой процессор. Неизбежно ухудшатся массогабаритные характеристики, возрастёт потребление энергии, потребуется больше времени на разработку. Ти- повые недостатки нестандартного решения описаны выше. Конкурирующим решением является интерфейс CAN, превосходящий интерфейс MIL-1553В по логической орга- низации, а также USB. Дополнительная информация 1. ГОСТ 26765.52-87. 2. Стандарт MIL-1553В. 3. Стандарт MIL-1760. 4. Хвощ С. Т. Архитектура мультиплексных каналов http://avdey.nm.ru/1553_doc/glava_2_2 .htm. 5. Коснырев В. Микросхемы компании Holt Ingrated Circuits для последовательной шины MIL-STD-1553 // Элек- троника НТВ. № 3. 2005. http://www.electronics.ru 6. Эрглис К. Э. Интерфейсы открытых систем. М.: Горя- чая линия — Телеком, 2000. 7. Сайт фирмы Holt, http://www.holtic.com.
108 Глава 3. Последовательные интерфейсы 3.9. Последовательный интерфейс ARINC 429 ARINC 429 является международным общепринятым стан- дартом для гражданской авиации и утверждает единые при- нципы создания сети передачи данных между авиационными системами. Отечественный стандарт на этот интерфейс: ГОСТ 18977-79. Под этим индексом он обычно фигурирует в документации на отечественную аппаратуру. Стандарт разработан с учётом высоких требований к надёжности ави- ационных систем. Высокая стоимость комплектующих не позволила ему выйти за пределы отрасли и распространиться в промыш- ленных и других системах. К тому же порты интерфейса ARINC 429 требуют использования нескольких источни- ков питания. Гальваническая развязка портов стандартом не предусмотрена. К кабельному хозяйству предъявляются высокие требования по параметрам погонного реактивного сопротивления, что удорожает реализацию. Среда передачи данных представляет собой симмет- ричную двухпроводную линию «витая пара» в экране. По обеим линиям пары передаётся сходная информация, представленная в инверсном виде. Таким образом, инфор- мация избыточна, что способствует надёжности передачи данных. Инверсный вид сигналов на линиях обеспечивает подавление синфазной помехи. На каждой из линий воз- можны три состояния: +5 В, 0 В, —5 В. В штатном режиме дифференциальный сигнал принимает три разрешённых состояния: +10 Ь, 0 В, —10 В. В случае наличия на одной из линий сигнала, не соответствующего состоянию другой линии, дифференциальный сигнал составляет не более 5 В (по модулю). Такое состояние считается запрещённым и говорит о неисправности линии. Состояния шины передачи данных интерфейса ARINC 429 представлены в табл. 3.9 и на рис. 3.28.
3.9. Последовательный интерфейс ARINC 429 Таблица 3.9. Состояния шины передачи данных интерфейса AR1NC 429 Статус Линия А Линия В А-В Описание состояния Разрешённые состояния ОВ ОВ ОВ Нет сигнала. Промежутки между битами или словами +5 В -5 В +10 в Логическая «1» -5 В +5 В -10 В Логический «0» Запрещённые состояния ОВ -5 В +5 В Обрыв, замыкание линии А или помеха на линии В ОВ +5 В -5 В -5 В ОВ -5 В Обрыв, замыкание +5 В ОВ +5 В линии В или помеха налинииА Схемное решение линейных приёмников интерфейса ARINC 429 обеспечивает высокую надёжность обмена дан- ными. Входные сигналы с линий А и В поступают на входные резистивные цепи. Они обеспечивают согласование при- ёмника с волновыми сопротивлениями линий. Их наличие значительно повышает помехоустойчивость приёмника. Выходные сигналы с резистивных цепей поступают на повторители напряжения, высокое входное сопротивление которых необходимо для сохранения симметрии и линей- ности характеристики приёмника. Выходной сигнал с повто- рителей усиливается и поступает на компараторы, которые сравнивают текущие сигналы со стандартизированными уровнями (табл. З.Юирис. 3.29) и вырабатывают дискретные сигналы состояния линии.
Глава 3. Последовательные интерфейсы Рис. 3.28. Формы напряжений на линиях передачи данных интерфейса ARINC 429 Порты ин- терфейса оперируют с дифференциальным сигналом - разностью напряжений на двух линиях передачи данных, образующих среду интерфейса. Показаны три разрешённых состояния. Остальные состояния являются запрещёнными Рис. 3.29. Принципиальная схема линейного приём- ника интерфейса ARINC 429
3.9. Последовательный интерфейс ARINC 429 Таблица 3.10. Стандартизированные уровни сигналов интерфейса ARINC 429 1 Наименование Значения дифференциального сигнала ^-в минимальное номинальное максимальное1 1 Логическая «1» +6,5 В +10В +13 В 1 Нет сигнала +2,5 В ов -2,5 В | Логический «0» -6,5 В -10В -13В Дискретные сигналы состояния линии поступают на цифровую часть приёмника (рис. 3.30). Каждый из них загружается в отдельный регистр сдвига. Логика первич- ной обработки под управлением тактирующего сигнала формирует последовательность битов данных, определяет промежутки между словами данных, обнаруживает ошиб- ки обмена. Она управляет поступлением данных на узел контроля чётности и 32-разрядный сдвиговый регистр. Контроль чётности последовательного кода производится D-триггером, на счётный вход которого поступает строби- рованный последовательный код. Состояние триггера после прохождения всего кода и бита чётности говорит о наличии- отсутствии ошибок. Перед началом приёма каждого слова триггер сбрасывается в исходное состояние. Параллельный код с регистра сдвига, представляющий собой принятое 32-разрядное слово, является совокупнос- тью полезных данных и их метки. В интерфейсе ARINC 429 понятие адреса порта отсутствует (аналогично интерфейсу CAN). Вместо этого каждый регистр-источник данных имеет метку - однозначный идентификатор данной информации. Передача данных сопровождается передачей метки. Приняв информационную посылку, порт ARINC 429 сравнивает присланную метку с метками, находящимися в массиве па- мяти меток. При их совпадении данные считаются «своими» и записываются в FIFO-буфер для дальнейшего использова- ния. Информация в массив меток заносится со стороны кон- гроллера порта через внутреннюю шину д анных. Для доступа
112 Глава 3 Последовательные интерфейсы Внутренняя данных Рис. 3.30. Структурная схема цифровой части приёмника интерфейса ARINC 429 Рис. 3.31. Структурная схема передатчика интерфейса ARINC 429 к принятым данным контроллеров, имеющих разрядность меньше 32, может быть использован шлюз шин. Формирование линейных сигналов передатчиком также осуществляется с FIFO-буферизацией. Данные загружаются в FIFO-буфер, а их количество подсчитывается счётчиком
3.9. Последовательный интерфейс ARINC 429 слов. Под управлением тактового генератора данные переда- ются из FIFO-буфера в регистр сдвига, который преобразует их из параллельного кода в последовательный. Бит чётности формируется при помоши D-триггера по принципу, ана- логичному используемому в приёмнике. Он добавляется к передаваемому слову для контроля ошибок обмена данны- ми. Формирователь временной диаграммы вырабатывает на линиях А и В напряжения стандартизированной формы. Счётчик битов формирует паузы между словами. На рис. 3.32 представлена временная диаграмма обмена данными по интерфейсу ARINC 429. Ведущим мировым производителем микросхем для ре- ализации интерфейса ARINC 429 является американская фирма Holt (www.holtic.com). Этой фирмой производятся разнообразные изделия от простейших схем входных и выходных цепей до систем на кристалле, реализующих все функции, предусмотренные стандартом. Вся продукция вы- пускается с расширенным диапазоном рабочих температур и сертифицирована для применения в авиационной промыш- ленности. По этой причине она достаточно дорога, чтобы её применение ограничилось именно этой отраслью Дополнительная информация 1. MARK 33 Digital Information Transfer System (DITS) Functional Description, Electrical Interface, Label Assignments And Word Formats ARINC Specification 429 PART 1-16. 2001. 2. ГОСТ 18977-79, PTM1495-75. Отечественная норма- тивная база интерфейса ARINC 429. 3. Сайт фирмы Holt, http://www.holtic.com. 4. Трошкова Е., Трошков Б., Шемякин Е. Шинные при- емопередатчики для авионики фирмы Holt Integrated Circuits //ChipNews№7. 2002. http://www.chip-news.rU/archive/chipnews/200207/l 1 .html. 5. Обзор продукции фирмы Holt (3 ноября 2004) http://vbnti.narod.ru/log.html.
Глава 3 Последовательные интерфейсы Рис. 3.32. Оригинальная временная диаграмма обмена данными из документации на микросхемы HI-8582/83 фирмы Holt
3.10. Оптический интерфейс с открытым каналом IrDA 3.10. Оптический интерфейс с открытым каналом IrDA Организация беспроводной связи с носимым оборудованием в режиме «посещения базы» — актуальная задача в бытовых и промышленных системах. В 1970-х годах появились по- лупроводниковые источники и приёмники инфракрасного излучения, позволившие реализовать открытый оптический канал передачи данных на расстоянии до нескольких метров в пределах прямой видимости. Появление подобной элемент- ной базы вызвало к жизни многочисленные системы связи с их использованием. На этом этапе не стояла задача стандартизации интер- фейса. Элементная база цифровой электроники позволяла строить радиальные линии обмена данными, часто одно- направленные, обычно на микросхемах средней степени интеграции. Такие решения покрывали потребность в связи целевого носимого устройства с базовым устройством. Си- туация изменилась с появлением персональных компьюте- ров, которые могли выполнять роль базы для нескольких носимых устройств. В связи с этим в 1993 году была создана организация производителей инфракрасных интерфейсов (Infrared Data Association, www.irda.org), призванная стан- дартизировать подобные системы. Воздушная среда передачи данных рассеивает излучение и не позволяет организовывать несколько линий или дуп- лексный режим работы. Поэтому в стандарт на интерфейс IrDA заложен полудуплекный режим. Создание сетей из более чем двух портов не предусмотрено, однако это не оз- начает, что дополнительные порты не могут работать только в режиме приёма. Полноценная сеть может быть создана за рамками стандарта, путём добавления в посылку информа- ции об адресе. Интерфейс IrDA разработан как расширение стандарта RS422. В формате передачи данных много общего. Как следс- твие, реализация портов IrDA и конвертеров СОМ — IrDA
L Последовательные интерфейсы не представляет трудностей, можно использовать совмес- тимую элементную базу. При передаче данных импульсы излучения генерируются в однозначном соответствии с сигналами интерфейса RS422. Уровень логического «О» передаётся в IrDA коротким импульсом. Уровень логичес- кой «1» — отсутствием излучения (рис. 3.33). Уровень лог. «О» RS422 Уровень лог. «1» IrDA Рис. 3.33. Схожесть формирования сигналов интерфейсов RS422 и IrDA Свободная линия в RS422 принимает значение логичес- кой «1». Передача начинается с формирования стартового бита уровнем логического «О». По этому импульсу приёмник синхронизируется и начинает приём последовательных данных. Аналогично в интерфейсе IrDA, при отсутствии передачи не формируется никаких импульсов, что соот- ветствует логической «1». Начало передачи обозначается импульсом стартового бита, вслед за ним передаются дан- ные. Столовый бит обозначается уровнем логической «1». Помехозащищённость, достоверность и надёжность такого канала обмена — низкие. Соответственно интерфейс IrDA может быть использован в неответственных приложениях. Для работы компактных устройств очень важно невы- сокое потребление энергии батарей. Поэтому импульсы передатчика интерфейса IrDA имеют высокую скважность. Длительность импульса должна быть равна 3/16 от времени
3.10. Оптический интерфейс с открытым каналом IrDA передачи одного бита. Но импульс не может быть короче 1,63 мс. Такой импульс формируется при скорости обмена данными 115,2 кбит/с и выше (табл. 3.11). Оптический приёмопередатчик стандарта IrDA часто выполняется в виде приставки к универсальному порту последовательного интерфейса UART. Такая архитекту- ра обеспечивает очень низкую стоимость оборудования. На рис. 3.34 показана типовая схема трансивера IrDA. Рис. 3.34. Типовая схема трансивера IrDA. Электрический интерфейс соответствует сигналам интерфейса RS422. Питание светодиода осуществляется через внешний резистор, ограничивающий его ток. Сигнал с фотоприёмника усиливается и подаётся в два параллельных тракта, один из которых включает линию задержки и инвертирует сигнал. Включённый навыходеобоих трактов логический блок позволяет выделять фронт импульса, несущий полезную информацию. Реальная схема модуля HSDL-3603 фирмы Agilent (www.agilent.com)
Глава 3. Последовательные интерфейсы Таблица 3.11. Временные параметры импульса интерфейса IrDA Скорость передачи данных, кбит/с 2,4 9,6 19,2 38,4 57,6 115,2 Время передачи одного бита, мс 416 104 52 26 17,3 8,68 Длительность импульса, мс, ±0,22 мс 78,13 19,53 9,77 4,88 3,26 1,63 Конструктивно трансивер интерфейса IrDA обычно выполняется в виде микросхемы в корпусе из пластика, прозрачного для инфракрасного излучения (длина волны в IrDA равна 880 нм, с допуском в пределах 850—900 нм). Такая конструкция технологична и недорога в изготовлении и монтаже (рис. 3.35). Рис. 3.35. Конструкция трансивера интерфейса IrDA. В корпусе изделия сосредоточены инфра- красные светодиод и фотоприёмник со своей оптикой, выходные каскады передатчика, рходной усилитель и схема первичной об- работки приёмника Очень низкая стоимость реализации, небольшие энер- гопотребление и габариты, гальваническая развязка портов, простота программирования, отсутствие проводов и разъ- ёмов делают интерфейс IrDA привлекательным для разра- ботчиков гражданских систем обмена данными. Тем более что портами этого интерфейса оснащены многие сотовые
3.11. Беспроводной интерфейс Bluetooth телефоны, персональные и компактные компьютеры, при- нтеры и другая техника. На смену IrDA постепенно приходит радиоинтерфейс BlueTooth, который обеспечивает большую дальность, под- держивает до 256 портов и имеет другие преимущества. Дополнительная информация I. Организация производителей инфракрасных интер- фейсов. Infrared Data Association, www.irda.org. 2. IrDA кодер-декодер на сигнальном процессоре MSP430C112 orTexas Instruments, http://doc.fulcrum.ru/html. cgi/txt/app/micros/msp430/slaa044.htm?fid=14. 3. Сопряжение порта IrDA с персональным компьюте- ром. http: //evm.wallst.ru/main/irda. 4. О протоколе связи IrDA. http://rr.boom.ru/sh2irda/7shm2irda3.htm. 5. Коротко об IrDA. http://www.electronix.ru/interface/irda.html. 6. Электронный учебник «Архитектура ввода/вывода». http://www.nerungri.edu.ru/muuo/pweb/content/web_scool/ gym 1/siteuser/compWARE/theory/17.html. 3.11. Беспроводной интерфейс Bluetooth Интерфейсы с беспроводной средой передачи данных всё более востребованы в современном мире и применяются для неответственных приложений. В 90-х годах XX века наибольшее распространение получил интерфейс IrDA с от- крытой оптической средой. Это было обусловлено простотой реализации и дешевизной комплектующих. Внедрение IrDA позволило унифицировать соединения между различным периферийным оборудованием и базовыми устройствами (контроллерами) Небольшая производительность канала обмена данными не позволила использовать оптическую среду для более сложных задач.
^^20 Глава 3. Последовательные интерфейсы Гораздо большими возможностями обладает радиосреда передачи данных. Её пропускная способность гораздо выше, не требуется прямой видимости между портами, возможна реализация полнодуплексного режима. Такие свойства заложены в спецификацию стандарта Bluetooth. Первона- чально он разработан консорциумом фирм-производителей мобильных электронных устройств. Позже разработка была поддержана IEEE, что и выразилось в создании стандарта IEEE.802.15.1, узаконившего спецификацию Bluetooth 1.1. Рабочая группа IEEE.802.15 продолжает разработки в том же направлении. Конкурирующие решения получили гораздо меньшее распространение, хотя не были существенно хуже, а только не получили мошной поддержки крупных производителей Архитектура интерфейса Bluetooth может быть как магистральной, так и радиальной. В радиальном варианте функциональность системы в части передачи синхронных данных шире. Магистральный вариант реализуется посредством пико- сетей. В каждую пикосеть входит одно устройство, являю- щееся контроллером, и до 255 оконечных устройств. Одно- временно мотуг быть активны только 8 портов. Остальные находятся в неактивном режиме до команды активизации от контроллера. Пикосети мотуг взаимодействовать между собой, так как контроллер одной из них может являться од- новременно оконечным устройством другой (рис. 3.36). Каждому изделию с Bluetooth при изготовлении присва- ивается уникальный 27-разрядный адрес, подобно тому, как это принято в интерфейсе 1-Wire. Радиообмен в Bluetooth происходит на частотах от 2,4 до 2,4835 Гц. Данный диапазон практически во всех странах яв- ляется нелицензируемым и может быть использован свобод- но. Во Франции и Испании он частично занят под военные нужды. Весь этот диапазон разделён на 76 каналов. В каждый момент времени обмен происходит только по одному из них.
3.11. Беспроводной интерфейс Bluetooth 121 A Б В Рис. 3.36. Конфигурации пикосетей Bluetooth. А) Радиальное соединение. Контроллер связан только с одним оконечным устройством. В этом случае нет необходимости использо- вать при обращении 27-битный адрес, что повышает пропускную способность системы. Б) Типичная пикосеть. С одним контролле- ром связано несколько оконечных устройств. В) Связанные пикосети. Каждая из них работает независимо, но поскольку конт- роллер одной из них является одновременно оконечным устройством другой, возможен обмен данными между портами обоих сетей. К—контроллер; ОУ - оконечное устройство
122 Глава 3. Последовательные интерфейсы После передачи одного пакета данных обмен переходит на другой канал. Частота переходов до 1600 Гц. Выбор каналов осуществляется по псевдослучайному алгоритму, единому для пикосети. В этом алгоритме одной из переменных яв- ляется адрес контроллера, поэтому для каждой пикосети последовательность использования каналов разная. Для внешних по отношению к пикосети устройств такой широ- кополосный сигнал подобен шуму, несильно влияет на связь в других системах. Помехи от них также несильно влияют на работу пикосети, так как в случае ошибки обмена данными повторная передача происходит по другому каналу. Любой порт интерфейса Bluetooth, попавший в зону дейс- твия пикосети, пытается войти в неё. Контроллер пикосети не разрешает этого до подтверждения оператора. Оператор может признать новое устройство «своим», его уникальный адрес запоминается контроллером, и при следующем контак- те вмешательство оператора уже не требуется. Интерфейс Bluetooth поддерживает синхронный и асин- хронный режимы обмена данными. Синхронный режим возможен только в случае радиального соединения контрол- лера с оконечным устройством. Контроль передачи при этом не ведётся. Производительность интерфейса в синхронном режиме даёт возможность организовать до 3 каналов пере- дачи голосовой информации. Асинхронный режим позволяет достичь высокой надёж- ности обмена данными. Передача каждого пакета данных квитируется. В случае ошибки приёма передача сбойного пакета повторяется. Стандартный пакет Bluetooth содержит код доступа пикосети (72 бита), заголовок (18 бит) и поле информации (не более 2745 бит) (рис. 3.37). Заголовок или информация могут отсутствовать. Код доступа идентифицирует пакеты данной пикосети. Он включает уникальный адрес контрол- лера и контрольную сумму.
3.11. Беспроводной интерфейс Bluetooth 121 jAMADDR | TYPE | FLOW | ARQN | SEQN | HEC| 3 бита 4 бита 1 бит 1 бит I бит 8 битов Рис. 3.37. Заголовок пакета Bluetooth Заголовок содержит поля: • AM_ADDR - адрес оконечного устройства (3 бита); • TYPE — код типа данных (4 бита); • FLOW - готовность оконечного устройства (1 бит); • ARQN - подтверждение правильности приёма (1 бит); • SRQN — последовательность пакетов (1 бит); • НЕС — контрольная сумма (8 бит). Поле информации может содержать подполя данных и голоса. Появление интерфейса Bluetooth связано с развитием элементной базы цифровой обработки сигналов. Реализация порта Bluetooth невозможна без цифрового сигнального процессора. На него же обычно возлагается реализация протоколов высокого уровня. Небольшие размеры и потреб- ление энергии привели к массовому внедрению Bluetooth в гражданских мобильных устройствах. Массовое внедрение естественным образом привело к лавинообразному палению цен на комплектующие. Всё это делает применение интер- фейса Bluetooth очень выгодным в разнообразных системах передачи данных. Дополнительная информация 1. The official Bluetooth membership site, www.bluetooth.org. 2. The official Bluetooth site, www.bluetooth.com. 3. IEEE. Рабочая группа 802.15. http ://grouper.ieee. org/groups/802/15. 4. Specification of the Bluetooth System. Core. — Bluetooth Specification Version 1.0 В
Глава 3. Последовательные интерфейсы 5. Мейтин М. Bluetooth: устройства всех стран, соеди- няйтесь! ... без проводов// Электроника НТВ. № 5. 2000. http://www.electronics.ru. 6. Шахнович И. Беспроводные локальные сети. Анатомия стандартов IEEE 802.11 // Электроника НТВ. № 6. 2004. http://www.electronics.ru. 7. Шахнович И. Персональные беспроводные сети стан- дартов IEEE 802.15.3 и 802.15.4 // Электроника НТВ. № 6. 2004. http://www.electronics.ru. 8. Описание Bluetooth. http ://www. itanium.ru/education/highered/wireless / lectures/lecture_06_8021 IbandBT.ppt. 9. Ермолаев E. aka Saturn. Wiressness // Хакер. № 39. http://www.xakep.ni/magazine/xs/039/014/4.asp. 10. Дайджест публикаций о Bluetooth http://www.trialink.ru/Bluetooth.htm.
ГЛАВА 4 ПАРАЛЛЕЛЬНЫЕ ИНТЕРФЕЙСЫ 4.1. Системный интерфейс ISA Интерфейс ISA появился в середине 70-х годов XX века в изделиях фирмы IBM. Персональных компьютеров, каки- ми они стали сейчас, тогда ещё не было. ISA был изобретён для использования в специализированных вычислительных системах. В начале 80-х готовое решение было применено в первых PC фирмы IBM. Активная рыночная политика фирмы и удачная архитектура этих изделий заставили мно- гих сторонних производителей разворачивать производство изделий под этот интерфейс. Вскоре пришлось вводить но- вые версии стандарта. Сначала был «узаконен» 16-битный вариант интерфейса, затем последовало ещё несколько модификаций, направленных на рост производительности интерфейса. Массовое внедрение интерфейса повлекло за собой расширение его областей применения в промышленную аппаратуру, где активно использовались наработки по эле- ментной базе, схемотехнике и стандартизации персональных компьютеров. Среда интерфейса ISA — печатная плата с разъёмами для плат расширения (слотами). 8-разряднаяшина 18Аиспользу- ет 62-контактный слот (ряды А и В), в который вставляются платы расширения, рассчитанные на обмен 8-разрядными
126 Глава 4. Параллельные интерфейсы данными (8-разрядные платы). 16-разрядная шина ISA занимает расширенный слот: основной 62-контактный и дополнительный 36-контактный (ряды С и D). В них встав- ляются платы расширения, рассчитанные на обмен как 16-, так и 8-разрядными данными (16-разрядные платы). Ряды А и В содержат минимальный набор линий передачи, отно- сящихся ко всем трём шинам (адреса, данных, управления). Подключившись только к ним, можно построить простейшее оконечное устройство, расположив его на плате расширения совсем небольшого размера, а значит достаточно дешёвое для массового применения. Естественно, что возможны си- туации, когда конструктивно 8-разрядные платы мотуг быть исполнены с разъёмами 16-разрядной платы. Это вполне допустимо. Шина данных ISA имеет функцию пересылки старшего байта на разъём младшего при записи данных в плату расширения (и обратно при чтении), для чего имеется специальный буфер, реализованный аналогично основным буферам шины данных, но подключенный двумя своими портами к двум разным группам линий: младшему байту шины данных интерфейса и старшему байту внутренней шины данных контроллера. Естественно, в режиме с пере- сылкой обмен данными занимает вдвое больше времени, чем при доступе к 16-битному порту (рис. 4.1). Шина адреса интерфейса ISA реализована типичным для параллельных интерфейсов образом. Буфера с состоя- нием высокого импеданса позволяют передавать управление шиной от порта к порту. Но обычно «полноправным хозя- ином» — контроллером является модуль центрального про- цессора. В ISA поддерживается 2 самостоятельных адресных пространства: пространство памяти и пространство портов ввода-вывода. Физически они реализованы одинаково, используют одни и те же шины адреса и данных. Выбор про- странства осуществляется активизацией отдельных сигналов записи и чтения на шине управления (табл. 4.1).
4.1. Системный интерфейс ISA I 27^^) ISA. Сигналы ОЕ разрешают открытие буфе- ров. Сигналы W/R переключают направления пересылки данных через буфер. Контроллер имеет дополнительный буфер для обеспе- чения пересылки 16-битных данных в (из) 8-битную плату расширения (не имеющую буфера старшего бита) Таблица 4.1. Сигналы управления, активизируемые при выборе разных адресных пространств Адресное пространство 1 Г Запись Чтение Память Memory Write Memory Read Порты ввода-вывода I/O Write I/O Read Шина управления реализована достаточно удобно. Она допускает не задействовать на плате расширения ненужные линии. Архитектура интерфейса поддерживает режимы пря- мого доступа к памяти и захвата шины произвольным 16-битным устройством. Оба механизма с точки зрения работы интерфейса реализованы аналогично. Устройство, инициирующее захват шины или прямой доступ к памяти,
Глава 4. Параллельные интерфейсы выставляет на специальной линии флаг запроса и ждёт подтверждение по другой специальной линии. Состояние этих парных линий говорит о том, какое из устройств в на- стоящий момент управляет интерфейсом. Для регенерации динамической памяти также предусмотрен специальный режим. В табл. 4.2 показано расположение сигналов на контак- тах разъёма интерфейса ISA. Кроме сигналов интерфейса обеспечивается подача напряжений питания на платы рас- ширения. Интерфейс ISA считается устаревшим после того, как на смену ему в персональных компьютерах пришёл более производительный и современный интерфейс PCI. Вслед за офисными на PCI стали переводиться и промышленные системы, причём достаточно долгое время занял переходный период, когда новые системы поддерживали подключение ISA-устройств, но они были объявлены неперспективными, отмирающими. Сейчас практически прекращено произ- водство не только плат расширения ISA, но и систем с их поддержкой. Прежде чем браться за разработку ISA-устройства, необ- ходимо убедиться в невозможности замены всей системы на новую. Весьма вероятно, что разработка новой ISA обойдётся дороже сборки новой системы из покупных плат на основе интерфейса PCI. Такую систему будет проще поддерживать, так как любой рышедший из строя элемент можно заменить имеющимся на рынке. Дополнительная информация 1. http://www.spline.ru/information/reviews/interface/ isa_bus. 2. http://www.ehst.ru/support/isabus.asp.
4.1. Системный интерфейс ISA Таблица 4.2. Назначение контактов разъема параллельного интерфейса ISA Контакт Наименование сигнала _ Контакт 1 Наименование сигнала В1 Ground Al I/O Channel Check В2 Reset Driver A2 Data7 ВЗ +5V A3 Data6 В4 IRQ2 A4 Data5 В5 —5V A5 Data4 В6 DMA Request 2 A6 Data3 В7 -12V A7 Data2 В8 No Wait States A8 Datal В9 + 12V A9 DataO В10 Ground A10 I/O Channel Ready В11 _ Memory Write All Address Enable В12 Memory Read A12 Address 19 В13 I/O Write A13 Address 18 В14 _ I/O Read A14 Address 17 В15 DMA Acknoledge3 A15 Address 16 В16 _ DMA Request3 A16 Address 15 В17 DMA Acknoledge 1 A17 Address 14 В18 DMA Request 1 Al 8 Address 13 В19 Refresh A19 Address 12 _ в2° _ Clock A20 Address 11 В21 IRQ7 A21 \ddresslO В22 IRQ6 A22 Address9 _ В23 IRQ5 A23 Address8 В24 IRQ4 A24 Address? В25 IRQ3 A25 Address6 В26 DMA Acknoledge2 A26 Address5 В27 Terminal Count A27 Address4 В28 Address Latch Enable A28 Address3 В29 +5V A29 Address? ВЗО Oscillator A30 Address 1 В31 Ground A31 AddressO
130 Глава 4 Параллельные интерфейсы Продолжение табл. 4.2 Контакт Наименование сигнала Контакт Наименование сигнала D1 Memory Access 16 bit Cl System Bus High D2 _ I/O 16 bit C2 Latch Address 23 D3 _ IRQ10 C3 Latch Address 22 D4 IRQ 11 C4 Latch Address 21 D5 IRQ 12 C5 Latch Address 20 D6 IRQ 15 C6 Latch Address 19 D7 IRQ 14 C7 Latch Address 18 " D8 DMA AcknoledgeO C8 Latch Address 17 D9 _ DMARequestO C9 Memory Read D10 DMA Acknoledge5 CIO Memory Write D11 _ DMA Requests Cll Data8 " D12 DMA Acknoledge6 C12 Data9 D13 DMA Request6 C13 DaralO D14 DMA Acknoledge7 C14 Data 11 D15 DMA Request? C15 Datal2 D16 +5V C16 Data 13 D17 Master 16 bit C17 Data 14 D18 Ground C18 Data 15
4.2. Системный интерфейс PC/104 '^2^) 4.2. Системный интерфейс РС/104 Практически сразу после появления персональных компью- теров IBM-PC возникла потребность в их использовании в качестве управляющих в различных системах специаль- ного назначения. Их высокая вычислительная мощность, развитое программное обеспечение и ставший почти сразу полностью 16-разрядным системный интерфейс сделали их особенно привлекательными. К тому же в начале 1990-х годов, когда они появились, такие компьютеры были без- условными лидерами по соотношению цены и качества. Множество производителей быстро начали выпуск недо- рогой элементной базы, позволяющей реализовывать ма- логабаритные, надёжные вычислительно-информационные системы. Единственное, что не удовлетворяло требованиям к промышленной и военной аппаратуре. — это нестойкий к механическим воздействиям конструктив. В 1992 году был создан консорциум, занявшийся применением заделов IBM- совместимых компьютеров с системным интерфейсом ISA для спецприменений (www.pcl04.org). Было принято принципиальное решение о сохранении основных электрических и временных параметров интер- фейса ISA, и начата разработка стойкого к механическим воздействиям, компактного конструктива. Задача быстрого восстановления вышедшего из строя оборудования не стави- лась. В результате появилась конструкция в виде «этажерки». Она позволяет строить миниатюрные системы, подключать большое количество внешних линий связи, конфигурировать систему из разнообразных модулей независимых произво- дителей (рис. 4.2). Всё это было зафиксировано в стандарте IEEE-P996-1.
Глава 4. Параллельные интерфейсы Рис. 4.2. Внешний вид системы сбора данных в конс- труктиве РС/104 Интерфейс РС/104 является дочерним по отношению к интерфейсу ISA. Поэтому в документации РС/104 не опи- сываются основные электрические свойства, а только даётся ссылка на документацию интерфейса ISA. К концу 1990-х годов стало очевидно моральное старение стандартов ISA, несмотря на многочисленные модернизации и расширения.
4.2. Системный интерфейс РС/104 Персональные компьютеры стали переводиться на систем- ный интерфейс PCI. Довольно быстро поддержка ISA в них была прекращена, что привело к снижению их себестоимости и экономии места на материнских платах. Промышленный рынок более инерционен (а тем более рынок военной тех- ники). Упразднить поддержку интерфейса ISA в РС/104 не удалось. Новая спецификация PC/104-Plus обеспечивает поддержку обоих интерфейсов ISA и PCI. Для этого при- шлось разместить на всех вновь выпускаемых платах допол- нительный разъём интерфейса, дочернего по отношению к PCI (рис. 4.3). Рис. 4.3. Внешний вид типичной платы РС/104-Plus. На фиксированных местах расположены разъёмы системных шин: 1 — основной разъём ISA (8 бит); 2 — дополнительный разъём ISA (16 бит); 3 — разъём PCI. Жёсткость их конструкции и механическое соединение соседних плат при помощи монтажных стоек обеспечивают прочность конструктива
Глава 4. Параллельные интерфейсы Поддержка совместимости с интерфейсами ISA и РС1 сказалась на экономичности изделий стандарта PC/104- Plus. Слишком много места занимают разъёмы и интерфейсные микросхемы. Поэтому в последнее время РС/104 вытесня- ется более перспективным конструктивом Compact PCI. Новый конструктив поддерживает только интерфейс PCI, более тщательно проработан, обладает большей гибкостью построения конструкций. В отличие от PC/104, он позволяет заменять любую плату примерно за одну минуту. Своё наименование интерфейс РС/104 получил от ис- пользуемого в варианте с ISA (16 бит) разъёма. Совокупность обоих ISA-разъёмов содержит 104 контакта (64 + 40). Эти разъёмы часто изготавливаются в виде блока характерной конфигурации, по которому легко узнать плату с интерфей- сом РС/104 (рис. 4.4). РС/104 8-BIT AND 16-BIT CONNECTOR DIMENSIONS PIN INSERTION .025 (0.64) SQ .435 ±.010 (11.05 ±.25) SOLDER RINGS, IF USED, MUST NOT PROJECT BEYOND THE .435 BASE OUTLINE. NOTES: A\ PRESS FIT COMPLIANT PINS PER DIN 41612 PART 5 AND IEC 352-5 2 CAN BE USED INSTEAD OF SQUARE PINS AS SHOWN. CONFIGURATION CAN BE MADE OF ONE OR MORE PIECES. .480 (12.19) 3.220 ±.010 (81.79 ±.25) .395 ±.010 (10.03 ±.25) L_ ОО1ЭВВВЕ1ОЕ1Е1В1ППВ1ВВ1ПЕ1ВПВ1Е1ВЕ1ВВ1В1ОПВЕ1 ВВВОИВИ ВПВПВЕ1Е1ВВВЕ1ВППИВВВВВВВЕ1В1 Ibeiqeibeibbeibeiqbbbeieieieiei О0ОВИВ1П1ИВВВ10В1В1ОПЕ1В1ВП 1 900 (48 26) .400 (10.16) i—- .06(1.52) -----H j-------.800(20.32) f*-----.800(20.32)— •- 2.820 (71.63) Рис. 4.4. Конструкция разъёмов ISA интерфейса РС/104
4.2. Системный На рис. 4.5 показана «этажерка» конструктива РС/104- P1US. Самая нижняя плата (обычно на ней помещается цен- тральный процессор) не имеет штырей разъёма с нижней стороны. Её удобно размещать на прочном основании. В левой части рисунка на платах находятся разъёмы PCI. На верхней стороне платы расположена розетка, на нижней — вилка Большое количество контактов разъёмов требует размещения вилки в пластиковом кожухе. Справа на платах находятся разъёмы ISA. Их конструкция более простая, так как плотность размещения контактов меньше. Контактами вилки служат хвостовики контактов розетки. Плату с бо- лее «продвинутым» интерфейсом допускается располагать только под платой с менее «продвинутым». Таким образом обеспечивается стыковка всех контактов интерфейсных разъёмов и невозможность соединения в одной системе ста- рой процессорной платы с новой периферией (табл. 4.3). Таблица 4.3. Варианты стыковки плат конструкти- вов РС/104 и PC/104-Plus Верхняя плата Нижняя плата РС/104-8 бит РС/104-16 бит РС/104-Plus РС/104-8 бит Да РС/104-16 бит Да Да РС/104-Plus Да Да Да Вся конструкция скрепляется монтажными стойками в каждом углу. Они фиксируют межплатные расстояния и уменьшают механическую нагрузку на разъёмы и места их пайки к платам. Благодаря недорогой элементной базе, совместимости с персональными компьютерами, большому парку внедрённых
Глава 4 Параллельные интерфейсы систем конструктив РС/104 очень привлекателен как для разработки новых систем, так и модификации уже сущест- вующих. Разработка платы РС/104 технически очень проста. На рынке можно найти большую номенклатуру готовых плат самого разнообразного назначения по невысоким ценам. Некоторое опасение вызывает только постепенное свора- чивание производства элементной базы и плат. Использованы оригинальные иллюстрации из докумен- тации к продукции фирмы EuroTech (www.eurotech.it). Stackthrough 8-bit module Stackthrough 16-bit module Stackthrough PC7104-P/z/.s module Non- stackthrough PC/104-P/z/s module Рис. 4.5. «Этажерка» конструктива PC/104-Plus Дополнительная информация 1. Консорциум РС/104. http://www.pcl04.org. 2. PC/104-Plus Specification. 3. РС/104 Specification. 4. Поставщики продукции РС/104 www.pcl04.com. 5. РС/104 в компьютерном словаре, http://dict.kolbi.ru/ cgi-bin/dict2/view2.pl?search=OK&word=PC/104. 6. РС/104 & Plus Connectors and Hardware, www.commcon.com. 7. Подборка документации по РС/104. www.fiord.com.
4.3. Системный интерфейс PCI I 4.3. Системный интерфейс PCI Возможность разработки устройств для этого интерфейса весьма полезна, поскольку он является системным для большого парка персональных компьютеров офисного и промышленного исполнения. Изготовление изделия в виде PCI-платы гарантирует ему благосклонное отноше- ние потенциальных пользователей по причине простоты установки и возможности использования недорогих и доступных персональных компьютеров для организации специализированных систем. Развитый рынок периферии и программного обеспечения делает такое решение особенно привлекательным. Недостатком интерфейса с точки зрения разработчика является его сложность. Реализация аппаратной части, хотя она и поддержана специальной элементной базой многих производителей, требует определённого опыта. Средой пе- редачи данных являются многослойные печатные платы с разъёмами довольно высокой плотности. Объёдинительная плата (кросс-плата) может быть пассивной, как в промыш- ленных компьютерах, или активной, содержащей цент- ральный процессор системы, как в офисных реализациях. В первом случае достигается малое время восстановления вышедшей из строя системы. Программирование тоже довольно сложно. Требуется обеспечить механизм рас- пределения системных ресурсов со стороны контроллера. Построение стандарта не допускает упрощённых решений. Разработчик должен реализовать большое количество обязательных функций, иначе неизбежны конфликтные ситуации в разделении адресного пространства и непос- редственно при обмене данными. Облегчить освоение интерфейса PCI может статья: В. Стрижова «Самый простой интерфейс для РС1» // Компо- ненты и технологии, № 1,2000. (http://www.compitech.ru/html. cgi/ arhiv_s/00_01 /stat_55 .htm).
Глава 4. Параллельные интерфейсы PCI (Peripheral Component Interconnect bus) — шина для подсоединения периферийных устройств, разработана для персональных компьютеров с процессором Pentium от Intel. Интерфейс PCI пришёл на смену интерфейсу ISA и его расширениям. PCI, в отличие от ISA, работает в синх- ронном режиме, что позволяет обеспечить более высокую производительность при аналогичных параметрах ключе- вых схем и среды передачи данных. Частота шины от 20 до 33 МГц, теоретически максимальная скорость 132/264 МБ/с для 32/64 бит Имеет версии с питанием 5 В и 3,3 В и уни- версальную (с переключением линий +VI/O с 5 на 3,3 В). Ключами, позволяющими устанавливать в кросс-разъё- мы (слоты) только платы совместимой версии, являются пропущенные ряды контактов 12. 13 и 50. 51. Для слота с питанием 5 В ключ расположен на месте контактов 50, 51, для 3,3 В - 12,13, а для универсального —два ключа: 12,13 и 50, 51. 32-битный слот заканчивается контактами А62/В62, 64-битный — А94/В94. Каждый порт интерфейса PCI должен поддерживать автоконфигурирование: распределение адресного про- странства. прерываний, каналов прямого доступа к памяти со стороны контроллера интерфейса. Стандарт PCI опре- деляет для каждого слота конфигурационное пространство размером до 256 восьмибитных регистров, не приписанных ни к пространству памяти, ни к пространству ввода-выво- да. Доступ к ним осуществляется по специальным циклам обмена данными Configuration Read и Configuration Write, вырабатываемым контроллером при обращении процессора к регистрам контроллера PCI, расположенным в его про- странстве ввода-вывода. На PCI определены два основных вида устройств — инициатор, т. е. устройство, получившее от арбитра интерфейса разрешение на её захват, и устройство назначения (target), с которым инициатор выполняет цикл обмена данными.
4.3 Системный интерфейс PCI 139 С 1999 года действует спецификация 2.2, и в это же вре- мя фирма Intel выпустила первый чипсет для персональных компьютеров с поддержкой версии 2.2 — 1810. В соответствии с этой спецификацией: • появилась поддержка «горячей» замены PCI-устройств (PCI Hot-Plug). Ввод этой функции позволил добавлять (изымать) PCI-платы без выключения системы. Такая возможность особенно важна для промышленных приме- нений; • добавлена система управления энергопотреблением для устройств на PCI. Механизм управления подстроен под стандарт ACPI для облегчения управления энергопотребле- нием PCI-устройств со стороны операционной системы; • дополнены и переработаны требования к конструктив- ной реализации РС1-плат. Следует помнить, что для практического использования новых возможностей PCI расширения стандарта должны быть поддержаны как контроллером PCI, так и самим PCI- устройством. Сигналы шины PCI Знак «минус» перед названием сигнала означает, что ак- тивный уровень этого сигнала логический «0», обозначение [ХХ-0] означает группу сигналов с номерами от XX до 0. AD [31-0] — мультиплексированная шина адреса (дан- ных). Адрес передается по сигналу - FRAME, в последую- щих тактах передаются данные. -С/ВЕ [3-0] — команда разрешения обращения к байтам Команда, определяющая тип очередного цикла шины (чтение-запись памяти, ввода-вывода или чтение- запись конфигурации, подтверждение прерывания и др ) задается четырехбитным кодом в фазе адреса по сигна- лу - FRAME. -FRAME - индикатор фазы адреса (иначе — передача данных).
140 Глава 4. Параллельные интерфейсы —DEVSEL — выбор инициатором устройства назначе- ния. —IRDY — готовность инициатора к обмену данными —TRDY — готовность устройства назначения к обмену данными. -STOP — запрос устройства назначения к инициатору на останов текущей транзакции. -LOCK - используется для установки, обслуживания и освобождения захвата ресурса на PCI. —REQ [3-0] — запрос от PCI-устройства на захват шины (для слотов 3:0). -GNT [3-0] - разрешение мастеру на использование шины. PAR - общий бит чётности для линий AD [31-0] и С/ВЕ [3-0]. —ParityER - сигнал об ошибке по чётности (от устрой- ства, её обнаружившего). —RST — сброс всех устройств. IDSEL — выбор устройства назначения в циклах считы- вания и записи-конфигурации. —SERR - системная ошибка, активизируется любым устройством PCI и вызывает немаскируемое прерывание процессора (NMI). —REQ64 — запрос на 64-битный обмен. -ASK64 — подтверждение 64-битного обмена. —INTRA,В,С,D — линии запросов прерывания, направ- ляются на доступные линии IRQ BIOS компьютера. Запрос по низкому уровню допускает разделяемое использование линий прерывания. Clock — сигнал синхронизации на тактовой частоте шины. TestClock, —TSTRES,TestDO,TestDI -сигналы для тес- тирования устройств по интерфейсу JTAG (на кросс-плате обычно не задействованы) TSTMSLCT — перевод в режим тестирования
4.3. Системный интерфейс PCI 141 Разъём шины PCI Ряд В Номер Ряд A - 12 В ' 1 - ESTRE^ Test Clock 2 + 12 В GND 3 TSTMSLCT lest DO 4 Test DO +CB 5 +5 В +5 В 6 -INTRA -INTRB 7 INTR< INTRD 8 +5 В PRSNT 1 9 Reserved Reserved 10 +VI/O PRSNT 2 11 Reserved GND/<Kjiio4> 12 СМ)/<Ключ> GND/<Kjik)4> 13 СМ)/<Ключ> Reserved 14 Reserved GND 15 -RST Clock 16 +VI/O GND 17 -GNT REQ 18 GND +VI/O 19 Reserved kD31 20 AD 30 AD 29 21 +3,3 В GND 22 AD 28 KD27 23 AD 26 AD 25 24 GND +3,3 В 25 AD 24 —C/BE 3 26 IDSEL kD23 27 +3,3 В GND 28 AD 22 AD 21 29 AD 20 AD 19 30 GND +*,3B 31 AD 18 AD 17 32 AD 16 12,13 —ключ для 3,3 В. 50, 51 — ключ для 5 В
Глава 4. Параллельные интерфейсы -С/ВЕ2 33 +3,3 В GND 34 -FRAME -IRDY 35 GND +3,3 В 36 TRDY -DEVSEL 37 GND GND 38 -STOP —Lock 39 +3,3 В ParityER 40 SDONE _ +3,3 В 41 -SBOFF SysERR 42 GND +3,3 В 43 PAR —С/ВЕ1 44 AD 15 AD14 45 +3,3 В GND 46 AD 13 АР 12 47 AD11 AD10 48 GND GND 49 AD9 GND/<Kjno4> 50 GND/<Kjik)4> GND/<KniO4> 51 GND/<Kjtk)4> AD 8 52 —C/BEO AD 7 53 +3,3 В +3,3 В 54 AD6 AD 5 55 AD4 AD3 56 GND GND 57 AD2 ADI 58 ADO +VI/O 59 +VI/O -ACK 64 60 -REQ64 +5 В 61 +5B +5 В 62 +5B Конец 32-битного разъёма
4.3. Системный интерфейс PCI Reserved 63 GND GND 64 —С/ВЕ 7 —С/ВЕ 65 —С/ВЕ 5 С/ВЕ 66 +VI/O GND 67 PAR 64 AD63 68 AD 62 AD61 69 GND +VI/O 70 AD 60 AD59 71 AD 58 AD57 72 GND GND 73 AD 56 AD55 74 AD 54 AD53 75 +VI/O GND 76 AD 52 AD51 77 AD 50 __ AD49 78 GND +VI/O 79 AD 48 AD47 80 AD 46 AD45 81 GND GND 82 AD 44 AD43 83 AD 42 AD41 84 +VI/O GND 85 AD 40 AD39 86 AD 38 AD37 87 GND +VI/O 88 __ AD 36 AD35 89 AD 34 AD33 90 GND GND 91 XD32 Reserved 92 Reserved Reserved 93 GND GND 94 Reserved Конец 64-битного разъёма
144 Глава 4 Параллельные интерфейсы Циклы шины Шина управления РС1 содержит линии —С/ВЕ [3-0] для передачи системных команд — указаний портам интерфейса работать по определённому алгоритму, называемому циклом шины. Это происходит одновременно с передачей адреса по шине адреса-данных AD [31-0]. Допустимы следующие коды команд, определяющие типы циклов шины: С/ВЕ Команда 0000 Interrupt Acknowledge (подтверждение прерывания) 0001 Special Cycle (специальный цикл) 0010 I/O Read (чтение порта) ООП I/O Write (запись в порт) 0100 reserved (резервировано) 0101 reserved (резервировано) оно Memory Read (чтение памяти) 0111 Memory Write (запись в память) 1000 reserved (резервировано) 1001 reserved (резервировано) 1010 Configuration Read (чтение конфигурации) 1011 Configuration Write (запись конфигурации) 1100 Multiple Memory Read (множественное чтение памяти) 1101 Dual Address Cycle (двойной цикл адреса) 1110 Memory-Read Line (чтение памяти) 1111 Memory Write and Invalidate (запись в память и проверка)
4.3. Системный интерфейс PCI Подтверждение прерывания (код 0000) Контроллер прерываний автоматически распознает сигнал INTAh реагирует на него передачей вектора прерывания по шине адреса-данных AD [31-0]. Специальный цикл (код 0001) AD15-ADO Описание 0x0000 Processor Shutdown (процессор прекращает работу) 0x0001 Processor Halt (останов процессора) 0x0002 <86 Specific Code (специальный код для машин на архитектуре Intel х86) 0x0003 - OxFFFF Reserved (зарезервировано) Чтение порта (код 0010) и запись в порт (код ООП) Адреса портов ввода-вывода на шине PCI могут быть 8- или 16-разрядными, хотя собственно стандарт на шину PCI позволяет иметь 32-разрядное адресное пространство. Это вызвано тем, что на компьютерах с архитектурой Intel х86 адрес порта может иметь не более 16 разрядов. В системах, где применяются связанные интерфейсы PCI и ISA, могут быть использованы только 10 разрядов, поддерживаемых ISA. Адресное пространство конфигурации доступно по адре- сам портов 0x0CF8 (адрес) и OxOCFC (данные), причем адрес должен быть записан первым. Чтение памяти (код ОНО) и запись в память (код 0111) По шине адреса-данных AD [31-0] передается адрес двой- ным словом (четыре байта) Сигналы AD0 и AD 1 деко- дировать не требуется. Истинность данных определяется сигналами С/ВЕ.
146 Глава 4. Параллельные интерфейсы Чтение конфигурации (код 1010) и запись конфигурационных данных (код 1011) Эти операции выполняются для конфигурационного про- странства PCI-порта. Размер области конфигурации состав- ляет 256 байт, причем читать (записывать) в ней можно только в 32-разрядной сетке, т. е. двойными словами. Поэтому AD0 и AD1 должны быть установлены в 0, AD2-7 содержат адрес двойного слова, AD8-10 используются для выбора адресуе- мого устройства, а оставшиеся шины адреса игнорируются. \^Бит Алрес'\. 31-25 24-16 15-8 7-0 00 Unit ID Manufacturer ID 04 Status Command 08 Class Code Revision 0с Bl S i | 1 Header Latency CLS 0с Регистр адреса 10-24 Резерв 28 Резерв _ _ 2с Базовый адрес ПЗУ-устройства 30 Резерв 34 Резерв MaxLat | MnGNT | INT-pin | INT-line 34 Используется самим устройством । Unit ID — идентификационный номер устройства. Manufacturer ID идентификатор производителя. Status — состояние. Class Code — код класса устройства. BIST — Built-In Self Test — встроенный тест. Множественное чтение памяти (код 1100) Это расширение обычного цикла чтения памяти. Использу- ется для чтения больших блоков памяти без кэширования.
4.3. Системный интерфейс PCI 147 Двойной цикл адреса (код 1101) Двойной никл адреса необходим в том случае, если необходи- мо передать 64-разрядный адрес в версии PCI с 32-разряднои адресной сетки. В первом цикле передаются четыре младших байта адреса, затем четыре старших байта. Во втором цикле необходимо также передать команду, определяющую тип устройства, чей адрес выставлен (порт ввода-вывода, память и т. д.). Собственно PCI поддерживает 64 разряда адреса для портов ввода-вывода, но в PC на процессорах архитектуры от Intel такое адресное пространство не поддерживается (не позволяет сам процессор). Рис. 4.6. Временные диаграммы цикла обмена данными в интерфейсе PCI На рис. 4.6 шина адреса-данных представлена группой сигналов AD. Остальные сигналы являются шиной управ- ления. Все события интерфейса синхронизованы сигналом тактовой частоты CLK. Инициатор передачи захватывает управление и выставляет низкий уровень сигнала FRAME. Одновременно он выставляет на шине адреса-данных адрес порта назначения, а в группе сигналов С/ВЕ код цикла шины (команду порту назначения). По положительному перепаду CLK все порты должны проанализировать эти данные и опо- знавший свой адрес и принявший команду порт сообщает об этом выставлением низкого уровня сигнала TRDY. Но это происходит не раньше, чем инициатор подтвердит досто- верность адреса и команды низким уровнем сигнала IRDY. На эту процедуру уходит ещё один такт После передачи
Глава 4. Параллельные интерфейсы адреса и команды инициатор переназначает сигналы AD в шину данных, а сигналы С/ВЕ в младшую часть шины адреса (по ним передаются адреса байтов данных). Переназначе- ние производится выставлением низкого уровня сигнала DEVSEL. Регулировать интерфейс PCI при помощи осциллографа удобно, если подключить синхронизацию от отрицательного перепада сигнала FRAME. Дополнительную информацию можно получить на сайте PCI Special Interest Group (www.pcisig.com). 4.4. Магистрально-модульный интерфейс VME Стандарт создан для автоматизации экспериментов в облас- ти физики высоких энергий. В 1970-х годах для этих целей широко использовалась крейтовая система КАМАК. Встро- енный в неё интерфейс к началу 1980-х сильно морально устарел и стал неудобен для реализации новых систем сбора данных. Он был основан на устаревшей элементной базе. В этот период существовала сильная конкуренция между западными фирмами — производителями такой аппаратуры. Motorola разработала свой стандарт VME на основе уже су- ществующего Versatile. Использование задела позволило ей сделать это раньше конкурентов и первой выйти на рынок. Потенциальные потребители заложили аппаратуру VME в свои системы. Несовместимым с VME изделиям альтерна- тивных производителей стало труднее пробиться на рынок. Семейство стандартов VME включает в себя несколь- ко интерфейсов и описание конструктива изделий. VME реализован в крейтовом конструктиве на основе стандарта «Евромеханика». Крейты - корзины для установки моду- лей — обычно рассчитаны на размещение в 19-дюймовой стойке. В стандарте VME высота крейтов принимается 3U или 6U Величина U — единица высоты в «Евромеханике», равная 44,45 мм (рис. 4.7).
4.4. Магистралъно-модульный интерфейс УМЕ Рис. 4.7. Крейт стандарта «Евромеханика» для VME. Показан крейт высотой 6U. Его характеризует наличие двух разъёмов на каждый модуль. Крайнее левое место предназначено для источ- ника вторичного питания. Рядом с ним — мес- то для контроллера интерфейса. Справа от него — места для целевых модулей. Порты этих модулей имеют приоритет, снижающийся слева направо. У крайнего правого модуля — самый низкий приоритет. В отличие от крейтов 6U, крейты 3U характеризуются только одним разъёмом модуля. При этом разрядность шин адреса и данных снижена. Верхние разъёмы крейта — основные, нижние — дополнитель- ные Более чем за 20 лет существования стандарта VME он претерпел значительные доработки, но новые модули по- прежнему совместимы с самыми старыми крейтами. В до- полнение к основному интерфейсу VME были разработаны вспомогательные. Они призваны обеспечить гибкость ре- ализуемых систем, продлить «жизнь» стандарта (табл. 4.4). На крейтовую систему VME приняты отечественные стан- дарты (табл. 4.5).
Глава 4. Параллельные интерфейсы Таблица 4.4. Семейство интерфейсов VME Обозначение Наименование 1 Описание _ | Основной интерфейс. Определил тип и назначение контактов разъёмов _____ Стандарт^ IEEE961 1 VME Versabus Module Europe bus Г vmx Versabus Module extension Локальный параллельный ' интерфейс IIEEE1014 МЭК821 VMS Versabus Module Serial Последовательный интерфейс 1 | MVMX32 Multiplex VMX Мультиплексная магистраль с 32-битной шиной адреса-данных VSB VME Subsystem Bus VMEhMVMX32 VXI VME extension for Instrumentation Определил новый типоразмер и функциональность модулей IEEE1155 Таблица 4.5. Отечественные стандарты на крейтовую систему VME _ Обозначение _ Наименование _ ГОСТ Р 51884-2002 Магистраль VME, расширенная для контрольно-измерительной аппаратуры (магистраль VXI). Общие технические требования ГОСТ РМЭК 821- 2000 Магистраль микропроцессорных систем для обмена информацией разрядностью от 1 до 4 байтов (магистраль VME)
4.4. Магистралыю-моОульныи интерфейс УМЕ 151 Основной интерфейс VME представляет собой парал- лельный интерфейс с разделёнными шинами адреса, данных и управления. Шина адреса состоит из непосредственно ад- реса (сигналы Ахх) и «модификатора адреса» — 5-разрядной шины кода режимов адресации (сигналы АМ5...0). Сигналы шины адреса размещены на основном разъёме, кроме сиг- налов А24... АЗ 1, находящихся на дополнительном разъёме и недоступных для 311-модулей. Шина данных типична для подобных интерфейсов. Сигналы D0...D15 размещены на основном разъёме, остальные — на дополнительном. Разряд- ность шины данных может достигать 64 бит (табл. 4.6) Режим работы интерфейса VME — асинхронный. Поэто- му шина управления довольно сложная, она должна обеспе- чивать квитирование данных. Для совместимости модулей, выпущенных в соответствии с разными версиями стандарта, и обеспечения работы систем с модулями высотой 3U шина управления включает специальные сигналы управления пе- редачей данных по шинам различной разрядности. Важной особенностью интерфейса VME, значительно повышающей его реальную производительность, является механизм обме- на данными между оконечными устройствами, без пересылок через контроллер. Этот механизм функционально аналоги- чен прямому доступу к памяти интерфейсов ISA, PCI и др. Временные диаграммы обмена данными в интерфейсе VME показаны на рис. 4.8. При запуске процедуры обмена данными оконечное уст- ройство-«запросчик» запрашивает у контроллера разрешение на управление шиной. Получив его, запросчик выставляет сигналы адреса, модификатора адреса, LWORD — при- знак передачи 32-битных данных (момент времени 1 на рис. 4.8). В момент 2 запросчик выставляет сигнал WRITE, опре- деляющий направление передачи данных.
152 Глава 4. Параллельные интерфейсы Таблица 4.6. Назначение контактов разъёмов интерфейса VME № | Рад А 1 Ряд В ' Ряд С Основной разъём P1/J1 1 D00 BBSY* D08 2 D01 BCLR* D09 3 D02 ACFAIL* DIO 4 D03 BGOIN* Dll 5 D04 BGOOUT* D12 6 D05 BG1IN* D13 7 D06 BG1OUT* D14 8 D07 BG2IN* D15 9 GND BG2OUT* GND 10 SYSCLK BG3IN* SYSFAIL* 11 GND BG3OUT* BERR* 12 DS1* BRO* SYSRESET* 13 DS0* BRI* LWORD* 14 _ WRITE* BR2* AM5 15 GND BR3* A23 16 DTACK* AMO A22 17 GND AMI A21 18 AS* AM2 A20 19 GND AM3 A19 20 IACK* GND Al 8 21 IACKIN* SERA A17 22 IACKOUT* SERB A16 23 AM4 GND A15 24 A07 IRQ7* A14 25 A06. IRQ5* A13 26 A05 _ IRQ5* A12 27 A04 _ IRQ** All 28 A03 IRQ3* A10 29 A02 IRQ2* 409 30 A01 1RQ1* A08 31 -12VDC +5VSTBY +12VDC 32 +5VDC +5VDC +5VDC
4.4. Магистрально-модульный интерфейс VME 'О Продолжение табл. 4.6 Дополнительный разъём P2/J2 1 ♦* +эУРС ** 2 *♦ GND ** 3 ** RETRY* ** 4 ** А24 ** 5 ** А25 ♦♦ 6 *♦ А26 ** 7 ** А27 ♦♦ 8 ** А28 ** 9 ** А29 ** 10 ** АЗО ** 11 ** А31 ** 12 ** GND ** 13 *♦ +5VDC ** 14 ** D16 ** 15 ** D17 ** 16 *♦ D18 ** 17 ♦♦ D19 ** 18 ** D20 ** 19 *♦ D21 ** 20 ** D22 ** 21 ** D23 ** 22 ** GND ** 23 ** D24 ** 24 ** D25 ** 25 ** D26 ** 26 ** D27 *♦ 27 ** D28 ** 28 ** D29 ** 29 ** D30 ** 30 ** D31 ** 31 *♦ GNU ** 32 ** +5VDC ** * Активный уровень — низкий. ** Назначение определяется пользователем.
о Глава 4 Параллельные интерфейсы ф е а и m q р ф ф [10 Мрес Y 1 - \ 1 Запись ' DS0 Данные J DTACK 1 — г Рис. 4.8. Временные диаграммы обмена данными в интерфейсе VM Е Затем (момент 3) запросчик выставляет строб адреса AS, отмечающий достоверность адреса и направления передачи на шине. В момент 4 запросчик активизирует один из стробов данных, например DS0, указывающий на выбор младшего бита данных. К моменту 5 оконечное устройство готово к обмену, оно выставляет данные на шине. К моменту 6 данные считаются достоверными, что под- тверждается активизацией оконечным устройством сигнала DTACK. Запросчик считывает данные и в моменты 7 и 8 снимает сигналы с шин адреса и управления. В момент 9 оконечное устройство снимает данные с шины. В момент 10 освобождение шины подтверждается око- нечным устройством снятием сигнала DTACK. На этом
4.4. Магистрально-модульный интерфейс VME 155 цикл обмена данными заканчивается, запросчик возвращает управление шиной контроллеру. Прерывания реализованы традиционным для параллель- ных интерфейсов методом. Имеются семь линий уровней прерывания 1RQ1...IRQ7. Арбитраж осуществляется по двум схемам: 1. Позиционная схема. Чем ближе модуль в крейте к контроллеру, тем выше его приоритет. 2. Круговая схема. Высший приоритет передаётся по очереди всем модулям крейта. К сожалению, такая громоздкая схема арбитража требует большого количествалиний связи в и без того дорогостоящих разъёмах и на кросс-платах крейтов. Надёжность системы снижается из-за большого количества межсоединении. Среда передачи данных интерфейса VME - кросс-плата крейта. Все линии связи, кроме обеспечивающих арбитраж, соединены параллельно. Сигнальные линии обычно выпол- няются на многослойной печатной плате. Линии питания модулей - объёмным монтажом. Допускается расширение интерфейса на два или несколько крейтов (рис. 4.9). Сопряжение модулей с крейтами осуществляется специ- ально разработанными для VME 96-контакгными разъёмами (3 ряда по 32 контакта). Шаг контактов 2,54 мм. Сигналы основного интерфейса разведены по разъ- ёмам всех модулей крейта В результате фронты сигналов не удаётся получить короткими, что ограничивает произ- водительность интерфейса. Для формирования быстрых локальных подсистем в рамках крейта VME могут быть реализованы один или несколько локальных интерфейсов VMX. Каждый объединяет не более 6 модулей. Паразитные параметры линий обмена данными и облегчённые схемы буферизации позволяют получить большие производитель- ности. Наличие нескольких локальных систем обеспечивает параллелизм выполнения различных операций и также способствует повышению обшей производительности.
156 Глава 4 Параллельные интерфейсы Рис. 4.9. Интерфейс VME, расширенный на вспомога- тельный крейт. Такое решение обеспечивает обслуживание большего количества модулей, чем можно разместить в основном крейте. Используются активные расширители, осуществляющие буферизацию сигналов для передачи по кабелю. Для соединения несколь- ких крейтов применяется разветвлённый кабель расширителей. Соединение крейтов в цепочку не допускается из-за искажения временных параметров сигналов при много- кратной буферизации Для построения на основе крейтовой системы VME распределённых систем сбора данных был принят стандарт на последовательный интерфейс VMS. Он работает в полу- дуплексном режиме. Стробирующие сигналы передаются по отдельной линии. На настоящий момент этот стандарт сильно уступает современным по всем параметрам. Более 10 лет интерфейс VME был самым производитель- ным решением данного класса в мире. За это время крейтами VME было оснащено большое количество крупных объек- тов автоматизации. Выпускается широкая номенклатура модулей, крейтов и других узлов системы VME. Поэтому разработка специализированных модулей, ремонт и модер- низация существующих систем, приспособление их к новым приложениям и периферии - актуальные задачи пользова- телей. Высокая стоимость таких систем и привязанность
4.5. Периферийный интерфейс SCSI к ним научных и технических заделов часто не позволяют пользователю полностью заменять их новыми. Реализация новых систем на VME, скорее всего, нецеле- сообразна. Сейчас имеются решения с лучшими параметра- ми при меньшей себестоимости. Дополнительная информация I. Организация производителей VME. www.vita.com. 2. Тексты стандартов. См. табл. 4.4,4.5. 3. Эрглис К. Э. Интерфейсы открытых систем. М.: Горя- чая линия — Телеком. 2000. 4. VME в третьем тысячелетии // Мир компьютерной автоматизации. http://www.mka.ru/?p=42722. 5. Добро пожаловать в Ренессанс VME // Мир компью- терной автоматизации. http://www.mka.ru/?p=42723. 6. VXS главное расширение экосистемы VMEbus // Мир компьютерной автоматизации. http://www.mka.ru/?p=42724. 4.5. Периферийный интерфейс SCSI SCSI (Small Computer System Interface) - интерфейс малых компьютерных систем. Произносится, как «скази» (с ударением на «а»). Стан- дарт начал создаваться в 70-х годах XX века. Своё нынешнее название получил в 1986 году (ANSI.X.3.131-1986). Тогдаже стали появляться и первые изделия, совместимые с ныне выпускающимся оборудованием. Однако за свою историю стандартизации SCSI породил версии среды передачи данных, несовместимые между собой. Пик популярности в пользовательских системах интерфейс SCSI пережил на гране веков, когда развитие многозадачных операционных систем персональных компьютеров вызвало необходимость в быстродействующих каналах обмена данными с перифе- рийным оборудованием, не загружающих центральный про- цессор низкоуровневыми операциями. Это оборудование
Глава 4. Параллельные интерфейсы стало разрабатываться на базе микроконтроллеров. «Интеллект» был выдвинут на «передний край» распре- делённых систем — ближе кпериферии, объектам измерения и управления. Понадобилось уже не пошаговое управление, а передача высокоуровневых команд и массивов данных. С развитием таких систем повышались требования к каналам передачи данных. Для покрытия этих потребностей выпускались новые версии стандарта SCSI, закрепляющие повышение частоты обмена данными с 5 до 10 Мбит/с, а потом и ещё выше. При этом сохранялась совместимость с ранее выпущенным оборудованием. Таблица 4.7. Многообразие версий интерфейса SCSI Стандарт Длина кабеля, м Скорость, Мбит/с Количество портов SCSI-1 6 5 8 SCSI-2 6 5...10 8 или 16 Fast SCSI-2 3 10...20 8 Wide SCSI-2 3 20 16 Fast Wide SCSI-2 3 20 16 Ultra SCSI-3, 8-bit 1,5 20 8 Ultra SCSI-3, 16-bit 1,5 40 16 Ultra-2 SCSI 12 40 8 Wide Ultra-2 SCSI 12 80 16 Надо отметить, что номинальная пропускная способ- ность достигается только при передаче массивов данных в синхронном режиме. При однократных пересылках данных до 90 % времени занимают системные операции, выпол- няемые в асинхронном режиме. Этот эффект особенно заметен в изделиях, реализованных на ранних версиях стандарта. Концепция SCSI как интерфейса многозадачных, многопользовательских систем предполагает высокий уровень самостоятельности каждого порта и возможность захвата шины каждым из них. Поэтому порты SCSI строятся
4.5. Периферийный интерфейс SCSI I на микроконтроллерах, достаточно быстродействующих, и обладающих достаточной памятью данных и программ для работы в реальном времени во всех режимах интерфейса. Та- кая недешёвая реализация обуславливает преимущества: • Центральные процессоры компьютеров и контролле- ры периферийного оборудования могут работать с каналом обмена как с быстродействующей памятью. • Низкоуровневое управление периферийным оборудо- ванием осуществляется на месте. • Каждый порт может стать контроллером интерфейса, что удобно для многопользовательских систем. Крупным недостатком интерфейса SCSI является узость его адресного пространства. В SCSI нет отдельной шины ад- реса. Адрес порта передаётся по шине данных позиционным кодом, то есть каждому адресу соответствует активный уро- вень сигнала на одной из линий данных. На остальных линиях данных в это время неактивные уровни. Так может быть ад- ресовано не больше портов, чем количество разрядов в шине данных интерфейса. SCSI разрабатывался для подключения периферийного оборудования к компьютерам. Разработчи- кам казалось, что столь небольшого адресного пространства достаточно, а более простая реализация присвоения адреса устройству является существенным преимуществом. Альтер- нативой SCSI на тот момент было подключение периферий- ного оборудования сигналами, представленными «как есть». Например, на разъёме дисковых накопителей присутствовали сигналы управления перемещением магнитных головок. (Так они реализованы и сейчас. Подобный способ подключения некорректно называть интерфейсом передачи данных.) Узкое адресное пространство интерфейса SCSI помешало его ши- рокому внедрению на рынок промышленного оборудования. Полнофункциональные порты SCSI так и остались дорогими, не очень массовыми изделиями. Зато возможности по непол- ной реализации всех требований стандарта позволили многим производителям реализовывать на нём радиальные линии
160 Глава 4. Параллельные интерфейсы обмена данными с быстродействующим оборудованием. Например, получили распространение сканеры, укомплек- тованные адаптером ISA-SCSI, кабелем SCSI и портом SCSI, встроенным в сканер. Адаптеры таких линий, как правило, работали под управлением центрального процессора. То есть автономность и поддержка многозадачности в таких решени- ях отсутствовали. Адаптеры были недороги и обеспечивали достаточную скорость передачи данных. С развитием интер- фейса USB подобные системы были им вытеснены. Сейчас интерфейс SCSI широко распространён в сис- темах хранения большого объёма данных (RAID-массивах). Они состоят из большого количества накопителей на жёстких дисках. Поскольку SCSI разрабатывался именно для таких приложений, его достоинства реализуются в них в макси- мальной степени. Высокая себестоимость не играет решаю- щей роли в этих дорогостоящих ответственных системах. Топология интерфейса — шинная. Среда передачи данных представляет собой специальные кабели, они сты- куются с портами интерфейса посредством нескольких типов стандартизированных разъёмов. Разные разъёмы применяются для функционально законченных устройств и для узлов одного изделия (например, внутри системного блока персонального компьютера). Появлявшиеся в разные годы, обновлённые версии стандарта также добавляли новые позиции в список стандартных разъёмов (рис. 4.10). Устройства для SCSI, как правило, комплектуются двумя интерфейсными разъёмами, они используются для соединения, устройств в цепочку, кабелями с двумя разъёмами по одному на каждом конце. Внутриприборные соединения могут выполняться кабелем с несколькими разъёмами. В любом случае кабели SCSI рассматриваются как длинные линии и должны быть согласованы на обоих концах. Для этого предназначены специальные узлы согла- сования (терминаторы). Их волновое сопротивление равно волновому сопротивлению линии, а значит, отражённой
4 5. Периферийный интерфейс SCSI 161 Разъёмы SCSI для внутриприборных соединений |п................................Low-Density [□и | контактов) High-Density (68 контактов) Разъёмы SCSI для функционально законченных устройств DB-25 (25 контактов) Low-Density, Centronics (50 контактов) High-Density, Micro DB50, Mini (50 контактов) High-Density, Micro DB68, Mini DB68 (68 контактов) High-Density, Micro Centronics (68 контактов) Рис. 4.10. Разнообразие разъёмов, использующихся SCSI от конца линии волны не возникает. Терминаторы бывают двух типов: пассивные — наборы резисторов, шунтирующих линию, и активные — источники постоянного напряжения, выполняющие ту же функцию. В быстрых версиях SCSI
162 Глава 4. Параллельные интерфейсы допустимо применение только активных терминаторов Часто в устройства SCSI встроены терминаторы, которые можно включать или выключать при монтаже шины. Кабели SCSI могут быть как круглого сечения, так й плоские. Круглые кабели имеют сложную конструкцию и высокую цену. Они состоят из витых пар, уложенных оп- ределённым образом. В середине кабеля укладываются три пары, предназначенные для передачи сигналов квитирова- ния и сигнальной земли. Они заключены в диэлектрическую оболочку, не позволяющую им смещаться по сечению кабе- ля. Эти сигналы наиболее полно защищены от воздействия внешних помех. Второй слой образуют витые пары, скру- ченные в противоположную сторону, для снижения пара- зитной ёмкости с находящимися рядом проводниками. Они предназначены для сигналов шины управления интерфейса. Сверху пучок фиксируется диэлектрической оболочкой. Вне- шний слой витых пар используется сигналами шины данных (собственно данных и чётности). Направление скрутки пар такое же, как у первых трёх. Паразитная ёмкость при этом минимальная. Всё это заключено в общий экран и защитно- фиксирующую оболочку из диэлектрика. Сечение такого кабеля не менее 15 мм (рис. 4.11). Стоимость круглого кабеля SCSI очень высока. Его низкая гибкость часто препятствует прокладке по сущес- твующим кабельным каналам. Распайка разъёмов плохо поддаётся автоматизации. Невозможно изготовить кабель с тремя и более разъёмами. Все эти недостатки обусловили узкую область применения кабеля круглого сечения в SCSI. Более тонкие круглые кабели имеют упрощённую структуру и не могут обеспечивать работоспособность интерфейса при длинах более 1-1,5 метра. Вместо круглых кабелей при- меняются имеющие худшие электрические параметры, но лишённые других недостатков плоские кабели. Такие кабели выпускаются с перевитыми парами и совершенно плоские. Перевитые дороже, но их электрические параметры лучше.
4.5. Периферийный интерфейс SCSI Рис. 4.11. Поперечное сечение круглого кабеля интер- фейса SCSI. Во внешних слоях витые пары показаны частично В SCSI приняты две различные схемы передачи сигналов по шине данных. Униполярные сигналы «—DATA» - «Земля» применялись начиная с самых первых версий интерфейса SCSI. Позже была стандартизирована схема передачи низ- ковольтными дифференциальными сигналами «-DATA» - «+DATA». Она обеспечивает лучшую помехозащищённость при той же длине и скорости передачи. Принципиально ограниченное адресное пространство интерфейса SCSI и высокая стоимость кабелей и портов сделали его неконкурентоспособным по сравнению с пос- ледовательными интерфейсами более поздней разработки. Всё же SCSI остался параллельным интерфейсом, допуска- ющим самые большие длины кабелей. Специализированная элементная база для массового внедрения интерфейса так и не была создана. Сейчас использование SCSI в новых разра- ботках оправдано в основном только для продления «жизни» старого, дорогостоящего оборудования.
J 64 Глава 4. Параллельные интерфейсы [ополнительная информация 1. ANSI Х.3.131-1986: Information Systems — Small Com- puter System Interface (SCSI). NY: American National Standards Institute, 1986. 2. ANSI X.3.131-1994: Information Systems — Small Com- puter System Interface-2 (SCSI-2), X3T9.2/375R. NY: American National Standards Institute, 1994. 3. ANSI X3.253-1995: Information Technology-SCSI-3 Parallel Interface (SPI), X3T10/855D. NY: American National Standards Institute, 1995. 4. ANSIX3.277-1996: Information Technology X3T9.2/375R SCSI-3 Fast-20, X3T10/1071D NY: American National Stan- dards Institute, 1996. 5. William E. Ham. Recent Advances in Basic Physical Tech- nology for Parallel SCSI: Ultra SCSI, Expanders, Interconnect and Hot Plugging. 1998. 6. Справочник по компьютерным интерфейсам. http://rp.butovonet.ru/index.php?name=EZCMS&menu= 30004& page_id=72. 7. Энциклопедия Кирилла и Мефодия. http://www.megakm.ru/ pc/Encyclop. asp?Topic=pc_108. 8. Общая архитектура SCSI-3. http://www.osp.ru/lan/ 1999/10/ 004.htm. 9. Ю. Петрова. SCSI — не только для профессионалов. http://www.dvgu.ru/meteo/PC/scsi.htm. 10. Эволюция стандартов SCSI. http://tech.stolica.ru/article. php?id=2000010101. 11. Практикум по SCSI. http://www.roi.ru/news/it/helpdesk/nit/index.htm.
ПРИЛОЖЕНИЕ МИКРОСХЕМЫ ДЛЯ РЕАЛИЗАЦИИ ЦИФРОВЫХ ИНТЕРФЕЙСОВ Элементная база цифровой техники довольно быстро об- новляется. Поэтому информация о ней вынесена из текста книги сюда. RS232, RS485, RS422 КР580ВВ51,8251. Linear Technology (www.linear-tech.com). Maxim (www.maxim-ic.com) National Semiconductors (www.national.comj. USB Cypress (www.cypress.com): Контроллеры, порты, хабы. Maxim (www.maxim-ic.com). National Semiconductors (www.national.com). Микроконтроллеры co встроенным портом от различных производителей. FC Philips (www.semiconductors.philips.com). Linear Technology (www.linear-tech.com).
66 Приложение Микросхемы для реализации интерфейсов CAN Maxim (www.maxim-ic.com). National Semiconductors (www.national.com). Philips (www.semiconductors.philips.com). Infineon (www.mfineon.com): CAN-ориентированные микроконтроллеры. Микроконтроллеры co встроенным портом от различных производителей. 1-Wire Dallas (Maxim) (www.maxim-ic.com). SPI Atmel (www.atmel.com). IEEE 1394 Texas Instrumetns (www.ti.com). Микросхемы от различных производителей. Манчестер-2 588ВГЗ. 588ВГ6. Holt (www.holtic.com). ARINC 429 Holt (www.holtic.com). IrDA Agilent (www.agilent.com). Трансиверы Texas Instrumetns (www.ti.com). Реализация декодеров на сигнальных процессорах MSP430.
Приложение. Микросхемы для реализации интерфейсов 'О Bluetooth National Semiconductors (www.national.com). ISA, PCI, PC/104 Часто реализуются на программируемой логике. Микросхемы от различных производителей. VME Л1876ВГ2, Л1876ВГЗ. Cypress (www.cypress.com). Часто реализуются на программируемой логике. Микросхемы от различных производителей. SCSI Maxim (www.maxim-ic.com). Микросхемы от различных производителей.
Заявки на книги присылайте по адресу: 125319 Москва, а/я 594 Издательство «Техносфера» e-mail: knigi@technosphera.ru sales@technosphera.ru факс: (095) 956 33 46 В заявке обязательно указывайте свой почтовый адрес! Подробная информация о книгах на сайте http://www.technosphera.ru Лля связи с автором www.vbnti.narod.ru vbnti@narod.ru Лапин Алексей Анатольевич Интерфейсы. Выбор и реализация Компьютерная верстка — А. Н. Свирин Дизайн книжных серий — С. Ю. Биричев Ответственный за выпуск — Л. Ф. Соловейчик Формат 84 х 108/32. Печать офсетная. Гарнитура Ньютон Печ.л. 10,'5. Тираж 5000 экз. Зак. №2074 Бумага офсет №1, плотность 65 г/м2. Издательство «Техносфера» Москва, Лубянский пр-д, 27/1 Диапозитивы изготовлены ООО «Европолиграфик» Отпечатано на ГУРПП г. Ржев, ул. Урицкого, дом 91
ЗОЛОТОЙ ШД1" ! представляет торговую марку HT@I№ INTEGRATED^CIRCUITS микросхемы для интерфейсов MIL-STD-1553 hARINC-429 драйверы LCD-дисплеевГ для аВИОНИЖ ?£$ www.zolshar.ru / ЛШЛ. X