|
USB в Atxmega128a3u |
|
|
|
Sep 22 2012, 08:44
|
Частый гость
 
Группа: Свой
Сообщений: 139
Регистрация: 5-05-05
Из: Зеленоград
Пользователь №: 4 762

|
Доброго времени суток! Есть ли у кого положительный (или хоть какой-то) опыт запуска USB в Atxmega128a3u? Все модули запустил, а USB никак не сдается. Винда говорит, мол, устройство-то есть, но не опознается. Грешил сначала на свой код, попробовал влить атмеловский пример (правда, нашелся только под Atxmega256a3bu, но он без вопросов собрался под мой кристалл), он также не работает. Кристалл ревизии G, если что.
|
|
|
|
|
 |
Ответов
|
Sep 22 2012, 11:42
|
Гуру
     
Группа: Свой
Сообщений: 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'а. Так вот, сравните его схему со схемой вашего устройства ...
|
|
|
|
|
Sep 22 2012, 13:27
|
Частый гость
 
Группа: Свой
Сообщений: 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'а. Так вот, сравните его схему со схемой вашего устройства ... Была такая мысль, но: - Единственный документ, найденный на скорую руку (AVR1923) схемы не содержит, только краткое описание, куда и что. Про USB ни слова, хотя он там есть, и примеры под USB есть.
- А что в USB можно сделать по-другому, собственно?

|
|
|
|
|
Sep 22 2012, 18:34
|
Частый гость
 
Группа: Свой
Сообщений: 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 - крайне сложная система, и сделать там что-нибудь не так ничего не стоит. Поверьте, это правда ... Поверьте, мне не смешно. Просто там и перепутать нечего: с разъема напрямую на проц. Цепи короче некуда, тополог даже не заморачивался на волновом сопротивлении.
|
|
|
|
|
Sep 22 2012, 20:25
|
Гуру
     
Группа: Свой
Сообщений: 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. Может у вас часовой кварц не работает?
|
|
|
|
|
Sep 22 2012, 20:56
|
Частый гость
 
Группа: Свой
Сообщений: 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 ставил бы неверную частоту, но работал бы!! Кстати, выводил его на ногу, смотрел... Хороший генератор, вроде.
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|