fedorlogin 0 30 марта, 2009 Опубликовано 30 марта, 2009 · Жалоба Добрый день. Изучаю контроллер AT90USB82. Для начала нужно что бы просто устройство определялось как USB. Задача сверх типичная, но почему-то не могу найти подходящего примера. Пытаюсь разобраться с атмеловским примером AT90USBxxx USB device HID generic demonstration, но как-то не очень получается :( Буду благодарен за ссылки на работающий пример USB устройства на AT90USB82. В дальнейшем задача обеспечить передачу данных между USB и памятью EEPROM. Если бы нашлось что-то похожее, было бы вообще супер. Тему создал в этом разделе, потмоу что я совсем начинающий и сразу сорри за собственный тупизм если что. Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Vasil_Riabko 11 30 марта, 2009 Опубликовано 30 марта, 2009 · Жалоба Вот ссылка пример правда на AT90USB162 но это не существенно http://www.pjrc.com/teensy/index.html Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kimstik 0 30 марта, 2009 Опубликовано 30 марта, 2009 · Жалоба Посмотри тут http://www.fourwalledcubicle.com/LUFA.php Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fedorlogin 0 17 апреля, 2009 Опубликовано 17 апреля, 2009 (изменено) · Жалоба Вот ссылка пример правда на AT90USB162 но это не существенно http://www.pjrc.com/teensy/index.html В этом примере используется регистр UHWCON. Но в МК AT90USB82(162) такого регистра нету вообще. За что отвечает этот регистр в других мк (ATmega32U6, AT90USB646, AT90USB128) ? Прошивая этот пример, я надеюсь на корректное распознавание устройства. Но фигу :( ConnectionStatus: DeviceFailedEnumeration. Почему так и как быть ? Изменено 17 апреля, 2009 пользователем Fedor Budylin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mikesm 0 17 апреля, 2009 Опубликовано 17 апреля, 2009 (изменено) · Жалоба В этом примере используется регистр UHWCON. Но в МК AT90USB82(162) такого регистра нету вообще. За что отвечает этот регистр в других мк (ATmega32U6, AT90USB646, AT90USB128) ? Прошивая этот пример, я надеюсь на корректное распознавание устройства. Но фигу :( ConnectionStatus: DeviceFailedEnumeration. Почему так и как быть ? У Atmel на страничке для AT90USB162 есть живые примеры. http://www.atmel.com/dyn/products/tools_ca...sp?tool_id=4440 Единственное, что нужно соблюдать, подключить кварц 16Мгц. Все определяется сразу. Изменено 17 апреля, 2009 пользователем mikesm Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fedorlogin 0 20 апреля, 2009 Опубликовано 20 апреля, 2009 · Жалоба При попытке открыть hex файл Atmel Flip выдаёт ошибку. В чем может быть дело ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fedorlogin 0 28 апреля, 2009 Опубликовано 28 апреля, 2009 (изменено) · Жалоба Знающие, помогите! Я так и не смог прошить примеры с предложенной странички :( И так и не разобрался, почему устройство не определяется. Всё-таки, какие регистры должно минимум определить, что бы устройство определилось? В чем заключается процедура енумерайшон ? Изменено 28 апреля, 2009 пользователем Fedor Budylin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 30 апреля, 2009 Опубликовано 30 апреля, 2009 · Жалоба Вот рабочий проект под 90USB162. Попробуй загрузить. Определяться должен, для дальнейшего нужен драйвер. SoftSmall.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Halfback 0 11 июня, 2009 Опубликовано 11 июня, 2009 (изменено) · Жалоба Alex11 скачал в том числе и Ваш проект - у меня не катит. VIP и PID устройство возвращает нулевые (если вообще возвращает ибо смотрел осциллографом - сложно было понять что там к чему). Частота кварцованная и равна 8 МГц. В фьюзах делитель на 8 не стоит (да и пробовал ставить - та жа ерунда). В общем почему не работает так и не могу разобраться. Сопротивления в линии 22 Ома, подтяжка VBUS к D- через 2,7кОм (думаю такой номинал не криминален ибо обычно ставят 1,5к). Связи проверил - всё звониться. Контроллер в остальном рабочий. Изменено 11 июня, 2009 пользователем Halfback Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 11 июня, 2009 Опубликовано 11 июня, 2009 · Жалоба Делитель на 8 там противопоказан, так что здесь правильно. Подтяжка должна быть 1.5к - это по стандарту, лучше ему следовать. Скорее всего, у Вас что-то совсем не завелось, т.к. виндюки, если просто подтянуть D+ к 3.3В как раз и скажут, что устройство нашли, но VID, PID = 0. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Halfback 0 12 июня, 2009 Опубликовано 12 июня, 2009 (изменено) · Жалоба Alex11 не, резистор подтянут между VBUS (питание +5В от USB) и D- Винда говорит что устройство найдено но в диспетчере на это неизвестное устройстсво видно, что VID и PID винда от МЦУ не получает (нули). Попробую 1,5 кОм. Но думаю врядли поможет :unsure: Схему включения БЕЗ подтягивающего резистора прикрепил. Ядро МЦУ питается от линейного ИП 3,3В. Изменено 12 июня, 2009 пользователем Halfback Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topoR 0 12 июня, 2009 Опубликовано 12 июня, 2009 · Жалоба Знающие, помогите! Я так и не смог прошить примеры с предложенной странички :( И так и не разобрался, почему устройство не определяется. Всё-таки, какие регистры должно минимум определить, что бы устройство определилось? В чем заключается процедура енумерайшон ? FLIP работает, если Вы взяли чип с завода, и не стирали его, тогда у чипа есть встроеный загрузчик, и при подключении к компьютеру чипа, он определяется как конкретное устройство, и даже пытается зацепить драйверы. Если Вы затерли чип, то естественно он определяться не будет и его нужно прошивать программатором через ISP или DW. Чип должен соответствовать названию софта, которое для него предназначено. Нельзя софт под 162 модель прошивать в 82 и т.д. Фьюзы должны быть установлены так, как рекомендуется в софте для примера, обычно все расписано. И наконец, насколько я знаю примеры расчитаны на кварц 16МГц. Чтобы можно было Вам помочь, выложите схему и фото Вашей платы, а также подробнее что Вы пытались сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Halfback 0 12 июня, 2009 Опубликовано 12 июня, 2009 (изменено) · Жалоба Сделал подтяжку через 1,7кОм к D+ - определилось. ID и PID вроде верные. И это на плате где МЦУ тактируется от внутреннего RC-генератора 8МГц Изменено 12 июня, 2009 пользователем Halfback Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alex11 3 14 июня, 2009 Опубликовано 14 июня, 2009 · Жалоба подтяжка к D- приводит к определению устройства как Low Speed, в моем проекте на это ничего не рассчитано. Тактироваться лучше от кварца, стабильность RC явно противоречит спецификации USB. Если и работает, то будет очень неустойчиво. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
777777 0 15 июня, 2009 Опубликовано 15 июня, 2009 · Жалоба Сделал подтяжку через 1,7кОм к D+ - определилось. ID и PID вроде верные. И это на плате где МЦУ тактируется от внутреннего RC-генератора 8МГц Я фигею. Во-первых, для подтяжки есть внутренний резистор, включаемый битом DETACH в регистре UDCON. Вы, вообще, даташит читали? Во-вторых, тактироваться можно только от кварца, RC-генератор не обеспечит нужной точности, уж это должно быть очевидно и без даташита. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться