USB в электронике, 2-е издание

USB в электронике, 2-е издание
Автор: Юрген Хульцебош
Год: 2011
ISBN: 978-5-9775-0658-8
Страниц: 215
Язык: Русский
Формат: PDF
Размер: 29 Мб

Download

В книге показано, как с помощью специализированных микросхем USB без интегрированного микроконтроллера создавать различные системы управления и устройства. Рассмотрены основы USB, аппаратное обеспечение (микросхемы, флэш-модули и др.), установка драйверов и разработка программ на Visual Basic. Приведены практические примеры различных устройств от простых (светофор, аварийная сигнализация, устройство для наблюдения за уровнем воды в аквариуме и др.) до более сложных (тестер дистанционного управления, устройство записи EEPROM-памяти, аналого-цифровой преобразователь и др.). Показано, как разработать универсальный интерфейс USB-I2C, осуществить Flash-программирование AT89LP-микроконтроллера через SPI/ISP-интерфейсы и многое другое.

+

Хранение данных в EEPRОМ-памяти

Подключение EEPROM-памяти

Электрическое подключение EEPROM-памяти с последовательным двухпроводным интерфейсом I2C выглядит достаточно просто. Пример для подключения микросхемы EEPROM типа ST24CI6.

SDA — это вывод для передачи данных, SCL— вывод, предназначенный для временной синхронизации, выводы 1 по 3 — выводы для выбора кристалла для этой микросхемы не используются и поэтому подключены к “земле”. WC — вывод для управления записью (Write Control). Если на этот вывод подать напряжение +5 В, он может предотвратить случайную запись или стирание EEPROM-памяти.

Теперь вы, возможно, спросите себя, почему эта схема имеет три, а не два контакта для подключения, тем более что для микросхемы FT232R достаточно контактов RXD и RTS (или DCD)? Кроме того, зачем подключен дополнительный диод (стабилитрон)?

Для реализации последовательного интерфейса 12С нужно иметь всего две сигнальные линии: SDA и SCL.

Многие электронщики испытывают большие трудности при работе с последовательными интерфейсами, потому что они, как правило, пользуются одним лишь осциллографом и не применяют логический анализатор. Осциллограф позволяет регистрировать периодические сигналы, а логический анализатор исследует последовательность битов непериодических, цифровых сигналов. Без анализатора можно проводить измерения в течение нескольких часов или дней. Отдельный неправильный бит может довести разработчика до отчаяния. Однако тем большей оказывается его радость, когда у него все, в конце концов, получится. Другие надеются на то, что кто-нибудь уже выполнил соответствующую разработку, и ищут готовые решения в Интернете. Кроме того, и компания FTDI, изготовитель микросхемы FT232R, предлагает свое решение интерфейса 12С. Этим решением является готовый программный интерфейс, который удовлетворяет нескольким решениям аппаратного обеспечения. Если точно придерживаться предписаниям компании FTDI, то это законченное решение в любом случае будет проще, и вероятно, работающим быстрее. Однако если возникнет проблема (требуется устранить ошибку или вы планируете использовать несколько другой последовательный интерфейс), то не следует ждать поддержки от производителя при планировании малого числа изделий.

Теперь, собственно, нам не хватает только логического анализатора. Вы еще, наверное, не забыли, что при синхронном режиме Bit Bang микросхемы FT232R прежде записи каждого байта сначала читается и сохраняется в буфере чтения предыдущее состояние сигнальных линий. Чтение предыдущего состояния сигнальных линий — это уже своего рода анализатор!

Использование USB для защиты программ от копирования

Путем вызова функции FT_ListDevices можно получить информацию о подключенных в настоящее время FTDl-устройствах, т. е. в данном случае получить описание устройства или серийный номер микросхемы FT232R. Возможно (и разрешается) перепрограммировать описание устройства и серийный номер во внутренней EEPROM-памяти микросхемы. Для этого компания FTDI предлагает специальную программу под названием MPROG.

При приобретении большой партии микросхем FT232R клиент компании FTDI может даже получить собственный идентификатор изделия — PID. В обоих случаях следует изменить FTDI-драйвер; согласование выполняются в inf-файле! Драйвер после изменений должен быть заново установлен или загружен.

Каждая поставляемая компанией FTDI микросхема имеет определенный идентификатор микросхемы (чипа или, иначе, кристалла) (Chip-ID), который является неизменяемым. Этот идентификатор может быть дополнительно закодирован другой информацией, которая хранится в свободной области в EEPROM-памяти микросхемы FT232R. Поэтому эта микросхема хорошо подходит в качестве ключа для защиты от несанкционированного доступа (Dongle), чтобы защитить программное обеспечение от неразрешенного копирования.