реклама на сайте
подробности

 
 
> Помогите сконфигурировать usb на at90usb1287 в режим device
Timoha
сообщение Dec 20 2008, 17:15
Сообщение #1





Группа: Новичок
Сообщений: 8
Регистрация: 9-07-07
Пользователь №: 28 981



Доброго времени суток всем! изучаю работу USB. Выбор остановил на at90usb1287, т.к.раньше собирал устройства на attiny 26 и atmega16. Для винды пишу на VB. Для атмелов пишу на Atmel assembler(AVR Studio).
Столкнулся со следующей проблемой - не получается сконфигурировать usb на контроллере. Не происходит даже обнаружения устройства.
Согласно даташиту, контроллер имеет внутренний подтягивающий резистор для выбора скорости передачи данных. Но при сбросе бита detach ничего не происходит sad.gif. вот кусок программы:
***********************************************
ldi tmp, (1<<pllp2)+(1<<pllp0)+(1<<plle)
out pllcsr,tmp ;выбираем коэфт деления 8 (частота конроллера=16MHz, внешний кварц)
ldi tmp, (1<<uimod)
sts uhwcon,tmp ; выбираем режим device
ldi tmp, (1<<USBE)
sts USBCON,tmp ; включаем usb контроллер
********************************************
где ошибка? что-то не дописал? уже возникают подозрения, что спалил USB порт на контроллере. у кого-нибудь есть любой рабочий hex или asm на 16 МГц с использованием USB? если есть пришлите, пожалуйста, на timofeysoft@mail.ru. попробую прошить - проверить работоспособность.

Сообщение отредактировал Timoha - Dec 20 2008, 17:29
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex11
сообщение Dec 23 2008, 09:12
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Для того, чтобы устройство в PC определилось как неизвестное, достаточно, чтобы появилась подтяжка D+ к 3В. Так что проверяйте хоть тестером.
Go to the top of the page
 
+Quote Post
Timoha
сообщение Dec 24 2008, 11:49
Сообщение #3





Группа: Новичок
Сообщений: 8
Регистрация: 9-07-07
Пользователь №: 28 981



Цитата(Alex11 @ Dec 23 2008, 12:12) *
Для того, чтобы устройство в PC определилось как неизвестное, достаточно, чтобы появилась подтяжка D+ к 3В. Так что проверяйте хоть тестером.

в курсе. проверял нету ни чего. да и книжка Агурова у меня тоже есть. с теорией у меня все нормально.

Цитата(Xenia @ Dec 23 2008, 18:13) *
Снимите флаг DETACH и устройство обнаружится как "новое". Вот так:
UDCON &= ~(1<<DETACH); // Attach
Это и есть включение подтяжки D+.
Только сразу это делать неположено, а положено делать тогда, когда появляется напряжение на шине VBUS. Обычно изменение VBUS генерит general usb interrupt, при обработке которого флаг DETACH либо устанавливают, либо снимают. Т.е. опасаются подавать напряжение на обесточенный USB-разъем.
Но если ваша схема питается прямо от USB, т.е. именно от этого VBUS, то Attach можно делать сразу.
В проекте, который рекомендовал Visor, все это есть.

схема действительно питается от усб. после сброса бита Detach ни чего не происходит. курю проект, который рекомендовал Visor.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Dec 25 2008, 01:02
Сообщение #4


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Timoha @ Dec 24 2008, 14:49) *
схема действительно питается от усб. после сброса бита Detach ни чего не происходит. курю проект, который рекомендовал Visor.


Тот проект сложноват для понимания, и тем более переложения на ассемблер. Если вам host-режим не нужен, то можете посмотреть проектик по-проще (подшила архив). Там кое-какие ошибки нашла, но в гпаза они не сильно бросаются. Этот на ассемблер легко переложить - упрощен до предела.

Если у вас плата - самоделка, то проверьте еще напряжение на UVCC (3-я ножка) - USB Pads Internal Regulator Input supply voltage - туда 5 вольт надо подавать.

Сообщение отредактировал Xenia - Dec 25 2008, 01:03
Прикрепленные файлы
Прикрепленный файл  USB_AT90.zip ( 75.31 килобайт ) Кол-во скачиваний: 72
 
Go to the top of the page
 
+Quote Post
Timoha
сообщение Dec 25 2008, 23:21
Сообщение #5





Группа: Новичок
Сообщений: 8
Регистрация: 9-07-07
Пользователь №: 28 981



Цитата(Xenia @ Dec 25 2008, 04:02) *
Если у вас плата - самоделка, то проверьте еще напряжение на UVCC (3-я ножка) - USB Pads Internal Regulator Input supply voltage - туда 5 вольт надо подавать.

Плата-самоделка, собрана по даташиту (Figure 21-3. Typical Bus powered application with 5V I/O) на UVCC есть 5 вольт. Благодарю за урезанный проектик. smile.gif

Зашил hex из проекта, что дал Visor. USB устройство нашлось, дрова встали. Значит схему я собрал правильно и порт на контроллере пока не спалил 08.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Timoha   Помогите сконфигурировать usb на at90usb1287 в режим device   Dec 20 2008, 17:15
- - Xenia   У меня вот так и вроде работает: PLLCSR = (1<...   Dec 20 2008, 23:53
|- - xelax   Цитата(Xenia @ Dec 21 2008, 02:53) У меня...   Dec 22 2008, 07:05
|- - Timoha   Цитата(xelax @ Dec 22 2008, 10:05) Не сов...   Dec 22 2008, 10:03
|- - xelax   Цитата(Timoha @ Dec 22 2008, 13:03) т.е. ...   Dec 22 2008, 10:21
|- - Timoha   Цитата(xelax @ Dec 22 2008, 13:21) Я бы п...   Dec 22 2008, 10:52
|- - xelax   Цитата(Timoha @ Dec 22 2008, 13:52) uid т...   Dec 22 2008, 15:11
- - Timoha   Цитата(Xenia @ Dec 21 2008, 02:53) У меня...   Dec 21 2008, 08:27
- - Xenia   У меня всё в кучку соединено, как в даташите изобр...   Dec 21 2008, 19:11
|- - Timoha   Цитата(Xenia @ Dec 21 2008, 22:11) У меня...   Dec 22 2008, 18:54
|- - Xenia   Цитата(Timoha @ Dec 22 2008, 21:54) может...   Dec 22 2008, 20:43
|- - Timoha   Цитата(Xenia @ Dec 22 2008, 23:43) А може...   Dec 22 2008, 21:25
|- - Visor   Цитата(Timoha @ Dec 23 2008, 04:25) Во-пе...   Dec 23 2008, 06:04
|- - Xenia   Цитата(Timoha @ Dec 23 2008, 00:25) в том...   Dec 23 2008, 15:13


Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 10:15
Рейтинг@Mail.ru


Страница сгенерированна за 0.01426 секунд с 7
ELECTRONIX ©2004-2016