Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
ATmega32 + V-USB (он же бывш. USB-AVR) проблема
Отправлено
Maxxon (92.62.62.19) 24 апреля 2010, г. 15:45
Добрый день!
Занялся подключением ATmega32 к USB, бьюсь уже несколько дней, пока не удается сделать рабочую базу, при подключении к USB получаю от винды что-то вроде "Не удается опознать девайс". libusb для винды установлен, утилитка просмотра устройств, мое устройство в упор не видит.
Схема подключения - with-zener.png (http://www.obdev.at/downloads/vusb/vusb-20090822.tar.gz)
В моем случае используется ATMega32 16PU, внешний кварц на 16 МГц. Выход D+ USB порта через резистор подключен к 16 ноге меги, выход D- - к 17 ноге (согласно рекомендации, D+ идет на INT0, D- на любую ногу того же порта (я взял соседнюю, с INT1)).
Номиналы дискретных элементов - один-в-один, как на схеме. Контроллер точно рабочий, пробовал поморгать светодиодами, вывести текст на ЖКИ итп, все ок. Фьюзы:
CKSEL3..1 - 111
CKSEL0 - 1
CKOPT - 1
SUT1..0 - 10
Т.е., согласно даташиту, Crystal Oscillator, fast rising power.
Пробую загрузить firmware из примера custom-class (посветить светодиодом через команду от хоста) из пакета V-USB. В usbconfig.h определил:
#define USB_CFG_IOPORTNAME D
#define USB_CFG_DMINUS_BIT 3
#define USB_CFG_DPLUS_BIT 2
(согласно распиновке меги32, (INT0) PD2 (16 нога), (INT1) PD3 (17 нога))
Перекомпилил, указав в Makefile (make hex):
DEVICE = atmega32
F_CPU = 16000000
, прошил через PonyProg.
Результат... Собственно, нет результата, хост не видит моего девайса.
Если кто-нибудь сталкивался с подобным, подскажите, пожалуйста куда мне копать. Возможно, надо еще какие-то махинации с фьюзами (watchdog включить или еще чего) или вешать D- на INT1 неправильно итп.
К слову, пробовал другие схемы, с диодами и интегральным стабилизатором, все та же фигня, но схема со стабилитронами надежнее для меня, так как, насколько я понимаю, моя мега работает нестабильно на напряжении меньше 4.5 вольт, поэтому надежнее питать напрямую от USB ее.
На других контроллерах пока не проверял, есть в наличии tiny2313, mega8515 и еще какая-то древность. Возможно, попробую к тини прикрутить сегодня-завтра.
Заранее спасибо за ответы!
Прищепка: http://telesys.ru/wwwboards/mcontrol/konfa_uploaded/2699_996216.png
Составить ответ | Вернуться на конференцию
Ответы