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

 
 
> USB в Atxmega128a3u
stalko
сообщение Sep 22 2012, 08:44
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



Доброго времени суток!
Есть ли у кого положительный (или хоть какой-то) опыт запуска USB в Atxmega128a3u? Все модули запустил, а USB никак не сдается. Винда говорит, мол, устройство-то есть, но не опознается. Грешил сначала на свой код, попробовал влить атмеловский пример (правда, нашелся только под Atxmega256a3bu, но он без вопросов собрался под мой кристалл), он также не работает. Кристалл ревизии G, если что.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kovigor
сообщение Sep 22 2012, 11:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(stalko @ Sep 22 2012, 11:44) *
Доброго времени суток!Есть ли у кого положительный (или хоть какой-то) опыт запуска USB в Atxmega128a3u? Все модули запустил, а USB никак не сдается. Винда говорит, мол, устройство-то есть, но не опознается. Грешил сначала на свой код, попробовал влить атмеловский пример (правда, нашелся только под Atxmega256a3bu, но он без вопросов собрался под мой кристалл), он также не работает. Кристалл ревизии G, если что.

А в обоих чипах линии USB "D+" и "D-" приходят на одни и те же порты GPIO, например, на PA.1 и PA.2 ? И кварцы проверьте, они должны быть одинаковыми. Вообще, Атмеловский пример наверняка написан для Атмеловского DevKit'а. Так вот, сравните его схему со схемой вашего устройства ...
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 22 2012, 13:27
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



Цитата(kovigor @ Sep 22 2012, 14:42) *
А в обоих чипах линии USB "D+" и "D-" приходят на одни и те же порты GPIO, например, на PA.1 и PA.2 ?

Да, конечно... Да будет благославлен тот, кто придумал (наконец) стандартизовать GPIO (и не только) в XMega-х.
Цитата(kovigor @ Sep 22 2012, 14:42) *
И кварцы проверьте, они должны быть одинаковыми.

USB в XMega-х ходят от внутреннего RC-генератора 32МГц... раскачанного до 48МГц...
Цитата(kovigor @ Sep 22 2012, 14:42) *
Вообще, Атмеловский пример наверняка написан для Атмеловского DevKit'а. Так вот, сравните его схему со схемой вашего устройства ...

Была такая мысль, но:
  1. Единственный документ, найденный на скорую руку (AVR1923) схемы не содержит, только краткое описание, куда и что. Про USB ни слова, хотя он там есть, и примеры под USB есть.
  2. А что в USB можно сделать по-другому, собственно? laughing.gif

Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 22 2012, 16:49
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(stalko @ Sep 22 2012, 16:27) *
-USB в XMega-х ходят от внутреннего RC-генератора 32МГц... раскачанного до 48МГц...
-А что в USB можно сделать по-другому, собственно?

1. Так может, в этом и дело ? USB - периферия в МК очень чувствительна к тактовой частоте. Частота RC - генератора плывет с изменением температуры (см. даташит). Мало того, не знаю, как в этом МК, а в AVR генератор нужно калибровать.
2. Не смейтесь. USB - крайне сложная система, и сделать там что-нибудь не так ничего не стоит. Поверьте, это правда ...
Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 22 2012, 18:34
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



Цитата(kovigor @ Sep 22 2012, 19:49) *
1. Так может, в этом и дело ? USB - периферия в МК очень чувствительна к тактовой частоте. Частота RC - генератора плывет с изменением температуры (см. даташит). Мало того, не знаю, как в этом МК, а в AVR генератор нужно калибровать.

Да, тут все очень сложно... Генератор RC-шник, но термостабилизированный. Хотя есть и огромная ложка дегтя: для иксмег сделали такую вещь, как DFLL, которая производит НЕПРЕРЫВНУЮ калибровку 32МГц-ового генератора. Собственно, с помощью этого калибратора генератор на 32МГц и превращается в генератор на 48МГц. Ах да... ложка дегтя... По сообщениям в буржуйских форумах... до ревижна H эти калибраторы просто не работают (по некоторым данным может работать только один из двух одновременно). Типа это написано в еррате. Я просмотрел все, но такой ерраты не нашел.
Потому я пошел другим путем: DFLL отключил (проверил, не работают), вручную подобрал цифирь, при которой генератор генерит 48МГц. Для знатоков икс-меги отвечаю сразу: да, есть в NVM предустановленное значение для записи, при котором якобы и будет 48МГц и которое якобы зашито на заводе в процессе специальной процедуры калибровки. На практике так: вычитал, записал, получил... 50МГц... Чем мне мой метод грозит: да, нет температурной стабильности, но прибор у меня для комнатных температур, и хоть бы ненадолго заработал, уже хорошо.
Цитата(kovigor @ Sep 22 2012, 19:49) *
2. Не смейтесь. USB - крайне сложная система, и сделать там что-нибудь не так ничего не стоит. Поверьте, это правда ...

