Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Интерфейс USB в современных нестандандартных периферийных устройствах - Слизовский Е.В

..pdf
Скачиваний:
136
Добавлен:
24.05.2014
Размер:
1.07 Mб
Скачать

Таблица 2.2

31

Таблица 2.3

32

2.3.3 Совместное использование КР1878ВЕ1 и FT245BM

Для отладки данного комплекта микросхем были изготовлены два функционально завершённых отладочных модуля. Первый – отладочный модуль для м/с КР1878ВЕ1 (рис 2.4), содержащий в себе всё необходимое для функционирования МК: тактовый генератор, цепи сброса и цепи фильтрации пульсаций напряжения питания и все необходимые разъёмы для состыковки с отладочной платой м/с FT245BM и платой датчика. Второй – отладочный модуль м/с FT245BM, также содержащий в себе всё необходимое: ИМС FT245BM, ИМС ЭСППЗУ 93C46,необходимые для их функционирования, дискретные элементы, кварцевый генератор, цепи фильтрации напряжения питания и необходимые разъёмы (для подключения к другим модулям и USB-B-вилка для подключения к хосту). Схема первого модуля приведена на рис 2.7.

Рис 2.7.Принципиальная схема отладочного модуля МК КР1878ВЕ1

Второго - на рисунке 2.8.

Рис 2.8. Принципиальная схема отладочного модуля ИМС FT245BM

33

2.4 Технологии и инструменты.

2.4.1 Технологические требования, вытекающие из спецификации USB

Поскольку интерфейс USB работает при довольно большой тактовой частоте (48 МГц), то необходимо чтобы размеры дискретных элементов, для уменьшения уровней возможных помех, имели наименьшие размеры. Такими элементами являются элементы для поверхностного монтажа (SMD). В любительских условиях без особых затруднений можно использовать компоненты типоразмера 0805 или крупнее. Необходимо также, чтобы длина печатных проводников USBDP и USBDM была как можно меньше, хотя это относится и к остальным проводникам. Необходимо, при питании устройства от шины, использовать фильтр питания, в простейшем случае это керамический конденсатор и ферритовая бусина (кольцо). Разумеется, необходимо использовать кабели и разъемы, соответствующие Спецификации.

2.4.2 Программы для разработки принципиальных схем

На момент проведения исследования у автора имелся некоторый опыт черчения принципиальных схем в следующих программах: Microsoft Visio, Схемопостроитель 2003, S-Plan 5.0 и P-Cad 2002. Из перечисленных программ система обозначений элементов совпадает с общепринятой в России лишь программ SPlan и Схемопостроитель 2003. Так как в первой программе значительно большие библиотеки, и есть возможность использования рамок, соответствующих ГОСТу, то решено было использовать именно её.

2.4.3 Программы для разработки печатных плат

Для разработки печатных плат (ПП) автор счёл нецелесообразным использовать САПР, поскольку схемы устройств чертились в программе S-Plan. Для разработки ПП была выбрана популярная у радиолюбителей программа Sprint-layout 4.0. Разводка дорожек ПП в этой программе может производиться как автоматически, так и вручную. Контактные площадки устанавливаются вручную, или в составе макросов. В программу встроена удобная поддержка печати, что позволяет изготавливать печатные платы по т.н. «утюжно - лазерной технологии» - переносом изображения, напечатанного лазерным принтером на фольгированный текстолит с последующим травлением в слабом растворе FeCl 3. На рисунках ниже изображены чертежи печатных плат отладочных модулей м/с КР1878ВЕ1, FT245BM. Соответственно рис. 2.9 и 2.10.

34

Рис 2.9 Печатная плата отладочного модуля м/с КР1878ВЕ1

35

Рис 2.10 Печатная плата отладочного модуля м/с FT245BM.

2.4.4 Инструментарий для работы с МК: Компилятор ассемблера, Отладчик, Программатор

Для разработки программ МК использовались следующие программы: Компилятор Ассемблера ТЕСЕЙ (tessa.exe), программа поддержки программатора м/с КР1878ВЕ1 для DOS (p_wmct.exe), отладчик ТЕСЕЙ для Windows (DebugMCT.exe). Редактировать исходные тексты программ можно в любом текстовом редакторе, автором использовался Блокнот. Следует отметить, что нормальная работа программы поддержки программатора возможна лишь в ОС DOS

или Windows 9x.

Работа с компилятором Ассемблера ТЕСЕЙ производится из командной строки. Команды компилятора имеют следующий формат:

tessa.exe [-key] file_name.mic [+file_name2.mic[+…]],

где: file_name – имя головного файла (с расширением .mic)

file_name2 – имя файла, содержащего дополнительный программный

модуль.

-key – ключ, определяющий режим компиляции. Пример использования:

tessa.exe –I –O –L –D examp.mic

36

