Перейти к содержанию
    

Добрый день.

 

Изучаю контроллер AT90USB82. Для начала нужно что бы просто устройство определялось как USB. Задача сверх типичная, но почему-то не могу найти подходящего примера. Пытаюсь разобраться с атмеловским примером AT90USBxxx USB device HID generic demonstration, но как-то не очень получается :(

Буду благодарен за ссылки на работающий пример USB устройства на AT90USB82.

 

В дальнейшем задача обеспечить передачу данных между USB и памятью EEPROM. Если бы нашлось что-то похожее, было бы вообще супер.

 

Тему создал в этом разделе, потмоу что я совсем начинающий и сразу сорри за собственный тупизм если что.

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот ссылка пример правда на AT90USB162 но это не существенно

http://www.pjrc.com/teensy/index.html

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот ссылка пример правда на AT90USB162 но это не существенно

http://www.pjrc.com/teensy/index.html

В этом примере используется регистр UHWCON. Но в МК AT90USB82(162) такого регистра нету вообще. За что отвечает этот регистр в других мк (ATmega32U6, AT90USB646, AT90USB128) ?

 

Прошивая этот пример, я надеюсь на корректное распознавание устройства. Но фигу :( ConnectionStatus: DeviceFailedEnumeration. Почему так и как быть ?

Изменено пользователем Fedor Budylin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В этом примере используется регистр UHWCON. Но в МК AT90USB82(162) такого регистра нету вообще. За что отвечает этот регистр в других мк (ATmega32U6, AT90USB646, AT90USB128) ?

 

Прошивая этот пример, я надеюсь на корректное распознавание устройства. Но фигу :( ConnectionStatus: DeviceFailedEnumeration. Почему так и как быть ?

У Atmel на страничке для AT90USB162 есть живые примеры.

http://www.atmel.com/dyn/products/tools_ca...sp?tool_id=4440

Единственное, что нужно соблюдать, подключить кварц 16Мгц. Все определяется сразу.

Изменено пользователем mikesm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Знающие, помогите!

Я так и не смог прошить примеры с предложенной странички :(

И так и не разобрался, почему устройство не определяется.

Всё-таки, какие регистры должно минимум определить, что бы устройство определилось? В чем заключается процедура енумерайшон ?

Изменено пользователем Fedor Budylin

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот рабочий проект под 90USB162. Попробуй загрузить. Определяться должен, для дальнейшего нужен драйвер.

SoftSmall.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Alex11

скачал в том числе и Ваш проект - у меня не катит. VIP и PID устройство возвращает нулевые (если вообще возвращает ибо смотрел осциллографом - сложно было понять что там к чему). Частота кварцованная и равна 8 МГц. В фьюзах делитель на 8 не стоит (да и пробовал ставить - та жа ерунда). В общем почему не работает так и не могу разобраться. Сопротивления в линии 22 Ома, подтяжка VBUS к D- через 2,7кОм (думаю такой номинал не криминален ибо обычно ставят 1,5к). Связи проверил - всё звониться. Контроллер в остальном рабочий.

Изменено пользователем Halfback

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делитель на 8 там противопоказан, так что здесь правильно. Подтяжка должна быть 1.5к - это по стандарту, лучше ему следовать. Скорее всего, у Вас что-то совсем не завелось, т.к. виндюки, если просто подтянуть D+ к 3.3В как раз и скажут, что устройство нашли, но VID, PID = 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Alex11

не, резистор подтянут между VBUS (питание +5В от USB) и D-

Винда говорит что устройство найдено но в диспетчере на это неизвестное устройстсво видно, что VID и PID винда от МЦУ не получает (нули).

Попробую 1,5 кОм. Но думаю врядли поможет :unsure:

Схему включения БЕЗ подтягивающего резистора прикрепил.

Ядро МЦУ питается от линейного ИП 3,3В.

post-5512-1244803649_thumb.jpg

Изменено пользователем Halfback

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Знающие, помогите!

Я так и не смог прошить примеры с предложенной странички :(

И так и не разобрался, почему устройство не определяется.

Всё-таки, какие регистры должно минимум определить, что бы устройство определилось? В чем заключается процедура енумерайшон ?

 

FLIP работает, если Вы взяли чип с завода, и не стирали его, тогда у чипа есть встроеный загрузчик, и при подключении к компьютеру

чипа, он определяется как конкретное устройство, и даже пытается зацепить драйверы.

Если Вы затерли чип, то естественно он определяться не будет и его нужно прошивать программатором через ISP или DW.

Чип должен соответствовать названию софта, которое для него предназначено. Нельзя софт под 162 модель прошивать

в 82 и т.д.

Фьюзы должны быть установлены так, как рекомендуется в софте для примера, обычно все расписано.

И наконец, насколько я знаю примеры расчитаны на кварц 16МГц.

Чтобы можно было Вам помочь, выложите схему и фото Вашей платы, а также подробнее что Вы пытались сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал подтяжку через 1,7кОм к D+ - определилось. ID и PID вроде верные.

И это на плате где МЦУ тактируется от внутреннего RC-генератора 8МГц

post-5512-1244806890_thumb.jpg

Изменено пользователем Halfback

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

подтяжка к D- приводит к определению устройства как Low Speed, в моем проекте на это ничего не рассчитано. Тактироваться лучше от кварца, стабильность RC явно противоречит спецификации USB. Если и работает, то будет очень неустойчиво.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сделал подтяжку через 1,7кОм к D+ - определилось. ID и PID вроде верные.

И это на плате где МЦУ тактируется от внутреннего RC-генератора 8МГц

Я фигею.

Во-первых, для подтяжки есть внутренний резистор, включаемый битом DETACH в регистре UDCON. Вы, вообще, даташит читали?

Во-вторых, тактироваться можно только от кварца, RC-генератор не обеспечит нужной точности, уж это должно быть очевидно и без даташита.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...