Компьютерные книги
Главное меню
Главная О нас Добавить материал Поиск по сайту Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Аппаратное обеспечение -> Агуров П.В. -> "Интерфейсы USB. Практика использования и программирования" -> 140

Интерфейсы USB. Практика использования и программирования - Агуров П.В.

Агуров П.В. Интерфейсы USB. Практика использования и программирования — БВХ-Петербург, 2004. — 576 c.
ISBN 5-94157-202-6
Скачать (прямая ссылка): interfeysusbpraktikaispolzovaniya2004.djvu
Предыдущая << 1 .. 134 135 136 137 138 139 < 140 > 141 142 143 144 145 146 .. 168 >> Следующая

USBD_PIPE_HANDLE pipeHandle = NULL;
PURB urb = NULL;
ULONG urbSize = 0;
pipelnfo = ... ; // одна из конечных точек pipeHandle = pipeInfo-
>PipeHandle;
urbSize = sizeof(struct _URB_BULK_OR_INTERRUPT_TRANSFER); urb =
ExAllocatePool(NonPagedPool,urbSize); transferFlags =
USBD__SHORT_TRANSFER_OK;
if (USB_ENDPOINT_DIRECTION_IN(pipelnfo->EndpomtAddress)) transferFlags |=
USBD TRANSFER DIRECTION IN;
456
Часть IV. Создание USB-устройств
// Формирование запроса UsbBuildlnterruptOrBulkTransferRequest( urb,
(USHORT) urbSize, pipeHandle,
NULL,
Irp->MdlAddress, bufferLength, transferFlags,
NULL );
// Выполнение запроса ntstatus = DoCallUSBD(fdo, urb);
if (NT_SUCCESS(ntstatus))
{
Irp->IoStatus.Information =
urb->UrbBulkOrInterruptTransfer.TransferBufferLength;
}
// Освободить память ExFreePool(urb) ;
// Вернуть результат запроса return ntstatus;
}
Глава 15
Использование микросхем FTDI
Должен ли я отказаться от хорошего обеда лишь потому, что не понимаю
процесса пищеварения?
О. Хэвасайд
Компания FTDI предоставляет очень удобный способ подключения интерфейса
USB, позволяющий практически ничего не знать о внутренней организации
USB. Микросхемы FT232 и FT245 представляют собой преобразователи USB в
последовательный и параллельный интерфейсы соответственно. Специальные
драйверы, доступные для различных операционных систем (см. разд. 12.3.6),
организуют в системе обычный последовательный порт.
15.1. Функциональная схема FT232BM
На рис. 15.1 показана функциональная схема FT232BM, Ее основа -
приемопередатчики обоих интерфейсов. Блок UART снабжен полным набором
сигнальных цепей стандарта RS-232, приемопередатчик USB - всего двумя
информационными выводами USBDP и USBDM, образующими двунаправленный канал
передачи данных. Блок последовательного контроллера SIE (SIE, Serial
Interface Engine) преобразует последовательный код в параллельный и
обратно, выполняет процедуры битстаффинга, генерирует (для исходящего
потока данных) и проверяет (для входящего) контрольные коды.
Обработчик протокола USB нижнего уровня формирует ответы на запросы хост-
контроллера (компьютера). Через него же управляют режимом работы UART.
Предусмотрены два FIFO-буфера промежуточного хранения данных на прием и
на передачу. Управление FIFO возложено на соответствующий контроллер.
VCC (3, 13,26)
TXD (25) RXD (24) RTS (23) CJS (22) DTR (21) DSR (20) DCD (19) Rl (18)
TXDEN (16) USBEN (15)
TXLED (12) RXLED (11)
SLEEP (10) PWRCTL(14)
EECS (32) EESK (1) EEDATA(2)
RESET (4) TEST (5) GND (9, 17)
Рис. 15.1. Функциональная схема FT232BM
Глава 15. Использование микросхем FTDI
459
Задающий генератор микросхемы работает от внешнего кварцевого или
керамического резонатора на 6 МГц. Далее его частоту умножают на 8 (до 48
МГц). Тактовую частоту UART получают из 48 МГц в два приема: делением на
16, затем - до нужного значения с помощью программируемого делителя.
Контроллер UART может работать со скоростью от 300 Бод до 2 МБод, однако
фактически достижимая максимальная скорость зависит от применяемой
совместно с FT232BM микросхемы-преобразователя уровней интерфейсных
сигналов.
И Н У 3 ^ ^
О У ^ О S Uq
ш ш > О ь- F ^ х
шь*< < х х > ?
EESK I Г ЕЕОАТА VCC RESET# RSTOUT# 3V30UT гт USBDP USBDM
, О
=FTDI
FT232BM XX YY
V
Л
У
л RXD
33
зззз^тв#
1 I CTS# 3 DTR# 3 DSR* 3 DCD*
? RI# 3 GND
Рис. 15.2. Расположение выводов микросхемы FT232BM
Выводы EECS, EESK, EEDATA (рис. 15.2) микросхемы FT232BM предназначены
для подключения внешней энергонезависимой памяти - микросхемы ЭСППЗУ
АТ93С46, в которой хранят идентификаторы изготовителя (VID) и
персональный (PID), заводской номер изделия и другие данные. Это
необходимо, если по USB с компьютером одновременно связано несколько
устройств на микросхемах FT232BM. Особенно важен серийный номер, т. к.
программный драйвер полагается на его уникальность, ассоциируя тот или
иной виртуальный СОМ-порт с конкретным устройством. Если ПЗУ отсутствует,
к компьютеру можно подключить только одно образующее виртуальный СОМ-порт
устройство.
460
Часть IV. Создание USB-устроиств
Низким уровнем на входе RESET микросхему FT232BM приводят в исходное
состояние. К выводу RCCLK должна быть присоединена RC-цепь, задерживающая
начало работы микросхемы на время, достаточное для "раскачки" кварцевого
резонатора, подключенного к выводам XTIN, XTOUT. Вход TEST используют
только в отладочном режиме. При обычной работе он должен быть соединен с
общим проводом (GND).
Имеется несколько вспомогательных выходов. Высокий уровень на выходе
USBEN сигнализирует о завершении процесса инициализации микросхемы по
USB. Если некоторое время обмена данными не происходит, микросхема
автоматически переходит в "спящий режим", о чем свидетельствует низкий
уровень на выходе SLEEP. Аналогичные уровни на выходах TXLED и RXLED
показывают, что идет соответственно передача или прием данных. Сигнал с
выхода TXDEN предназначен для управления приемопередатчиком интерфейса
Предыдущая << 1 .. 134 135 136 137 138 139 < 140 > 141 142 143 144 145 146 .. 168 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Завалишин Д. "Интернетско-русский разговорник" (Web-программирование)

Заенцев И.В. "Нейронные сети: основные модели" (Web-программирование)

Владимиров А.А. "Wi-фу: «боевые» приемы взлома и защиты беспроводных сетей" (Web-программирование)

Вьейра Р. "SQL Server 2000. Программирование в 2 ч." (Web-программирование)

Веллинг Л.Т. "Разработка web приложений с помощью php и mysql" (Web-программирование)
Авторские права © 2013 ComputersBooks. Все права защищены.

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed