Почти все изготовители чипов производят элементы с интегрированным USB-соединением, так как USB-контакт можно найти почти в каждой области электроники. Соответственно и выбор многообразен, если не сказать — необозрим. В связи с этим выбор правильной микросхемы для собственных приложений не так-то легок, Несомненно, для этого нужно интересоваться и заниматься темой микроконтроллеров (ядром многих микросхем USB), что раньше, при последовательном или параллельном интерфейсе персональных компьютеров, было необходимо лишь условно. К тому же существует еще множество приложений для последовательных и параллельных интерфейсов ПК, которые в будущем должны будут заменены USB и нуждаются в простом соединении.
Если кто-то хочет иметь USB-соединение без (явно) интегрированного микроконтроллера, то для собственных экспериментов в расчет могут быть взяты лишь микросхемы USB тех изготовителей, которые предлагают USB-koh-вертер для последовательного или параллельного интерфейса,:
□ Profilic Technologie (технология Profilic) PL2303X— этот узел является конвертером USB/последовательный порт для USB 1.1 в корпусе SSOP-28. Дескрипторы прочно вмонтированы во внутреннем ПЗУ (ROM— Read Only Memory). Для собственного РГО или ID вендора, конечно же, понадобится внешнее EEProm, которое может быть подключено по двухпроводному соединению. Приложения ограничены сигнальными линиями последовательного интерфейса. Версия PL2303HX RevD имеет OTP-ROM (One time Programmable) и должна делать возможным использование последовательных сигналов в качестве 8 бит I/O (ввод/вывод);
□ Silicon Labs СР2102/103— в противоположность микросхеме Profilic Silicon Labs предлагает интегрированное EEProm с 1024 байтами в QFN-корпусе и 23 штырьковыми выводами для USB 2.0 Full Speed;
О MOSCHIP semiconductor MSC7820— MCS7820, находящийся в LQFP-корпусе с 48 штырьковыми выводами, поддерживает два последовательных интерфейса и в то же время передачу данных SIR-IrDA (инфракрасный), а также USB 2.0. Внешнее EEProm может быть подключено по двум линиям I2C;
О FTDI—компания FTDI предлагает множество микросхем USB для эмуляции последовательного и параллельного интерфейсов. Так называемый режим Bit Bang Mode, который делает микросхему довольно интересной для других приложений, в своих первых версиях задумывался как простое дополнение программирования/соединения FPGA. FTDI свела воедино возможности преобразования из USB в другие последовательные интерфейсы (как последовательных интерфейсов ПК) в так называемой области MPSSE (Multi-Protocol Synchronous Serial Engine). При помощи режима Bit Bang микросхема FT232R дала простор другим приложениям без дополнительного микроконтроллера;
□ MAXIM — фирма Maxim со своими Мах3421 и Мах3420 предлагает две интересные микросхемы USB, которые имеют два прямых соединения микроконтроллера с преобразователем от USB 2.0 (Full Speed) auf SPI. Max3421 поддерживает изохронную передачу данных. Контроллер находится в TQFP-корпусе с 32 штырьковыми выводами. Помимо интерфейса SPI он имеет восемь других входов и выходов. Микросхема подготовлена в качестве USB-хоста для USB-OTG. Так как не поддерживается последовательный интерфейс ПК, то микросхемы могут открываться без дополнительного драйвера USB непосредственно через USB-драйвер Windows со стеком.
USB-флэш-адаптер и описание
Это аппаратное обеспечение изначально было разработано для последовательного SPI-программирования семейства микроконтроллеров Atmel-AT89LP (рис. 3.1). Литературу и информацию для заказа вы сможете найти на сайте www.mimikro.de1.
Адаптер со стороны выхода имеет 10-полярный контакт, который, в зависимости от использования, разведен последовательно или параллельно (см. рис. 2.3 и 2.4).
Если смотреть сверху и направить USB-штекер от корпуса, то выводы 1 и 2 (GND) лежат на правой стороне: штырьковый вывод 1 в направлении чипа
U SB-контроллера, а штырьковый вывод 2 — в направлении нижнего края платы (рис. 3.2).
Монтаж FTD232R очень прост. Сопротивления от Rl до R8 в сигнальных линиях составляют 256 Ом и понижают ток при возможном коротком замыкании.
Через FET1 и перемычку JP_Mcc на штырьковый вывод 4 штекера проводится напряжение USB 5 В. Как только подключенный компьютер переключается в режим Standby (спящий режим), FET1 констатирует, что USB-договоренности сохраняются, и потребление тока по USB соответственно незначительно. R10 и С7 отвечают за то, чтобы включение происходило плавно.
С4 и С6 имеют соответствующую емкость в 100 мкФ, С5 имеет значение в 3,3 мкФ. С2 и СЗ (каждая по 22 пФ) служат уменьшению мешающих воздействий.
Ферритовый сердечник (FB — Ferritkern) в напряжении питания VccUSB — это рекомендация производителя FTDI при чувствительности к помехам или повреждениям.
Штырьковый вывод 10 штекера ISP (четырехполярный штекер для плоского ленточного кабеля) проложен через перемычку JP_DDA на D4 и примонти-рован. Список элементов USB-адаптера приведен в табл. 3.1.
Таблица 3.1
Элемент | Значение | Описание |
С1 | ЮОп | C0805 |
С2 | 22р | C0805 |
СЗ | 22р | C0805 |
С4 | 3,3 мкФ | C1206K |
С5 | 10п | C0805 |
С6 | ЮОп | C0805 |
G7 | ЮОп | C0805 |
С8 | 22р | C0805 |
D1 | ВАТ42ММ | MINIMELF |
FB | FB | R1206 |
FET1 | IRLML6402 | SOT23 |
IC1 | FT232RL | SSOP28 |
ISP | 2X05Pinhead | |
JPJ3DA | Pinhead | |
JP.VCC | Pinhead | |
LED1 | CHIPLED | _0805 |
R1 | 256 | R0805 |
R2 | 256 | R0805 |
R3 | 256 | R0805 |
R4 | 256 | R0805 |
R5 | 256 | R0805 |
R6 | 256 | R0805 |
Таблица 3.1 (окончание)
Элемент | Значение | Описание |
R7 | 256 | R0805 |
R8 | 256 | R0805 |
R9 | 390 | R0805 |
R10 | 1К | R0805 |
USB | PN87520 |
Внимание!_
При экспериментировании к порту USB 2.0 без использования USB-хаба должен быть подключен только USB-адаптер.
Постарайтесь по возможности браться только за края USB-платы. Иначе, при определенных условиях, вы можете разрушить USB-адаптер за счет только одних статических разрядов!
Когда вы вставляете адаптер, вы увидите короткую вспышку светодиода LED1.
Дополнительная плата
На дополнительной плате размещено большинство элементов для дальнейших экспериментов. Платы напрямую связаны с USB-адаптером. Панель ИС для 8 сигнальных проводов ввода/вывода служит в качестве коммутационной панели.
На плате находится операционный усилитель и конструктивные элементы для простого аналого-цифрового преобразователя (АЦП). При помощи перемычки JP1 на плате вы можете деактивировать питающее напряжение для аналоговой части (рис. 3.3). Щтырьковые выводы 1, 2, 3 и 6 панели ИС непосредственно соединены между собой (рис. 3.4).
Список (структурных) элементов дополнительной платы (рис. 3.5):
□ CI 100nC-EU025-024X044
□ С2 100nC-EU025-024X044 О СЗ 100 uF CPOL-EUE2.5-7
□ С4 0,47 uF CPOL-EUE2.5-5
□ IC1 LM358NDIL08
□ JP1 1X02 Pinhead + Jumper
□ PI 100К Linear
□ Rl 100kR-EU_0204/7 О R2 39K R-EU_0204/7
□ R4 10KR-EU_0204/7
□ R5 10KR-EU_0204/7
□ SI 20Pin, DIL20 gedrehter Sockel
□ Tl BC557 A T092 OT2BS170TO
□ USB 2X05
Информацию о заказе заготовки для дополнительной платы вы можете найти в Интернете по ссылке www.mimikro.de.
Другие используемые в работе с книгой составляющие элементы:
□ двойной светодиод (Duo-LED) 3 или 5 мм — (2-полярНый);
□ три светодиода 5 мм (красный, зеленый, 1 желтый); О LDR;
□ фотодиод BPW 40; О NTC 0,2-4K7 (4700); Й сопротивление 1 К; О сопротивление 100 К; О сопротивление 27 Ом;
О электролитический конденсатор (Elko) 100 мкФ;
□ 24C16-EEProm;
□ диод ВАТ 42;
□ соединительный провод;
□ соединение 10/10 от USB-адаптера к дополнительной плате.
М23213-модуль от компании FTDI
Компания FTDI Предлагает собранный модуль с DIP-панелью (панель с двухрядным расположением штырьковых выводов) с 24 штырьковыми выводами, которая помимо прочего может быть использована как коммутационная панель. Этот модуль может быть приобретен у различных компаний (кроме FTDI):
О АК Modul Bus на http: // www.ak-modul-bus.de;
О электронный магазин на http: //www.elmikro.com/de/ft232r.htmI;
□ Farnell на http: //at.farnell.com/jsp/search/productdetaiI.jsp?sku=l 146036;
□ AO Unitronik на http: // pSeTe.typoSserver.info/ftdi-r.O.html1.
Модуль UM232R предназначен для подключения DIP-панели и делает доступными все последовательные линии данных и линии с квотированием FT232R. С этими модулями шинные и самопитаемые (Self-Powered) конфигурации возможны наряду с присоединениями 5 и 3,3 В к микроконтроллерам с последовательным интерфейсом (модуль UU232 на рис. 3.6).
Примечание_*__
На плате нет конвертера уровня RS232.
Имеются и другие модули со структурным элементом FT-232R, как, например, модуль MM232R для последовательного интерфейса, модуль UC232R (ChiPi) в штекере DB9 или кабельный адаптер TTL232R с FT232R в USB-штекере (вид сверху на рис. 3.7 взят из документации FTDI UM232R, электрическая схема FTDI для модуля UM232R на рис. 3.8).
Внутренняя структура микросхемы FT232R от FTDI
Функциональные блоки FT232R представлены на рис. 3.9.
Как уже упоминалось ранее, используемый в книге FTDI-FT232R-кoнтpoллep эмулирует последовательный интерфейс для USB-подключения.
Четыре входа
Сигнальные линии D- и D+ находятся на левой стороне и именуются USBDP и USBSM.
FT232R имеет внутренний стабилизатор напряжения 3,3 В, который напрямую соединен с Vcc, напряжением питания USB.
Выходы
Выходы на правой стороне являются сигналами последовательного интерфейса (табл, 3.2).
Таблица 3.2
Последовательный сигнал | Управление в качестве | Bit Bang | ||
TxD | выход | отправка данных | DO | вход-выход |
RxD | вход | прием данных | D1 | вход-выход |
RTS/ | выход | D2 | вход-выход | |
CTS/ | вход | D3 | вход-выход | |
DTR/ | выход | D4 | вход-выход | |
DSR/ | вход | D5 | вход-выход | |
DCD/ | вход | D6 | вход-выход | |
Rl | вход | D7 | вход-выход |
Эти восемь сигнальных линий выведены на соединительный штекер USB-флэш-адаптера. Сигналы могут быть использованы также в так называемом режиме Bit Bang контроллера FTDI-FT232R, тогда их следует пронумеровать от D07 до D7 (см. рис, 2.3 и 2.4).
Указание для электронщиков__
Входы и выходы имеют внутренние pull-up-сопротивления от 200 кОм к напряжению питания, каждый из которых при использовании в качестве входа становится активным.
Имеется также еще пять других сигналов CBUS, от CBUS0 до CBUS5. CBUS 1 управляет работой светодиодов на плате USB, CBUS 3 — внешним напряжением питания.
Функции микросхемы FT232R
В блок-схеме на рис. 3.9 можно увидеть множество функциональных блоков:
О USB-Transceiver (USB-приемопередатчик)— соединение с дифференциальными линиями данных USB D+ и D-. Этот функциональный блок имеет сопротивления для того, чтобы идентифицировать микросхему FT232R в качестве Full-Speed-устройства (с полной скоростью).
Из дифференциальных данных подготавливаются данные для USB-DPLL и для SIE (Serial Interface Engine — механизм последовательного интерфейса);
□ USB-DPLL — синхронизирует поток данных USB с SIE;
О Serial Interface Engine (SIE) — из последовательного потока данных USB снова образуются параллельные данные для дальнейшей обработки. Если отправляется сообщение от микросхемы FT232R к USB, то происходит обратное кодирование, из параллельных данных возникает поток данных USB;
□ USB Protocol Engine — в этой функциональной области подготавливаются команды для последовательного интерфейса, а также обрабатываются запросы команд USB от USB-хост-контроллера;
□ Fifo Tx/Rx буфер— FIFO-буферы контролируются FIFO-контроллером. В FIFO (сокращение от First in — First out) запоминаются данные, благодаря этому можно более быстро обработать и передать несколько байтов;
О UART-контроллер (Universal Asynchronous Receiver and Transmitter, универсальный асинхронный приемопередатчик, УАПП)— это непосредственное устройство вывода для последовательных выходных сигналов. Работая совместно с бод-генератором и FIFO-контроллером, подготавливает сигналы для последовательного интерфейса, а также приходящие сигналы от последовательного интерфейса;
□ бод-генератор — образует, как видно из его названия, скорости передачи в бодах для последовательного интерфейса от 300 бод до 3 Мбод. В режиме Bit Bang параллельные данные выдаются в тактовом импульсе скорости передачи в бодах;
□ внутренний генератор (осциллятор) — образует нее необходимые такты для внутренних функциональных блоков. Внутренне генерируемые частоты от 6, 12, 24 и 48 МГц также могли бы передаваться дальше на CBUS-сигнал;
О EEProm (ЭСППЗУ) — 1024-битовое EEProm сохраняет конфигурационные данные для USB, конфигурации CBUS и другие сведения, такие как PID, VID или серийный номер. От FTI можно получить специальную программу под названием MPROG, с помощью которой можно изменить конфигурацию микросхемы FT232R, а также данные в EEProm.
Пример последовательного подключения микроконтроллера к USB
При помощи FTDI-контроллера можно довольно быстро и без особых затрат преобразовать адаптер из последовательного в USB. Для самой простой передачи сообщений микроконтроллера к USB требуются только сигналы TxD, RxD и заземляющая шина.
Для этого может использоваться также USB-флэш-адаптер. TxD U SB-адаптера (штырьковый вывод 7 соединительного штекера) соединяется с RxD микроконтроллера, a RxD USB-адаптера (штырьковый вывод 6 соединительного штекера) с TxD микроконтроллера. Теперь отсутствует только лишь общее соединение на корпус (соединение с "землей") с штырьковым выводом 2 соединительного штекера (табл. 3.3).
Таблица 3.3
Последовательный сигнал | USB-адаптер | Микроконтроллер | - | |
TxD | штырьковый выход 7 | отправка данных | DO | вход |
RxD | штырьковый вход 6 | прием данных | D1 | выход |
"земля" | штырьковый вывод 2 | D2 | "земля" |
После установки FTDI-драйвера по (виртуальному) com-порту может осуществляться сообщение с микроконтроллером.
Схема на рис. 3.10 показывает не только простое последовательное соединение, но также и то, как микроконтроллер одновременно питается тактом в 12 МГц от микросхемы FT232R на выходе CBUS 0 и PWREN для режима простоя USB.
Согласование уровней RS232/485
Если вы хотите использовать FTDI-чип в качестве конвертера USB для последовательного порта RS232 или 485, следует согласовать уровни. Структурные элементы серии 213 (Sipex SP213ECA, Maxim MAX213CAI или аналоговые устройства ADM213E) содержат необходимые драйверы аппаратного обеспечения RS232 для четырех сигналов отправки и пяти сигналов приема. Эти элементы дополнительно поддерживают Shut Down Mode (режим отключения), таким образом для сохранения USB-договоренностей они могут переводиться в режиме простоя ПК на минимальное потребление электроэнергии (рис. 3.11).
Если требуется только 4 сигнальных линии RXD, TXD, RTS и CTS (не нужна поддержка через режим Suspend), то вы можете использовать преобразователь уровней Мах232 или ST232.
Схема с Мах232 довольно простая (рис. 3.12). Изображенные электролитические конденсаторы имеют емкость 1мкФ (рис. 3.13).
У RS485-nopTOB TxD и RXD передаются как дифференциальные сигналы. Сигнал CBUS2 (TXDEN) активирует драйвер отправителя, CBUS3 (PWREN)— прием данных. Элемент SP481 здесь приведен только для примера, такие же элементы имеются и в устройствах Maxim, и в аналоговых устройствах.
+5V
RTS. TXD. CTS_ RXD_
11 10 12
С1+ | |
v+ | |
Ci- | |
V- | |
С2+ | |
С2- | |
T1IN | T10UT |
T21N | T20UT |
R10UT | RUN |
R20UT | R2IN |
МАХ232 |
Бод-генератор
Для передачи данных у последовательного USB-адаптера особенно важным является настройка скорости передачи в бодах. Принципиальным образом FTDI поддерживает все стандартные скорости передачи в бодах (300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 38400, 115200, 230400, 460800 и т.д.). Скорости передачи в бодах обычно установлены в программе-приложении или в ОС и могут быть настроены при помощи вызова функции ET_SetBaudRate.
Если раньше хотели использовать нестандартные скорости в бодах, нужно было детально разбираться и ориентироваться в генерировании скорости передачи данных и возможных коэффициентах деления. Коэффициенты деления после пересылки скорости в бодах также должны были передаваться при
ПОМОЩИ ВЫЗОВа фуНКЦИИ FT_SetDivisor.
В новых версиях драйверов FTDI этого больше не требуется: достаточно просто ввести скорость передачи (например, 49 000), и драйвер автоматически определяет лучшие настройки.
Чтобы обойти процедуру настройки скорости в бодах (допустим, нужно перенастроить скорость передачи в 115 на 512 К), потребуется файл FTDIPortinf. Там вы найдете запись [FtdiPort232.NT.HW.AddReg]. В записи
HKR ConfigData ,1,01,00,3F,3F,10,27,88/13
каждой скорости передачи сопоставляются два последовательных байта. Пара 10,27 соответствует скорости передачи 300, а 88,13 —- скорости передачи 600 бод, и т. д.
Все стандартные значения для FTDI в руководстве "Aliasing Using the Original Sub-Integer Divisors".
Указание для "микронщика"_
Существует несколько программ, которые используют последовательный порт для программирования микроконтроллеров. При этом выходные сигналы TxD, RTS и DTR обслуживаются непосредственно через (флэш)-программу. Так как обычно USB работает во временных тактах 1 мс, то по сигнальным линиям USB может быть изменена "только" каждая миллисекунда, тогда как при нормальном последовательном интерфейсе это значительно быстрее.
Принципиальным образом в этом случае рекомендуется использовать также конвертер USB/последовательный порт, но передача данных будет со скоростью несколько байтов в секунду.
Литература:
USB в электронике: Пер. с нем. — СПб.: БХВ-Петербург, 2009. — 224 с: ил. + CD-ROM — (Электроника)
0 коммент.:
Отправить комментарий