Подключение приборных плат к шинам современных компьютеров. Часть 2. Микросхемы для сопряжения плат пользователя с компьютором
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), которые продаются в виде программ, описывающих поведение схемы интерфейса на специализированных языках, таких, как AHDL, VHDL или Verilog. Программы поставляются в кодированном виде и распаковываются фирменным инструментальным пакетом при наличии файла лицензии. В проект покупателя ядро может быть вставлено из библиотеки как символьный элемент с закрытым внутренним содержимым, у которого видны только входы и выходы, но не видна «начинка». Лицензия может стоить от нескольких тысяч до нескольких десятков тысяч долларов в зависимости от сложности ядра и от того, на какой временной период лицензия рассчитана (до$18 тыс. для LogiCORE PCI 64 бит/66 МГц). Лицензия предполагает использование ядер для серийного производства либо для уникальных образцов дорогостоящей техники.
Большим преимуществом такого подхода является значительное сокращение времени разработки всего продукта, удобство отладки проекта, возможность использования свободных ресурсов кристалла в своих собственных целях. (В зависимости от выбранного кристалла, неиспользованными могут оставаться более 60% ресурсов микросхемы. Так, например, микроконтроллер шины PCI разрядностью 64 бит и с системной частотой 66МГц занимает в FPGA Xilinx XCV1000 (свыше 1 млн вентилей), всего 3% от общего объема!) Однако в российских условиях воспользоваться такой методикой может далеко не каждая фирма. Цена IP-ядер для наших производителей неприемлема. Те варианты ядер, которые можно найти в свободном доступе в Интернете — кот в мешке. Работают ли они и какова степень их соответствия требованиям интерфейса — неизвестно. Поэтой причине для российских разработчиков предпочтительнее другой путь: применение специализированных микросхем — контроллеров шин. В статье В. Капитанова, В.Мистюкова, С.Довгань «Контроллер PCI-интерфейса наПЛИС фирмы Xilinx» (ChipNews №2’2000) вкачестве альтернативы предлагается использовать ядро, разработанное специалистами отечественной фирмы «Скан Инжиниринг-телеком». В отличие отзарубежных аналогов, наш «родной» продукт дешевле внесколько раз. В статье приводятся также расчеты, доказывающие, что устройства, содержащие это ядро, выпускаемые даже небольшими тиражами (сотни штук) становятся сравнимы по стоимости сизделием, реализованным на специальных контроллерных микросхемах. Так это на самом деле или нет — вопрос дискуссионный. Желающие могут проверить это опытным путем. Для тех же, кто не желает рисковать ине имеет лишних денег, остается единственный путь — покупка микросхем специализированных микроконтроллеров.
3.2. Специализированные микросхемы (наименьшее количество проблем при высоких функциональных возможностях и низкой стоимости)
Использование таких микроконтроллеров позволяет подключить встраиваемую плату к компьютерной шине PCI или USB без особых хлопот и лишних расходов. Разработчику не нужно тревожиться за выполнение строгих требований спецификации шины со стороны системного интерфейса, поскольку СБИС микроконтроллера обеспечивает гарантированные временные характеристики и основной упор делается на разработку своего конкретного приложения. При этом почти все те преимущества, которые он получил бы, используя IP-cores, остаются. Конечно, логика сопряжения собственной части схемы с выходной шиной микроконтроллера здесь должна выполняться в виде отдельных микросхем, например, PLD или FPGA-чипов. Возможно, в зависимости от применяемого чипа FPGA и особенностей режима работы, может потребоваться или не потребоваться внешний буфер FIFO. Некоторый проигрыш, конечно, есть, и он выражается в большей площади печатной платы, отводимой под интерфейсную часть, в большем числе компонентов, используемых на эти цели, и в соответствующем снижении надежности всей платы в целом. Однако стоимость конечного продукта при таком подходе будет существенно отличаться от стоимости аналогичного, реализованного с применением дорогого ядра.
4. Микроконтроллеры для сопряжения с шиной PCI
По способу управления шиной и возможностям доступа к ресурсам компьютера все контроллеры шины PCI можно разделить на микроконтроллеры-исполнители (таргет, target) и контроллеры, имеющие функцию мастера, ведущего (master). Первые способны выполнять пересылки данных только под управлением основного процессора. Вторые могут сами управлять шиной, контролируя ход и длительность процесса, а также статусные сигналы других устройств. Такие микроконтроллеры способны работать в режиме прямого доступа к памяти компьютера (DMA), поэтому они сложнее и немного дороже, чем контроллеры-исполнители.
Микроконтроллеры различных фирм отличаются также наличием встроенных дополнительных интерфейсов. Некоторые из них имеют интерфейс ISA-подобной шины, облегчающий адаптацию ранее разработанной схемы к новым шинам. Другие транслируют сигналы PCI в некую промежуточную шину, не похожую ни на какие другие, но более удобную, наилучшим образом адаптированную для работы со встроенными приборами. Третьи имеют параллельные или последовательные каналы связи, аналогичные стандартным. Следующие обладают встроенными схемами, обеспечивающими связь с внешним миром по каналу Ethernet или через интерфейс IrDA (инфракрасный канал связи).
Фирм, предлагающих микроконтроллеры шин PCI и USB, можно насчитать десятки. Некоторые из них еще молоды и мало кому известны, другие успешно работают в этой области уже много лет и обрели популярность. Число микросхем контроллеров, производимых всеми ими в совокупности, исчисляется не единицами, а сотнями. Наиболее известны две компании, поставляющие на рынок микроконтроллеры для PCI-интерфейса, — АМСС и PLX (США).
Микроконтроллеры АМСС
Однокристальный микроконтроллер АМСС5320 предназначен для связи встраиваемых приложений с шиной РСI. Он соответствует требованиям стандарта 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. Микроконтроллер может выполнять пересылки в режиме прямого доступа к памяти (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 предназначен для организации сложных систем и способен нормально взаимодействовать саудиокодеками, микроконтроллерами DMA, скоростными FIFO и др. микросхемами высокой интеграции.
Микроконртроллеры Oxford
Целую серию недорогих контроллеров таргетов для шины PCI, оснащенных стандартными параллельными и последовательными портами, производит английская фирма Oxford. Некоторые из них имеют только последовательные и параллельные порты, но не имеют дополнительной (локальной) шины. Другие имеют и то и другое. Встроенные порты способны работать с высокими скоростями передач (от 15 до 60 Мбайт/с) и могут сопрягаться с инфракрасными приемопередатчиками стандарта IrDA. Параллельные порты и ISA-подобная дополнительная шина позволяют подключать ранее разработанные платы с минимальными переделками или вообще без них. Основные характеристики выпускаемых микроконтроллеров сведены в таблицу 3.
Все микроконтроллеры имеют встроенный FIFO глубиной до 128 байт, позволяющий достигать высоких скоростей обмена по шине без увеличения загрузки основного процессора. Последовательные асинхронные приемопередатчики программно настраиваемы и могут работать как с 9-разрядными так и с 8-, 7-, 6- и 5-разрядными фреймами. Управляющие сигналы дополнительной шины позволяют подключать ее к микроконтроллерным интерфейсам интеловских и мотороловских чипов.
Не отстают от крупнейших западных компаний и их восточные конкуренты. Так фирма Winbond, например, предлагает чипсет из двух микросхем 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 этавысокопроизводительная микросхема выступает как мастер, исполнитель и прерыватель. Он может адресоваться к остальным модулям крейта в режимах А16/A24/A32 и исполнять обычные операции чтения и записи, «только адрес», а также команды «чтение-модификация-запись» и блочные пересылки. Вообще же сопряжение этих двух интерфейсов является непростой задачей, так как возможности передач в сопрягаемых шинах очень значительно различаются. Контроллеру приходится готовить транзакции, используя для этих целей встроенные FIFO. Если разрядность шины данных на стороне VME отличается от 32, то микроконтроллер выполняет одну передачу поканалу PCI как ряд пересылок по VME, либо собирая данные в одно слово, либо наоборот, разбивая пересылаемые данные на 2 или больше частей. Генерируемые микроконтроллером коды адресных модификаторов являются производными от 32-разрядной адресации нашине PCI. Микросхема производится в корпусах BGA с 313 или 361 выводом. ИС может использоваться не только как мастер на стороне VME, но и как исполнитель (однако использование его в этой функции представляется не рациональным и дорогостоящим).
Микроконтроллеры для шины 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 кбайт данных и такой же памятью программ, контролируемыми специальным блоком управления памятью. Интерфейс внешней шины (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 µPD720100A, то сегодня самыми известными производителями плат устанавливаются хост-контроллеры Cypress. Одного этого вполне достаточно, чтобы охарактеризовать качество микроконтроллеров, производимых этой фирмой (хост-контроллером USB называют чип, представляющий собой (применительно к рассматриваемой области) своеобразный «мост» между шинами PCI и USB).
Cypress производит контроллеры USB-шины в 5 категориях: хост-контроллеры, хабы и периферийные контроллеры трех видов — низкоскоростные, полноскоростные и высокоскоростные (в общей сложности около 40 разновидностей). Каждая категория имеет несколько конкретных вариантов исполнения, отличающихся функциональными возможностями, потребляемой мощностью, напряжениями питания и др. Некоторые из них приведены в таблицах 4–6.
Микроконтроллеры USB не производят, кажется, только ленивые. В одной статье рассмотреть все множество невозможно, так как не позволяет формат статьи, но несколько слов сказать все-таки нужно.
Один из мировых гигантов в электронике, фирма Philips производит свыше 20 наименований микросхем, предназначенных для передачи данных по линиям интерфейса USB. Среди них есть и сравнительно простые устройства типа шинных приемо-передатчиков, но есть и хост-контроллеры, и хабы, и периферийные устройства. Причем производятся сложные ИС, дополненные параллельными и последовательными интерфейсами, полноскоростные и высокоскоростные. Некоторые разновидности выпускаются в нескольких видах конструктивного исполнения и имеют различные диапазоны питания.
Интересные компоненты предлагает фирма Future Technology Devices Intl Ltd. (www.ftdichip.com/FTProduct.htm) из Великобритании. Они позволяют без особых трудностей произвести передачу данных из последовательных интерфейсов RS232/422/485 или параллельного 8-битного интерфейса в шину USB. Фирмой выпускается 5 типов приборов различного уровня сложности. Их применение позволяет связать удаленное от компьютера устройство с машиной при помощи небольшого адаптерного блока, выполняющего преобразование сигналов из одного интерфейса в другой. При этом нет необходимости в глубоких знаниях протокола USB, так как он (протокол) выполняется микросхемами автоматически. Все компоненты относятся к периферийным микроконтроллерам, заисключением одного (FT8U100AX), который способен выполнять функции хаба.
Нечто подобное делает фирма Cygnal, широко известная своими высокоскоростными микроконтроллерами MCS51. Выпускаемый ею чип СР2101 позволяет связать устройства, имеющие канал RS232, с шиной USB. Контроллер характеризуется высокой производительностью, выполняя передачи со скоростью от 300 до 921,6 кбит/с, имеет встроенную EEPROM на 512 байт и обладает крошечными размерами (55 мм).
Литература
- А. Рыбаков. Эволюция стандарта PCI для жестких встраиваемых приложений. http://www.osp.ru/os/1997/05/52_print.htm.
- Краткие описания интерфейсов: http://www.spline.ru/SplineRazdel_1.htm.
- Что такое стандарт VXI? http://www.vxi.ru/common/vved.htm.
- И. Каршенбойм. Контроллеры Fast Ethernet для встроенных применений. // Компоненты и Технологии. 2003. № 5.
- В. Стрижов. Самый простой интерфейс для PCI. // Компоненты и Технологии. 2000. № 1.
- В. Капитанов, В. Мистюков, С. Довгань. Контроллер PCI интерфейса на ПЛИС фирмы Xilinx // ChipNews. 2000. № 2.
- И. Миронов. Цифровые СБИС производства AMCC. http://www.atel.ru/articles/amcc_ic.htm.
- М. Гук. Шина SCSI. http://www.neva.ru/mgook/art/mg-scsi.htm.
- М. Гук. Интерфейсы ПК. Справочник. СПб: Питер Пресс. 1999.
- Шина PCI 2.2. http://www.atel.ru/pci.htm.
- Шина USB 2.0. http://www.atel.ru/usb.htm.