Код COM-порта демонстрационного CDC на AT90USB162 (Minimus AVR) - PullRequest
4 голосов
/ 30 октября 2011

Я намерен использовать свой AT90USB162 (встроенный в качестве платы USB Minumus AVR) в качестве класса устройства связи с COMPORT.На домашнем сайте Minimus AVR он дает код для построения гексагона COMPORT для моего чипа, в AVR-USB-162-CDC.zip (этот проект использует WinAVR 4, но выможно также собрать его с помощью WinAVR 5, см. Сборка проекта AVR Studio 4 в AVR Studio 5 ).Когда я строю код, я загружаю шестнадцатеричный файл в чип и делаю сброс.Проблема в том, что моя Windows 7-64 не распознает добавление нового COMPORT, поэтому я не могу получить к нему доступ из диспетчера устройств (и, следовательно, ни из Hyperterminal), фактически, когда я подключаю встроенный чип к порту USB, ничего не происходит.

Итак, мне нужно, чтобы моя Windows распознала мой чип как USB COMPORT для моего AT90USB162.Как мне это сделать?Что я не делал?

Я также пробовал файлы .hex и драйверы с сайта AVR-CDC , но на самом деле драйвер для моего чипа недоступен (но я пытался использовать другиете, которые доступны оттуда).Но ответа нет.

Обновление

Я нашел заметку в AVR-CDC разделе драйверов Windows , говорящую:

(*) Vista / 7 x64 не принимает несанкционированные драйверы режима ядра.Вы должны отключить «Driver> Signature Enforcement» во время загрузки системы.Есть инструмент для подписи водителя. Переопределитель принудительной подписи драйверов См. Инструкцию в /vista64/Readme64.txt.

Чтобы загрузить переопределитель принудительной подписи драйверов, я следовал инструкциям в / vista64 / Readme64.текст.Вкратце, он должен позволить Windows получать драйверы CDC lowcdc.sys и lowcdc.inf, которые поставляются с драйверами AVR-CDC.

Но все равно не получили ответа.

Обновление

Я протестировал загрузку микрочипа на машине с Windows XP SP3.Так что это не проблема принудительного применения подписи драйверов из Windows 7 / 64.

Обновление

Я нашел это: Engbedded AVR Calculator Fuse Calculator ноЯ не имею ни малейшего представления о том, как это использовать.

Обновление

Я получил следующий ответ от форума avrfreaks от пользователя clawson:

"Попробуйтезагрузите файл usbdeview.exe, чтобы увидеть, что происходит во время перечисления. Возможно, представленный VID / PID требует файл .inf для выбора правильного драйвера.

Одна вещь, которую вы можете сделать, это загрузить LUFA и создать пример CDCв этом - он почти обязан работать. "

Но все равно не работал.Я скачал usbdeview и попытался посмотреть чип.Но когда я подключаю его к USB-порту, все равно ничего не происходит, если записанный файл .hex - это CDC.

Я также скачал LUFA и попытался создать пример CDC.Не добился успеха тоже.В make-файле я установил MCU = at90usb162, F_CPU = 16000000, FLASH_SIZE_KB = 16, BOOT_SECTION_SIZE_KB = 4 и другие параметры, которые я оставил без изменений.Я также изменил определения проекта AVR Studio на 90usb162.Шестнадцатеричный файл генерируется без ошибок.Но когда я пытаюсь сжечь чип, приложение Flip возвращает мне сообщение об ошибке «Обратитесь к нам за пределы диапазона».И, наконец, я понял, что новый файл .hex равен предыдущему (без изменения make-файла и файла проекта AVR Studio).

Итак, может, у кого-то есть идеи?

Обновление

Может быть, это проблема с драйвером?(а не проблема .hex?) Любое решение?

Обновление

Я нашел на сайте Замечания по применению Atmel для этого чипа Замечание к приложению AVR296: AVRUSBRF01 Руководство пользователя USB RF Dongle , в котором описан способ использования этого чипа в качестве CDC, и предоставлен файл .a90 для записи чипа и файл .inf для использования в качестве драйвера Windows,Я записал свой чип с файлом AVRUSBRF01-AT90USB162-usbdevice_cdc_rf-2_0_1.a90 и установил драйвер at90usbxxx_cdc.inf на свою Windows.И Windows успешно распознала COMPORT, поэтому проблема не в чипе, возможно, в самом демонстрационном коде CDC.

Итак, кто-то может определить, где находится ошибка / ошибка в коде?

Ответы [ 2 ]

0 голосов
/ 24 ноября 2011

Конечно, очень полезно попробовать LUFA , возможно, для начала вам нужно игнорировать беспроводную подсистему - просто посмотрите, сможете ли вы заставить работать некоторые основные примеры устройств USB.

Если это работает, посмотрите, как интегрировать драйвер для радио.Вы также можете посмотреть на TinyOS и / или Contiki .Вы, вероятно, не сможете использовать 6loWPAN , если я правильно помню, у Nordic не было IEEE 802.15.4 чипов.Но вы все равно можете использовать Рудольф в Contiki или ActiveMessage в TinyOS .

Если вы хотите получитьКод Atmel для работы, вероятно, лучше всего связаться с Atmel через службы поддержки, которые они предоставляют.Более вероятно, что кто-то на AVR Freaks мог бы использовать эту конкретную плату, я сомневаюсь, что вы можете найти здесь ответ, который был бы специфичен для эталонного дизайна, на который вы смотрите.

0 голосов
/ 30 октября 2011

когда я подключаю встроенный чип к порту USB, ничего не происходит.

Это происходит только тогда, когда вы забыли о повышающем сопротивлении 1,5 кОм на одной из линий данных USB.Без него нет USB-связи.В некоторых случаях этот резистор встроен в микросхему, в других требуется внешний.

...