Компоненты и технологии, № 9'2003 Компоненты
Подключение приборных плат к шинам современных компьютеров
Часть II. Микросхемы для сопряжения плат пользователя с компьютером
Леонид Вихарев
vleo@atel.ru
3. Варианты подключения сложных плат
к компьютеру
Серьезная перемена в архитектуре компьютера не позволяет применять ранее разработанные платы расширения (встраиваемые пользовательские платы) в компьютерах последних поколений.
Возросшая сложность внутренних интерфейсов, высокая скорость обмена данными по шинам, многообразие алгоритмов пересылок — все это очень затрудняет процесс адаптации пользовательского оборудования к современным компьютерам. Если подключение платы к шине ISA еще можно было сделать при помощи микросхем малой и средней степени интеграции, то сегодня в усложнившихся компьютерах даже не стоит и пытаться проделать такое, подключаясь, например, к шине PCI. Не получится по многим причинам. Слишком велики, например, будут затраты по площади и по потребляемой мощности. Без CPLD просто не удастся получить тех скоростных параметров, которые предоставляет шинный интерфейс. Да и разработчиков, умеющих грамотно работать с теми микросхемами, в стране поубавилось. Часть ушла на покой, часть переквалифицировалась, поскольку долгое время оставалась невостребованной по основной профессии. Пришедшая им на смену молодежь хуже понимает ту часть электроники, которая требует знания многочисленных параметров, особенностей и свойств различных серий микросхем, электрических и временных характеристик, интерфейсов, стандартов, технологий, нагрузочных способностей и т. п. Зато для молодых разработчиков несложно набросать небольшие программки для микроконтроллеров, и они легче обращаются с компьютером, чем их наставники-ветераны. В статье И. Каршенбойма «Контроллеры Fast Ethernet для встроенных применений» отмечается как факт, что многим современным разработчикам проще написать несколько уникальных программ, чем спроектировать одну схему («КиТ» № 5'2003). У них есть свои преимущества, но разработать схему интерфейса к компьютерной шине — задача для них слишком трудная. По моим наблюдениям (которые, вероятно, субъективны и не обладают абсолютной полнотой), инженеры-разработчики в на-
шей стране — профессия вымирающая. Что я знаю точно, так это то, что в большинстве питерских фирм, в которых мне пришлось побывать по роду работы в последние год-два, разработчикам либо уже давно за 40, либо нет их вообще, но фирмы еще живут, воспроизводя ранее разработанные устройства. (Есть, правда, пара-тройка преуспевающих компаний, работающих в сфере телекоммуникаций, где ситуация иная. Разработчики там ценятся. Их возраст находится как раз в том самом диапазоне между 30 и 40 годами, когда у инженера уже есть знания, опыт и силы, а душа еще стремится к новым высотам. Но эти компании представляют собой скорее исключение, чем правило.) Разработчиков, хорошо понимающих электронику, проникающих в суть работы прибора на уровне транзистора, почти не осталось. «Иных уж нет, а те далече...» Так или иначе, но старые способы решения проблемы уже не годятся.
Впрочем, изредка, в печатных изданиях и в Интернете иногда все-таки промелькнет информация о вариантах реализации простых интерфейсных контроллеров на нескольких PLD малой емкости (см., например, статью В. Стрижова «Самый простой интерфейс для PCI», «КиТ» № 1'2000). Простота этих узлов ограничивает их применение и часто противоречит требованиям стандарта, но позволяет быстро подключать пользовательскую электронику к современным компьютерным интерфейсам.
3.1. Реализация контроллеров на CPLD и FPGA
Более современным и главное, значительно более простым способом сопряжения встраиваемой платы с шинным интерфейсом компьютера можно считать подход, основанный на применении контроллеров, выполненных на базе микросхем FPGA, заключающих в себе готовые решения. Эти решения поставляются производителями микросхем и их партнерами (Altera, Xilinx, Lattice, Actel, Atmel, Cypress и др.). В настоящее время почти каждый из них поставляет тот или иной вариант библиотек интерфейсов PCI или средств их генерации. Они получили наименование «интеллектуальных ядер» (IP — intellectual property core), которые продаются в виде программ, описывающих поведение схемы интерфейса на специализированных языках,
Компоненты и технологии, № 9'2003
таких, как ЛИБЬ, УИБЬ или Verilog. Программы поставляются в кодированном виде и распаковываются фирменным инструментальным пакетом при наличии файла лицензии. В проект покупателя ядро может быть вставлено из библиотеки как символьный элемент с закрытым внутренним содержимым, у которого видны только входы и выходы, но не видна «начинка». Лицензия может стоить от нескольких тысяч до нескольких десятков тысяч долларов в зависимости от сложности ядра и от того, на какой временной период лицензия рассчитана (до $18 тыс. для LogiCORE РС1 64 бит/66 МГц). Лицензия предполагает использование ядер для серийного производства либо для уникальных образцов дорогостоящей техники.
Большим преимуществом такого подхода является значительное сокращение времени разработки всего продукта, удобство отладки проекта, возможность использования свободных ресурсов кристалла в своих собственных целях. (В зависимости от выбранного кристалла, неиспользованными могут оставаться более 60% ресурсов микросхемы. Так, например, контроллер шины РС1 разрядностью 64 бит и с системной частотой 66 МГц занимает в БРОА ХДтх ХСУ1000 (свыше 1 млн вентилей), всего 3% от общего объема!) Однако в российских условиях воспользоваться такой методикой может далеко не каждая фирма. Цена 1Р-ядер для наших производителей неприемлема. Те варианты ядер, которые можно найти в свободном доступе в Интернете — кот в мешке. Работают ли они и какова степень их соответствия требованиям интерфейса — неизвестно. По этой причине для российских разработчиков предпочтительнее другой путь: применение специализированных микросхем — контроллеров шин. В статье В. Капитанова, В. Мис-тюкова, С. Довгань «Контроллер РС1-интер-фейса на ПЛИС фирмы ХДтх» (ChipNews № 2'2000) в качестве альтернативы предлагается использовать ядро, разработанное специалистами отечественной фирмы «Скан Инжиниринг-телеком». В отличие от зарубежных аналогов, наш «родной» продукт дешевле в несколько раз. В статье приводятся также расчеты, доказывающие, что устройства, содержащие это ядро, выпускаемые даже небольшими тиражами (сотни штук) становятся сравнимы по стоимости с изделием, реализованным на специальных контроллерных микросхемах. Так это на самом деле или нет — вопрос дискуссионный. Желающие могут проверить это опытным путем. Для тех же, кто не желает рисковать и не имеет лишних денег, остается единственный путь — покупка микросхем специализированных контроллеров.
3.2. Специализированные микросхемы (наименьшее количество проблем при высоких функциональных возможностях и низкой стоимости)
Использование таких контроллеров позволяет подключить встраиваемую плату к компьютерной шине РС1 или ШВ без особых хлопот и лишних расходов. Разработчику не нужно тревожиться за выполнение строгих требований спецификации шины
со стороны системного интерфейса, поскольку СБИС контроллера обеспечивает гарантированные временные характеристики и основной упор делается на разработку своего конкретного приложения. При этом почти все те преимущества, которые он получил бы, используя IP-cores, остаются. Конечно, логика сопряжения собственной части схемы с выходной шиной контроллера здесь должна выполняться в виде отдельных микросхем, например, PLD или FPGA-чипов. Возможно, в зависимости от применяемого чипа FPGA и особенностей режима работы, может потребоваться или не потребоваться внешний буфер FIFO. Некоторый проигрыш, конечно, есть, и он выражается в большей площади печатной платы, отводимой под интерфейсную часть, в большем числе компонентов, используемых на эти цели, и в соответствующем снижении надежности всей платы в целом. Однако стоимость конечного продукта при таком подходе будет существенно отличаться от стоимости аналогичного, реализованного с применением дорогого ядра.
4. Контроллеры для сопряжения с шиной PCI
По способу управления шиной и возможностям доступа к ресурсам компьютера все контроллеры шины PCI можно разделить на контроллеры-исполнители (таргет, target) и контроллеры, имеющие функцию мастера, ведущего (master). Первые способны выполнять пересылки данных только под управлением основного процессора. Вторые могут сами управлять шиной, контролируя ход и длительность процесса, а также статусные сигналы других устройств. Такие контроллеры способны работать в режиме прямого доступа к памяти компьютера (DMA), поэтому они сложнее и немного дороже, чем контроллеры-исполнители.
Контроллеры различных фирм отличаются также наличием встроенных дополнительных интерфейсов. Некоторые из них имеют интерфейс ISA-подобной шины, облегчающий адаптацию ранее разработанной схемы к новым шинам. Другие транслируют сигналы PCI в некую промежуточную шину, не похожую ни на какие другие, но более удобную, наилучшим образом адаптированную для работы со встроенными приборами. Третьи имеют параллельные или последовательные каналы связи, аналогичные стандартным. Следующие обладают встроенными схемами, обеспечивающими связь с внешним миром по каналу Ethernet или через интерфейс IrDA (инфракрасный канал связи).
Фирм, предлагающих контроллеры шин PCI и USB, можно насчитать десятки. Некоторые из них еще молоды и мало кому известны, другие успешно работают в этой области уже много лет и обрели популярность. Число микросхем контроллеров, производимых всеми ими в совокупности, исчисляется не единицами, а сотнями. Наиболее известны две компании, поставляющие на рынок контроллеры для PCI-интерфейса, — АМСС и PLX (США).
АМСС
Однокристальный контроллер АМСС5320 предназначен для связи встраиваемых приложений с шиной РО. Он соответствует требованиям стандарта PCI 2.2 и способен работать со скоростью до 132 Мбайт/с при тактовой частоте синхронизации шины 33 МГц. Контроллер позволяет реализовать режим Plug&Play и умеет работать с несколькими конфигурациями устройства. Для этого может использоваться до четырех блоков памяти или участков ввода-вывода с переменным объемом. Добавочная шина, к которой подключается пользовательская электроника, обеспечивает пересылки данных от приложения разработчика с частотой до 40 МГц и разрядностью 8, 16 или 32 разряда. Контроллер оснащен двухбанковым FIFO по 32 байт в каждом банке. Выводы почтовых регистров mailbox позволяют производить передачу прерываний шине PCI. Контроль процессов передачи информации, управление и конфигурация контроллера осуществляется через 3 группы регистров: регистры конфигурации, рабочие регистры шины PCI, рабочие регистры дополнительной шины.
Конфигурационные регистры устанавливаются в процессе инициализации по включению питания. Они определяют специфику встраиваемой платы и информацию, которая задает объемы памяти, необходимой для функционирования прибора, позволяет идентифицировать как сам прибор, так и его изготовителя, и т. д. Эти регистры либо устанавливаются в нужное состояние автоматически по умолчанию, либо их содержимое определяется информацией, хранящейся во внешней памяти. Микросхема энергонезависимой памяти (чаще всего EEPROM) связана с чипом контроллера через двухпроводной интерфейс и автоматически конфигурирует его при каждом включении питания.
Регистры шины PCI доступны через линии самого интерфейса. Они являются регистрами, через которые основной процессор (хост) осуществляет пересылки данных между линиями PCI и дополнительной шины и окружены регистрами состояния, «почтовыми ящиками» и FIFO.
Последняя группа регистров относится к рабочим регистрам дополнительной шины. Они определяют параметры процессов передачи данных через эту шину и тоже окружены соответствующими статусными и почтовыми регистрами и имеют свой FIFO.
Контроллер АМСС5320 производится в 160-контактном корпусе типа PQFP. Стоимость микросхемы S5920, которая относится к классу ведомых PCI-устройств (target), значительно ниже активных устройств типа bus master и в настоящее время колеблется около суммы $30 (сравните со стоимостью IP-core!).
Мощный и гибкий контроллер S5935 (рис. 1) взаимодействует с интерфейсом PCI на нескольких уровнях сложности. Он может быть и ведомым (target), со скромными возможностями по скорости передачи, и ведущим (bus master), c пиковой производительностью 132 Мбайт/c. Контроллер может выполнять пересылки в режиме прямого доступа к памя-
Компоненты и технологии, № 9'2003
S5935
встраиваемые
устройства
интерфейсная
логика
шинные мультипл. И буфера
Read/Write
control
Pass-Thru Data & Address Registers
адресные регистры И счетчики DMA
FIFO
Mailboxes
регистры
конфигурации
статусные
регистры
Интерфейс, логика доп. шины
мультипл.
буфера
I/O Audio
ISDN
FDDI
ATM
Graph Ics/ MPEG/ Grabber
Proprietary
Backplane
Satellite
Receiver/
Modem
последовательная
EEPROM
Рис. 1. Структурная схема контроллера PCI фирмы АМСС S5935
ти (DMA). Такая способность бывает очень полезна при работе с быстрыми устройствами и при передачах больших массивов данных. Микросхема S5935 лучше адаптирована к новейшим высокоскоростным чипсетам современных компьютеров, что позволяет избежать некоторых неприятностей, с которыми приходилось сталкиваться ранее (к примеру, у предшествующих этому контроллеру чипов бывали конфликты, связанные с неверными временными соотношениями в транзакциях в режиме DMA). S5935 свободна от этих неприятностей. К тому же она имеет больше встроенной логики, предоставляя пользователю большие возможности. По конструктивному исполнению и даже по расположению и наименованию выводов микросхема похожа на свой более примитивный аналог S5920, но отличается от него наличием специальных сигналов, необходимых для организации работы в режиме мастера.
PLX
Компания PLX предлагает несколько типов контроллеров интерфейса PCI, отличающихся уровнем функциональной сложности, частотой синхронизации, напряжениями питания, глубиной встроенных FIFO и конструктивным исполнением. Среди них два контроллера-таргета и 4 мастера. Некоторые отличия простых таргетов друг от друга описаны в таблице 1, контроллеров типа мастер — в таблице 2.
Контроллеры выполняют предварительную выборку достаточного количества данных из устройств локальной (дополнительной) шины. Затем выбранные данные паке-
тами пересылаются в шину PCI из внутреннего буфера FIFO. Размер предварительной выборки можно конфигурировать, чтобы он совпадал с длиной пакетов устройства PCI bus master, или использовать в качестве данных режима упреждающего считывания PCI-адресата. Это свойство позволяет увеличить пропускную способность и понизить задержки при считывании. При работе локальной шины с частотой 60 МГц контроллер PCI9030 способен выполнять пакетные передачи данных со скоростью до 240 Мбайт/с, выдерживая при этом все необходимые временные соотношения, заданные стандартом. Программируемая локальная шина поддерживает протокол передачи как для мультиплексированных, так и ^мультиплексированных 32-битных адресов/данных, а динамичное управление разрядностью локальной шины обеспечивает доступ к 8-, 16- или 32-битным устройствам в ведомом режиме. Генератор прерываний может устанавливать запросы прерывания PCI, поступающие как от внешних, так и от внутренних источников.
Локальная шина работает с помощью синхронизатора шины и имеет дополнительные внутренние синхронизаторы. Синхронизатор локальной шины, в свою очередь, работает асинхронно с синхронизатором PCI.
Фирма предлагает комплект средств разработчика, включающий в себя CD-ROM c ПО для работы с контроллерами и испытательную плату на каждый из типов контроллеров. Программный пакет (SDK) облегчает разработку программного обеспечения и подго-
тавливает файлы для конфигурационной памяти разрабатываемого устройства.
ISS
Менее сложный, но не менее востребованный на рынке контроллер для сопряжения устройств, разработанных под шину ISA, и шины PCI, поставляет фирма Interconnect System Solution (ISS), который так и называется — PCI-ISA-001 (рис. 2). Дополнительная шина у него имеет разрядность данных 8 бит и адресное поле 11 бит. Такая шина удобна в работе с популярными микроконтроллерами серии MCS51. Несмотря на некоторую простоту ИС, она способна работать как таргет и как мастер и адресоваться к трем устройствам на локальной шине. Контроллер может работать как задатчик (мастер), осуществляя пересылки в режиме прямого доступа в ту и другую сторону. Как и в большинстве других аналогичных контроллеров, здесь есть интерфейс конфигурационной EEPROM, содержимое которой может быть изменено при обращении со стороны PCI. Микросхема производится в корпусе типа TQFP-100, питается от источника 3,3 В и рассчитана на эксплуатацию при температурах 0-70 °С. Рис. 2 показывает типовую схему включения контроллера при работе с устройствами, имеющими интерфейс шины ISA.
SUN
Намного сложнее устроен контроллер фирмы Sun Microelectronics STP2003PQFP (рис. 3). Он ориентирован на применение в устройствах связи, работающих через сеть Ethernet. Чип является элементом подсистемы ввода-вывода и заключает в себе высокоскоростной контроллер сети Ethernet и кот-роллер ISA-подобной шины Ebus2. Микросхема способна работать в режиме мастера и таргета (исполнителя) для интерфейса PCI 33 МГц/32 бит. По отношению к каналу Ethernet она является устройством 10baseT (802.3) и 100baseT (802.30) с полностью буферизованными приемопередающими каналами, вторичным МАС-контролем (Media Access Control) и независящим от среды интерфейсом (media-independent interface — MII). Второй встроенный контроллер поддерживает работу ИС в режиме DMA и позволяет адресоваться к 8 внешним устройствам, подключенным к шине Ebus2. Чип работает с кварцевым генератором 40 МГц и часами реального времени 10 МГц. STP2003PQFP предназначен для организации сложных систем
Таблица 1
Таблица 2
Наименование микросхемы
PCI9052 PCI9030
Тип PCI-шины PCI v.2.1, 33 МГц PCI v.2.2, 33 МГц
Частота синхронизации дополн. шины 40 МГц 60 МГц
Напряжение питания 5 В 3,3 В
Поддерживаемая EEPROM 1 кбит 2 кбит
Глубина читаемого FIFO 32 байт 64 байт
Глубина записываемого FIFO 32 байт 128 байт
Конструктивное исполнение PQFP-160 PQFP-176 BGA-180
Наименование микросхемы
PCI9080 PCI9054 PCI9056 PCI9656
Тип PCI-шины PCI v.2.1, 33 МГц/32Ь PCI v.2.2, 33 МГц/32Ь PCI v.2.2, 66 МГц/32Ь PCI v.2.2, 66 МГц/64Ь
Частота дополнительной шины 40 50 66 66
Напряжение питания 5 В 3,3 В 2,5/3,3 В 2,5/3,3 В
Арбитр шины - - 7 задатч. 7 задатч.
Упр-ие питанием шины - V 1.1. V 1.1. V 1.1.
JTAG-интерфейс - - + +
Поддерживаемая EEPROM 1/2/4 кбит 2/4 кбит 2/4 кбит 2/4 кбит
Глубина FIFO при чт/зп 64/128 байт 64/128 байт 128/256 байт 128/256 байт
Глубина FIFO DMA канал 1/0 128/64 128/64 256/256 256/256
Конструктивное исполнение PQFP-208 PQFP-176 PBGA-225 FPBGA-256 PBGA-272
Компоненты и технологии, № 9'2003
Рис. 2. Сопряжение !ЗЛ-устройства с шиной РС1 при помощи контроллера РС!-!3А-001 фирмы 133
Рис. З. Структурная схема контроллера STP2003QFP
и способен нормально взаимодействовать с аудиокодеками, контроллерами DMA, скоростными FIFO и др. микросхемами высокой интеграции.
Oxford
Целую серию недорогих контроллеров-таргетов для шины PCI, оснащенных стандартными параллельными и последовательными портами, производит английская фирма Oxford. Некоторые из них имеют только последовательные и параллельные порты, но не имеют дополнительной (локальной) шины. Другие имеют и то и другое. Встроенные порты способны работать с высокими скоростями передач (от 15 до 60 Мбайт/с) и могут сопрягаться с инфракрасными приемопередатчиками стандарта IrDA. Параллельные порты и ISA-подобная дополнительная шина позволяют подключать ранее разработанные платы с минимальными переделками или вообще без них. Основные характеристики выпускаемых контроллеров сведены в таблицу 3.
Все контроллеры имеют встроенный FIFO глубиной до 128 байт, позволяющий достигать высоких скоростей обмена по шине без увеличения загрузки основного процессора. Последовательные асинхронные приемопередатчики программно настраиваемы и могут работать как с 9-разрядными так и с 8-, 7-, 6-и 5-разрядными фреймами. Управляющие сигналы дополнительной шины позволяют подключать ее к микроконтроллерным интерфейсам интеловских и мотороловских чипов.
Не отстают от крупнейших западных компаний и их восточные конкуренты. Так фирма Winbond, например, предлагает чипсет
Таблица 3
из двух микросхем W83628F и W83629D, которые вместе представляют собой полный мост между шинами PCI и ISA. Чипсет имеет встроенный канал DMA и способен работать с тремя приборами ISA.
Tundra
Компания Tundra Semiconductor Corporation, ранее известная как Newbridge Microsystems, выпустила мостовой кристалл PCI-VME 32/64 Universe II (CA91C142-xxCE), который позволяет без особых проблем выполнить любой PCI-компьютер в стандарте VME. Такой чип позволяет разрабатывать крейт-контроллеры в стандарте VME без излишних интеллектуальных напряжений путем встраивания готовых компьютерных плат на базе микропроцессоров фирмы Intel или Motorola в конструктив евромеханики. Достаточно взглянуть на структурную схему (рис. 4) современной VME/Pentium-одноплатки, чтобы понять, что в сущности архитектурно она отличается от «стандартной» РС/АТ-машины только механическим форматом и наличием мостового кристалла PCI-VME64.
Со стороны компьютерного узла контроллер представляет собой устройство сопряжения с шиной PCI 64 бит/25-33 МГц, который может работать и как таргет, и как мастер (способный работать в режиме DMA). Чип оснащен памятью типа FIFO, что позволяет достигать скорости передачи в 60-70 Мбайт/с. Структурная схема контроллера CA91C142-xxCE представлена на рис. 5.
Со стороны 64-разрядной шины VME этот высокопроизводительный чип выступает как мастер, исполнитель и прерыватель. Он может адресоваться к остальным модулям крейта в режимах A16/A24/A32 и исполнять обычные операции чтения и записи, «только адрес», а также команды «чтение-модифика-ция-запись» и блочные пересылки. Вообще же сопряжение этих двух интерфейсов является непростой задачей, так как возможности передач в сопрягаемых шинах очень значительно различаются. Контроллеру приходится готовить транзакции, используя для этих целей встроенные FIFO. Если разрядность шины данных на стороне VME отличается от 32, то контроллер выполняет одну передачу по каналу PCI как ряд пересылок по VME, либо собирая данные в одно слово, либо наоборот, разбивая пересылаемые данные на 2 или больше частей. Генерируемые контроллером коды адресных модификаторов являются производными от 32-разрядной адресации на шине PCI. Микросхема производится в корпусах BGA с 313 или 361 выводом. ИС может использоваться не только как мастер на стороне VME, но и как исполнитель (однако использование его в этой функции представляется нерациональным и дорогостоящим).
Наименование контроллера
OX16PCI 954 OX16PCI 952 OXCB 950 OX12PCI 840 0X9160 OX9162
Число встроенных каналов 11А1?Т 4 2 1 - - -
Встроенный параллельный. порт + + - + + +
Наличие дополнительной шины + - - + + +
Конструктивное исполнение 160 TQFP 128 TQFP 100 TQFP 100 PQFP 160 TQFP 128 TQFP
Компоненты и технологии, № 9'2003
і?
Processor
Memory
PMC
Connection
Processor Bus
Processor-to-PCL Bridge
I/O
Controller
PCI Bus
32-bit/64-bit Data 33 MHz
Universe I
VMEbus
Рис. 4. Структурная схема контроллера VME на базе процессора Pentium и кристалла Universe II фирмы Tundra
DMA к
5
>
D
Рис. 5. Контроллер сопряжения интерфейсов VME-PCI
S. Контроллеры для шины USB
Если разрабатывается устройство, которое должно подключаться к компьютеру, а у вас нет свободных последовательных (COM) и параллельных (LPT) портов или скорость их работы вас не устраивает, то вам необходимо познакомиться с шиной USB. Если предполагается обработка больших объемов данных, но ваше устройство не может быть встроено в компьютер, то освоение интерфейса USB — ваша главная задача.
Как уже отмечалось в этой статье, сегодня шина USB является, пожалуй, наиболее перспективным стандартом с точки зрения подключения пользовательских устройств к компьютеру. Прошло то время, когда журналисты переводили USB как Useless Serial Bus — «бесполезная последовательная шина». Скоростные характеристики интерфейса позволяют работать с самыми высопроизво-дительными приборами. Кроме скорости и относительной простоты подключения, использование именно этого шинного стандарта дает разработчику и другие важные преимущества. Например, снимаются ограничения на габаритные размеры печатной платы, так как подключаемая электроника может размещаться за пределами корпуса компьютера. Снимаются также ограничения по потребляемой мощности, если, конечно, плата не использует питание, предоставляемое кабельными линиями USB. Этот интерфейс очень удобен, когда вы хотите подклю-чать-отключать устройство без отключения компьютера.
На данный момент существует множество контроллеров USB и их можно группировать самыми различными методами. Например, по наличию встроенных стандартных интерфейсов (например, с последовательным или параллельным интерфейсом; последний тоже может быть различным: мультиплексированная или раздельная шина адресов и данных).
Можно подразделять по типу встроенного микроконтроллерного ядра. Чаще всего используется ядро MCS51, причем микроконтроллер может обладать типичным комплектом аппаратной периферии (UART, SPI, I2S и т. д.). А можно группировать по готовой
встроенной функции (контроллер сканера, мышки, канала Ethernet, клавиатуры, RS232 или LPT).
Здесь мы кратко рассмотрим наиболее популярные микросхемы лидеров мирового рынка электронных компонентов.
Atmel
Фирма Atmel в 2003 году начала продажи контроллеров интерфейса USB 2.0 с ядром MCS51. Контроллеры AT89C5131 и AT89C5132 предназначены для встраиваемых применений, обладают Flash-памятью программ (32 и 64 кбит соответственно) и относятся к контроллерам полноскоростной версии (Full-speed), то есть способны выполнять передачи по шине USB на скорости вплоть до 12 Мбайт/с в изохронном режиме и режиме bulk. В МК реализована функция самопрограммирования, позволяющая вносить изменения в проект удаленно через интерфейс USB или UART.
AT89C5131 является контроллером общего назначения, оснащен интерфейсом клавиатуры, 1 кбайт EEPROM, SPI и предназначается для встраивания в считыватели штрих-кодов, клавиатуры и т. п.
AT89C5132 имеет интерфейсы IDE/ATAPI для HDD, CD/DVD и CompactFlash, MultiMediaCard, DataFlash, Nand Flash и SmartMediaCard. AT89C5132 также поддерживает драйвер светодиодного дисплея, интерфейс ЖКИ, 10-разрядный АЦП для регулирования напряжения батареи, а также узлы для записи голосовых сообщений. Предполагается, что он найдет применение в устройствах контроля доступа на смарт-картах, устройствах чтения-записи Flash-card и Flash-дисков, различных аудиопроигрывателях, фотокамерах, а также в устройствах обработки изображений и других периферийных приборах, требующих сложной обработки и высоких скоростей передачи данных.
Выпускается полный комплект средств разработки, включая внутрисхемные эмуляторы, стартовые наборы разработчика, компиляторы. Кристалл AT89C5131 доступен в корпусах MLF/QFN48, SO28, VQFP64 и PLCC52, AT89C5132 — в корпусе VQFP80; оба кристалла выпускаются в индустриальном температурном диапазоне.
Atmel извещает также о подготовке к выпуску полноскоростного контроллера AT43USB370, обладающего функциональными способностями хоста для USB2.0. Таким образом, фирма предоставляет своим клиентам возможность производить полный спектр приборов, работающих через современный интерфейс USB, начиная от периферийных устройств и заканчивая встраиваемым в компьютер контроллером-хостом.
AT43USB370 обладает всеми необходимыми качествами, которые предусматриваются стандартом применительно к хосту. Он выполнен в архитектуре сдвоенного 32-разрядного RISС-процессора и имеет все необходимое для исполнения любой функции интерфейса: стек шины, драйвер хаба и основные блоки для построения драйверов USB как для хоста, для хаба, так и для исполнительного прибора. Универсальный интерфейс процессора в сочетании с функцией DMA и сдвоенным буферным блоком памяти типа FIFO позволяет легко адаптироваться к интерфейсу любого универсального процессора, достигая при этом максимальных скоростей передачи для всех возможных типов передач данных и векторов прерывания.
При работе в режиме хоста AT43USB370 может подключаться к USB-хабу для поддержки или расширения числа подключаемых приборов и устройств. При этом никаких дополнительных драйверов не требуется.
AT43USB370 способен работать как полно-сткоростной (до 12 Мбайт/с), так и как низкоскоростной (до 1,5 Мбайт/с) прибор и поддерживает либо одну функцию управляющего устройства, либо 6 портов исполнителей.
AT43USB370 выполнен в 100-pin TQFP-корпусе. Доступен комплект средств для разработки и отладки плат и программ клиента (development kit) AT43DK370.
Еще один сложный и интересный контроллер Atmel — AT91RM920.
Микроконтроллер основан на процессоре ARM920T и способен работать с частотой 180 МГц, достигая при этом производительности 200 MIPS. Чип располагает 16 кбайт данных и такой же памятью программ, контролируемыми специальным блоком управления памятью. Интерфейс внешней шины
Компоненты и технологии, № 9'2003
(External Bus Interface) поддерживает взаимодействие с синхронной динамической памятью (SDRAM), статической памятью, пакетные пересылки с Flash-памятью и смарт-картами.
Высокопроизводительный микроконтроллер имеет развитые средства периферийного управления:
• Усовершенствованный тактовый генератор и контроллер управления питанием на шине USB.
• Два встроенных генератора с фазовой автоподстройкой частоты.
• RTC — часы реального времени с тревожным прерыванием.
• Контроллер канала Ethernet MAC 10/100 Base-T с интерфейсом MII или RMII.
• Контроллер мультимедийных карт (MCI).
• Периферийный контроллер DMA на 20 линий с FIFO на 28 байт;
• Приборный порт с приемо-передатчиком и встроенным конфигурируемым FIFO на 2 кбайт.
• 4 32-разрядных контроллера ввода-вывода, способные работать с 122 программно задаваемыми внешними линиями.
• 4 стандартных USART и Master/Slave Serial Peripheral Interface (SPI).
• Контроллер сдвоенного порта хоста USB2.0 со встроенными приемопередатчиками.
AT91RM920 может работать в режиме крайне низкой тактовой частоты с про-граммно-оптимизируемой потребляемой мощностью. Для удобства работы чип оснащается системным таймером, который включает в себя таймер периодического прерывания и вторичный таймер. Микроконтроллер AT91RM920 имеет усовершенствованный контроллер управления прерываниями, способный обрабатывать запросы с 8-уровневым приоритетом (7 нормальных внешних маскируемых векторных источников прерывания и еще один быстрый).
Cypress
Фирма Cypress — один из лидеров в производстве микроконтроллеров для USB-шины. Она производит большое число разноскоростных контроллеров, отличающихся функциональными возможностями и конструктивным исполнением, что позволяет пользователю подобрать наиболее подходящий для его оборудования вариант. Но фирма выпускает контроллеры не только для периферийной, приборной части компьютера. Если несколько лет назад материнские платы компьютеров оснащались в основном контроллером японской фирмы NEC |jPD720100A, то сегодня самыми известными производителями плат устанавливаются хост-контроллеры Cypress. Одного этого вполне достаточно, чтобы охарактеризовать качество контроллеров, производимых этой фирмой (хост-контроллером USB называют чип, представляющий собой (применительно к рассматриваемой области) своеобразный «мост» между шинами PCI и USB).
Cypress производит контроллеры USB-шины в 5 категориях: хост-контроллеры, хабы и периферийные контроллеры трех видов —
Таблица 4. Низкоскоростные (до 1,5 Мбайт/с) контроллеры Cypress
Тип Оконечных устройств Ядро Объем памяти Тип памяти Портов I/O Отладочная плата
CY7C63001A 2 M8 (8-bit RISC) 4 кбайт EPROM 12 CY3650
CY7C63101A 2 M8 (8-bit RISC) 4 кбайт EPROM 16 CY3650
CY7C63513 3 M8 (8-bit RISC) 8 кбайт EPROM 40 CY3654 + CY3654-PO2
CY7C63413 3 M8 (8-bit RISC) 8 кбайт EPROM 32 CY3654 + CY3654-PO2
CY7C63612 3 M8 (8-bit RISC) 6 кбайт EPROM 16 CY3654 + CY3654-PO2
CY7C63613 3 M8 (8-bit RISC) 8 кбайт EPROM 16 CY3654 + CY3654-PO2
CY7C63231A 2 M8 (8-bit RISC) 3 кбайт EPROM 10+2 CY3654 + CY3654-PO5
CY7C63221A 2 M8 (8-bit RISC) 3 кбайт EPROM 8+2 CY3654 + CY3654-PO5
CY7C63743 3 M8 (8-bit RISC) 8 кбайт EPROM 16+1 CY3654 + CY3654-PO5
CY7C63723 3 M8 (8-bit RISC) 8 кбайт EPROM 10+1 CY3654 + CY3654-PO5
Таблица 5. Высокоскоростные (до 400 Мбайт/с) USB2.0 контроллеры фирмы Cypress
Тип Оконечных устройств Передача данных Ядро Объем памяти Тип памяти Отладочная плата
CY7C68300 4 Bulk Only Transport None 2 кбайт Single-port RAM CY4615
CY7C68013 7 Bulk, Interrupt, Isochronous Расширенное 8051 8 кбайт RAM CY3681
CY7C68001 5 Bulk, Interrupt, Isochronous None N/A N/A CY3682
CY7C68000 N/A Bulk, Interrupt, Isochronous N/A N/A N/A CY3683
ISD-300A1 4 Bulk Only Transport None 8 кбайт Single-port RAM CY4612
Таблица б. Полноскоростные (до 12 Мбайт/с) контроллеры USB
Тип Передача данных Ядро Объем памяти Тип памяти Портов Периферия Отладочная плата
AN2720SC-01 Bulk, Interrupt None 4 кбайт RAM N/A N/A AN2720-RDK
AN2136 Bulk, Interrupt Enhanced 8051 8 кбайт RAM 8 8-bit Databus, GPIO, I2C, Turbo Mode, UART AN2131-DK001
AN2135 Bulk, Interrupt, Isochronous Enhanced 8051 8 кбайт RAM 8 8-bit Databus, GPIO, I2C, Turbo Mode, UART AN2131-DK001
AN2131 Bulk, Interrupt, Isochronous Enhanced 8051 8 кбайт RAM 18 GPIO, I2C, UART AN2131-DK001
CY7C64603 Bulk, Interrupt Enhanced 8051 8 кбайт RAM 16 8-bit Databus, DMA, GPIO, I2C, UART CY3671
CY7C64613 Bulk, Interrupt, Isochronous Enhanced 8051 8 кбайт RAM 40 16-bit Databus, DMA, GPIO, I2C, Memory Expansion Port, UART CY3671
SL11R Bulk, Interrupt, Isochronous CY16 (16-bit RISC) 3 кбайт RAM 32 16-bit Databus, DMA, GPIO, I2C, UART SL11R-DK
CS5954AM Bulk, Interrupt, Isochronous CY16 (16-bit RISC) 3 кбайт RAM 32 16-bit Databus, DMA, GPIO, I2C, UART SL11R-DK
SL11R-IDE Bulk, Interrupt, Isochronous CY16 (16-bit RISC) 3 кбайт RAM 32 16-bit Databus, DMA, GPIO, I2C, UART SL11RIDE-DK, SL11RIDE-COMBO-DK
SL811S Bulk, Interrupt, Isochronous None 256 байт SRAM N/A N/A SL811S-DK
CY7C64113 Bulk, Interrupt, Isochronous M8 (8-bit RISC) 8 кбайт EPROM 36 DAC Port, GPIO, HAPI, I2C, Programmable Drive CY3654 & CY3654-P03
CY7C64013 Bulk, Interrupt, Isochronous M8 (8-bit RISC) 8 кбайт EPROM 19 GPIO, HAPI, I2C, Programmable Drive CY3654 & CY3654-P03
низкоскоростные, полноскоростные и высокоскоростные (в общей сложности около 40 разновидностей). Каждая категория имеет несколько конкретных вариантов исполнения, отличающихся функциональными возможностями, потребляемой мощностью, напряжениями питания и др. Некоторые из них приведены в таблицах 4-6.
Контроллеры USB не производят, кажется, только ленивые. В одной статье рассмотреть все множество невозможно, так как не позволяет формат статьи, но несколько слов сказать все-таки нужно.
Один из мировых гигантов в электронике, фирма Philips производит свыше 20 наименований микросхем, предназначенных для передачи данных по линиям интерфейса USB. Среди них есть и сравнительно простые устройства типа шинных приемо-передатчи-ков, но есть и хост-контроллеры, и хабы, и периферийные устройства. Причем произ-
водятся сложные ИС, дополненные параллельными и последовательными интерфейсами, полноскоростные и высокоскоростные. Некоторые разновидности выпускаются в нескольких видах конструктивного исполнения и имеют различные диапазоны питания.
Интересные компоненты предлагает фирма Future Technology Devices Intl Ltd. (www.ftdichip.com/FTProduct.htm) из Великобритании. Они позволяют без особых трудностей произвести передачу данных из последовательных интерфейсов RS232/422/485 или параллельного 8-битного интерфейса в шину USB. Фирмой выпускается 5 типов приборов различного уровня сложности. Их применение позволяет связать удаленное от компьютера устройство с машиной при помощи небольшого адаптерного блока, выполняющего преобразование сигналов из одного интерфейса в другой.
Компоненты и технологии, № 9'2003
При этом нет необходимости в глубоких знаниях протокола ШВ, так как он (протокол) выполняется микросхемами автоматически. Все компоненты относятся к периферийным контроллерам, за исключением одного (РТ8Ш00ЛХ), который способен выполнять функции хаба.
Нечто подобное делает фирма Cygnal, широко известная своими высокоскоростными контроллерами МС851. Выпускаемый ею чип СР2101 позволяет связать устройства, имеющие канал И8232, с шиной ШВ. Контроллер характеризуется высокой производительностью, выполняя передачи со скоростью от 300 до 921,6 кбит/с, имеет встроен-
ную EEPROM на 512 байт и обладает крошечными размерами (5x5 мм). МММ
Литература
1. А. Рыбаков. Эволюция стандарта PCI для жестких встраиваемых приложений. http:// www.osp.ru/os/1997/05/52_print.htm.
2. Краткие описания интерфейсов: http:// www.spline.ru/SplineRazdel_1.htm.
3. Что такое стандарт VXI? http://www.vxi.ru/ common/vved.htm.
4. И. Каршенбойм. Контроллеры Fast Ethernet для встроенных применений. // Компоненты и Технологии. 2003. № 5.
5. В. Стрижов. Самый простой интерфейс для PCI. // Компоненты и Технологии. 2000. № 1.
6. В. Капитанов, В. Мистюков, С. Довгань. Контроллер PCI интерфейса на ПЛИС фирмы Xilinx // ChipNews. 2000. № 2.
7. И. Миронов. Цифровые СБИС производства AMCC. http://www.atel.ru/articles/ amcc_ic.htm.
8. М. Гук. Шина SCSI. http://www.neva.ru/ mgook/art/mg-scsi.htm.
9. М. Гук. Интерфейсы ПК. Справочник. СПб: Питер Пресс. 1999.
10. Шина PCI 2.2. http://www.atel.ru/pci.htm.
11. Шина USB 2.0. http://www.atel.ru/usb.htm.