Поверьте, мне не смешно. Просто там и перепутать нечего: с разъема напрямую на проц. Цепи короче некуда, тополог даже не заморачивался на волновом сопротивлении.
Go to the top of the page
 
+Quote Post
_Артём_
сообщение Sep 22 2012, 20:25
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322



Цитата(stalko @ Sep 22 2012, 21:34) *
Хотя есть и огромная ложка дегтя: для иксмег сделали такую вещь, как DFLL, которая производит НЕПРЕРЫВНУЮ калибровку 32МГц-ового генератора. Собственно, с помощью этого калибратора генератор на 32МГц и превращается в генератор на 48МГц. Ах да... ложка дегтя... По сообщениям в буржуйских форумах... до ревижна H эти калибраторы просто не работают (по некоторым данным может работать только один из двух одновременно). Типа это написано в еррате. Я просмотрел все, но такой ерраты не нашел.

В ерате для A3U такого пункта не видно.
Подобный пункт был в A3, но не совсем такой - чтобы работала коррекция хотя бы одного RC от DFLL, должны быть включены DFLL для обеих RC генераторов.

P.S. Почему хотя бы на время не попробовать сделать источником тактирования кварц, а не RC.

P.S. 2. Может у вас часовой кварц не работает?

Go to the top of the page
 
+Quote Post
stalko
сообщение Sep 22 2012, 20:56
Сообщение #7


Частый гость
**

Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762



Цитата(_Артём_ @ Sep 22 2012, 23:25) *
В ерате для A3U такого пункта не видно.
Подобный пункт был в A3, но не совсем такой - чтобы работала коррекция хотя бы одного RC от DFLL, должны быть включены DFLL для обеих RC генераторов.

Ну, возможно, я не так прочитал по аглицки (А в ерратах я и сам не нашел). Но там речь была точно про A3U. Мож буржуин на форуме попутал тогда?
Но я начал именно с того, что включал для обоих. Признаков жизни они не показали. Даже им в оправдание мелькала мысль, что они просто МЕДЛЕННО подстраиваются, но это, простите, бред. Какой в них тогда смысл?
Цитата(_Артём_ @ Sep 22 2012, 23:25) *
P.S. Почему хотя бы на время не попробовать сделать источником тактирования кварц, а не RC.

Делал. Переводил на 12МГц кристалл и уменьшал делитель для USB (кстати, я правильно понимаю, что делитель нужно выставлять чтоб получить 3МГц? Хотя, я перебирал все, от греха.) Один раз загнал PLL системный клок до 48МГц, порадовался, что работает, хотя описано, что частота XMega до 32МГц. Но все это ничего не дало. Экспериментировал, правда, на своем коде, этот ASF для меня чужд до глубины своей.
Цитата(_Артём_ @ Sep 22 2012, 23:25) *
P.S. 2. Может у вас часовой кварц не работает?

А вот внешний часовик не использую, надеюсь на внутренний генератор (уже было подозрение, что зря). Хотя, даже если он врет, DFLL ставил бы неверную частоту, но работал бы!!
Кстати, выводил его на ногу, смотрел... Хороший генератор, вроде.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- stalko   USB в Atxmega128a3u   Sep 22 2012, 08:44
|- - _Артём_   Цитата(stalko @ Sep 22 2012, 23:56) Но та...   Sep 22 2012, 21:54
||- - stalko   Цитата(_Артём_ @ Sep 23 2012, 00:54) Возм...   Sep 23 2012, 09:20
|- - kovigor   Цитата(stalko @ Sep 22 2012, 23:56) Один ...   Sep 23 2012, 03:50
- - zombi   С USB ни на мегах ни на хмегах не работал, но скор...   Sep 23 2012, 13:12
|- - stalko   Цитата(zombi @ Sep 23 2012, 16:12) Хмега1...   Sep 23 2012, 13:59
|- - kovigor   Цитата(zombi @ Sep 23 2012, 16:12) А c ко...   Sep 23 2012, 15:17
|- - stalko   Цитата(kovigor @ Sep 23 2012, 18:17) Это ...   Sep 23 2012, 15:51
- - zombi   А с питанием всё нормально? См. 37.10.2 32.768kH...   Sep 23 2012, 14:36
- - stalko   Цитата(zombi @ Sep 23 2012, 17:36) А с пи...   Sep 23 2012, 15:06
- - zombi   Цитата(stalko @ Sep 23 2012, 18:06) P.S. ...   Sep 23 2012, 15:47
- - stalko   Цитата(zombi @ Sep 23 2012, 18:47) Лично ...   Sep 24 2012, 07:46


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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 07:57
Рейтинг@Mail.ru


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