Аппаратные интерфейсы ПК

         

Разработка собственных устройств USB


Несмотря на довольно сложный протокол обмена, интерфейсом USB можно снаб­дить и периферийные устройства собственной разработки. Для этого выпускается широкий ассортимент микросхем, со стороны USB различающихся скоростями обмена (LS, FS или HS), числом и возможностями конечных точек (тип передач, размер буфера). Функциональное назначение этих микросхем различно. С пор­том USB выпускаются микроконтроллеры на ядре MCS51, М68НС05, М68НС11 или RISC-архитектуры; они различаются объемом памяти (оперативной и энер­гонезависимой), производительностью, питанием, потреблением. Микроконтрол­леры могут иметь встроенные устройства АЦП/ЦАП, дискретные линии ввода-вывода общего назначения, последовательные и параллельные порты различных типов. Их можно использовать для подключения устройств с любыми интерфей­сами, сигнальных процессоров и т. п. Из этого ассортимента можно выбрать под­ходящую микросхему, на базе которой разрабатываемое устройство будет реали­зовано с минимальным числом дополнительных элементов. К микроконтроллерам прилагаются и средства разработки их встроенного ПО (firmware) — самой сложной части такого устройства. Есть микроконтроллеры с USB, способные работать без программирования энергонезависимой памяти; микроконтроллеры серии EzUSB фирмы Cypress Semiconductor каждый раз загружают свою программу в ОЗУ по шине USB из хост-компьютера в процессе подключения. Конечно, такая гибкость нужна не всегда, и до подключения к компьютеру устройство остается «мертвым».

Есть и периферийные микросхемы — порты USB, подключаемые к микроконтрол­лерам параллельной 8/16-битной шиной данных с обычным набором управляющих сигналов (CS#, RD#, WR#...), линией запроса прерывания и, возможно, сигналами канала DMA. Выпускаются и специализированные преобразователи интерфейсов USB в последовательный (RS-232, RS-422/485) и параллельный, не требующие

106__________________________ Глава 4. Последовательные шины USB и FireWire

программирования (нужно лишь записать в EEPROM идентификатор устрой­ства). Есть и микросхемы USB, сочетающие в себе и функции, и хабы. Все вариан­ты не перечислить, тем более что все время появляются новые микросхемы. Инфор­мацию о них можно найти в Сети (www.cypress.com, www.devasys.com, www.iged.com, www.microchip.com, www.netchip.com, www.motorola.com, www.semiconductor.philips.com, www.natsemi.com, www.intel.com, www.ftdichip.com, www.gigatechnology.com). Немаловажная часть разработки собственных устройств — программное обеспе­чение для хост-компьютера, которое доносит до пользователя всю пользу устрой­ства. В ряде случаев удается воспользоваться готовыми драйверами (например, драйвером виртуального СОМ-порта для преобразователя интерфейса). В других случаях ПО приходится писать самостоятельно, и хорошо, когда изготовитель микросхем с USB заботится о предоставлении инструментальных средств разра­ботки всех частей ПО.



Содержание раздела