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

 
 
> Помогите сконфигурировать 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
Ответов
Xenia
сообщение Dec 20 2008, 23:53
Сообщение #2


Гуру
******

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



У меня вот так и вроде работает:

PLLCSR = (1<<PLLP2) | (1<<PLLP0) | (1<<PLLE);
UHWCON = (1<<UIMOD) | (1<<UVREGE);
USBCON = (1<<USBE) | (1<<OTGPADE) | (1<<VBUSTE);
Go to the top of the page
 
+Quote Post
xelax
сообщение Dec 22 2008, 07:05
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(Xenia @ Dec 21 2008, 02:53) *
У меня вот так и вроде работает:

PLLCSR = (1<<PLLP2) | (1<<PLLP0) | (1<<PLLE);
UHWCON = (1<<UIMOD) | (1<<UVREGE);
USBCON = (1<<USBE) | (1<<OTGPADE) | (1<<VBUSTE);


Не совсем корректный код так как не ожидается когда ФАПЧ выйдет в рабочий режим. По документации это примерно 100 мс.
Код
// sets prescaler 4
  PLLCSR = (1 << PLLP1) | (1 << PLLP0) | (1 << PLLE);
  // waits for when pll is locked reference clock (about 100 ms)
  while (!(PLLCSR & (1 << PLOCK)));

так было бы корректней.
Go to the top of the page
 
+Quote Post
Timoha
сообщение Dec 22 2008, 10:03
Сообщение #4





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



Цитата(xelax @ Dec 22 2008, 10:05) *
Не совсем корректный код так как не ожидается когда ФАПЧ выйдет в рабочий режим. По документации это примерно 100 мс.
Код
// sets prescaler 4
  PLLCSR = (1 << PLLP1) | (1 << PLLP0) | (1 << PLLE);
  // waits for when pll is locked reference clock (about 100 ms)
  while (!(PLLCSR & (1 << PLOCK)));

так было бы корректней.


т.е. пока PLOCK не поднимется - ни чего не заработает?
еще вопрос что делать с выводом UID(схема Figure 21-3. Typical Bus powered application with 5V I/O) ?
Go to the top of the page
 
+Quote Post
xelax
сообщение Dec 22 2008, 10:21
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 370
Регистрация: 7-11-06
Пользователь №: 22 035



Цитата(Timoha @ Dec 22 2008, 13:03) *
т.е. пока PLOCK не поднимется - ни чего не заработает?


Я бы по другому выразился. Что-то заработает, что-то нет smile.gif

Цитата(Timoha @ Dec 22 2008, 13:03) *
еще вопрос что делать с выводом UID(схема Figure 21-3. Typical Bus powered application with 5V I/O) ?


Так как вы хотите работать как device, а не как host, то можно ничего не делать. Оставить висящим в воздухе(внутренней подтяжкой он затянется к питанию).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Timoha   Помогите сконфигурировать usb на at90usb1287 в режим device   Dec 20 2008, 17:15
|- - 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
- - Alex11   Для того, чтобы устройство в PC определилось как н...   Dec 23 2008, 09:12
- - Timoha   Цитата(Alex11 @ Dec 23 2008, 12:12) Для т...   Dec 24 2008, 11:49
- - Xenia   Цитата(Timoha @ Dec 24 2008, 14:49) схема...   Dec 25 2008, 01:02
- - Timoha   Цитата(Xenia @ Dec 25 2008, 04:02) Если у...   Dec 25 2008, 23:21


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

 


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


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