Работа с программой поддержки программатора также производится при помощи командной строки.

Команды программатора имеют следующий формат: p_wmct.exe file.sav [c:/NNN] [d:/EEPROM.dat,

где:

NNN – ключ, первые два бита которого определяют тип тактового генератора МК (00х- RC-генератор, 01х - кварцевый резонатор с частотой > 100 КГц, 10х - встроенный генератор т.ч. около 50 КГц, 11х – кварцевый резонатор с частотой < 100 КГц ), а последний бит определяет наличие задержки после сброса МК (хх0- задержка выключена, хх1-включена).

EEPROM – файл с содержимым ЭСППЗУ Данных (64 Байт в текстовой форме по 8 байт в строке в шестнадцатеричной системе с расширением .dat ).

Отладчик программ ТЕСЕЙ имеет простой, стандартный для Windowsприложений графический интерфейс, поэтому описывать отладчик здесь не имеет смысла.

Для программирования МК использовался программатор по схеме в [4]. В данной исследовательской работе описывать его также нет смысла.

37

2.5 Собственно устройство: датчик ускорения с интерфейсом

USB

2.5.1 ADXL202JE-основные сведения

ИМС ADXL202JE компании Analog Devices представляет собой сдвоенный интегральный датчик ускорения с цифровым выходом. Он имеет следующие основные параметры:

пределы измерений ± 2g для каждой из двух осей

нелинейность не более 0,2 %

напряжение питания 3..5,25 В, потребляемый ток 0,6..1,0 мА

время выхода в рабочий режим 160*Cfilt+0.3 ms

рабочий температурный диапазон: -40..+85 °C

Датчик имеет модулированный цифровой выход. Выходной сигнал имеет вид, представленный на рис. 2.11. Моментальное значение ускорения измеряется по формуле

a(g)=(T1/T2-0,5)/12.5%, при этом T2=Rset/125 MОм

Рис 2.11 выходной сигнал датчика ADXL202JE

В таблице 2.4 указаны типичные соответствия между ёмкостью конденсаторов Сх и Су. В таблице 2.5 указаны значения Т2 при типичных номиналах Rset.

Таблица 2.4

Таблица 2. 5

38

2.5.2 Сопряжение датчика ADXL202JE и МК КР1878ВЕ1.

Сопряжение датчика и микроконтроллера, на самом деле, не представляет собой ничего сложного. Датчик подключается к МК через свободный вывод порта А (РА3). В программе МК разрешаются прерывания от данного вывода. По фронту нарастания сигнала на данном выводе программа запускает таймер, при появлении прерывания по фронту спада, программа сохраняет значение регистров интервала таймера и записывает их в ОЗУ. После чего отправляет в FIFO-буферы микросхемы FT245BM полученное значение T1 (см. выше). По такой схеме могут быть подключены и другие датчики (например, ADXL210JE).

39

Часть 3. Программирование USB-периферии.

3.1 Теоретические сведения

3.1.1 Поддержка USB в Windows

В Windows 2000/XP Драйверная поддержка реализуется на основе WDM (Windows Driver Model, Драйверная Модель Windows), которая позволяет распределить процесс передачи данных (рис 3.1).

рис 3.1 WDM-модель USB-интерфейса

В Windows входят два драйвера, значительно облегчающих жизнь программистам:

драйвер хост-контроллера (Host Controller Driver) отвечает за обмен данными

саппаратурой

драйвер шины (USB Bus Driver) отвечает за управление транзакциями, распознавание и питание устройств.

С точки зрения прикладного программиста, наибольший интерес представляет драйвер класса (Class driver) и интерфейс обращения к нему. Здесь Windows делает ещё один шаг в сторону унификации интерфейсов. Все USB-устройства делятся на группы, согласно общим свойствам, выполняемым функциям и требованиям к ресурсам. Для каждой группы устройств Windows предоставляет готовый драйвер, который автоматически устанавливается при обнаружении принадлежности устройства к одной из групп. Таким образом, для многих стандартных устройств никаких дополнительных драйверов не требуется. На данный момент поддерживаются следующие типы устройств: Хабы (Hub Device, драйвер – hubclass.sys), HID-устройства (Human Interface Device, драйвер – hidclass.sys), Аудио устройства(драйвер – sysaudio.sys), Устройства хранения данных (Mass Storage

Device, драйвер – usbtor.sys), принтеры (Printer, драйвер –

usbprint.sys),

Коммуникационные устройства(драйверы – mdismp.sys, usb8023.sys).

 

Для работы с нестандартными периферийными устройствами

можно также

пользоваться системными драйверами. Чаще всего пользуются HID-драйвером. Если же периферийное устройство не может работать ни с одним из системных драйверов, то необходимо разрабатывать свой собственный драйвер. В связи с тем, что компания FTDI предоставляет собственный драйвер FT2XX.sys и библиотеку для

40