roboforum.ru

Технический форум по робототехнике.

AT90USBxxx

Re: AT90USBxxx

*Egor* » 18 мар 2010, 23:13

На gaw.ru есть "Полное описание контроллера интерфейса USB 2.0 Host/Device/OTG в AVR-микроконтроллерах AT90USB646/647/1286/1287" на русском языке.
http://www.gaw.ru/html.cgi/txt/doc/micros/avr/at90usb/index.htm
Если убрать лишнее то получится для AT90USB162
P.S. В оригинальном Datasheat на AT90USB162(на англ.яз.) встречаются ошибки и неточности. :(

Re: AT90USBxxx

zubr » 19 мар 2010, 17:32

у меня кварц на 16 стоит.
но прикола ради надо попробовать на RC загрузиться :). Че правда грузится?
не уверен, но в даташите вроде не обещали этого.

Re: AT90USBxxx

*Egor* » 19 мар 2010, 20:34

USB-контроллер синхронизируется частотой 48МГц±0.25% (для работы в режиме FS), которая создается внутренним блоком PLL. Данный блок синтезирует высокочастотный сигнал (48 МГц) из более низкочастотного сигнала. Источником этого сигнала могут служить кварцевый генератор или вход внешней синхронизации XTAL1 (только они отвечают требованиям USB-контроллера к стабильности частоты и фазовому шуму и обеспечивают надлежащее его функционирование).

Re: AT90USBxxx

zubr » 19 мар 2010, 20:47

читать умеем, просто немного удивлен
Приятно было бы обойтись без кварца в цену кристалла.
Как например в PSoC. Там PLL синхронизится с USB.

Re: AT90USBxxx

galex1981 » 20 мар 2010, 11:31

У меня на RC тоже не заработало.

Re: AT90USBxxx

awtoap » 21 мар 2010, 17:53

Читайте внимательно даташит...можно и от RC, НО только для Low Speed соединения!!!

Re: AT90USBxxx

zubr » 21 мар 2010, 23:35

The USB controller requires a 48 MHz ±0.25% reference clock (for Full-Speed operation), which
is the output of an internal PLL. The PLL generates the internal high frequency (48 MHz) clock
for USB interface, the PLL input is generated from an external lower frequency (the crystal oscillator
or external clock input pin from XTAL1; to satisfy the USB frequency accuracy and jitter,
only this clock source allows proper functionnality of the USB controller).
The 48MHz clock is used to generate a 12 MHz Full-speed (or 1.5 MHz Low-Speed) bit clock
from the received USB differential data and to transmit data according to full or low speed USB
device tolerance. Clock recovery is done by a Digital Phase Locked Loop (DPLL) block, which is
compliant with the jitter specification of the USB bus.

Если ты про это, то тут 1.5Mbps на RC не обещают.
Сомневаюсь, что найдешь, но всеже прояви внимательность и покажи неразумному где обещали.

Re: AT90USBxxx

galex1981 » 22 мар 2010, 00:53

Пункт 6.2 даташита говорит что есть возможность переключения от внешнего осциллятора к RC цепочки и обратно - программно!

Re: AT90USBxxx

zubr » 22 мар 2010, 01:07

ага, так и написано там.
тока USB в RC-режиме в суспенде :)

Re: AT90USBxxx

*Egor* » 22 мар 2010, 09:20

А кто-нибудь запустил USB не через библиотеку?
Что-то у меня затык, SETUP пакет не приходит :(

Re: AT90USBxxx

awtoap » 22 мар 2010, 18:37

Хых...блин хотел быстро выдрать и сам не найду где видел...вроде в какой то апликухе, когда интересовался от каких частот тактируется USB модуль. Если найду выложу....

Re: AT90USBxxx

vvk74 » 26 мар 2010, 21:19

USB от RC генератора вобщем-то может работать (по крайней мере бутлоадер и пример CDC USB-UART у меня работают) но для практического применения, к сожалению, такой вариант не годится из-за сильной зависимости частоты RC от температуры - 10% вместо допустимых 0.05%

Re: AT90USBxxx

zubr » 29 мар 2010, 13:25

Вот за что я не люблю аврки - за любовь атмела к приколам.
Зарекался атмел не брать. Но совратили меня дешевым чипом с УСБ на борту...

Лет десять назад помню народ плевался на авр за то что он теряет прошивку, если питание некашерное. И было правило ставить хороший внешний стабилизатор питания и схему сброса. Только тогда можно было насладиться прекрасными характеристиками ядра.

Так вот щас я имею гемор.
Платка на at90usb162 со светодиодами. Стандартный миниUSB кабель 1.3метра. Все шикарно работает.
Гружу через стандартный внутренний бутлоадер. Концы для внешнего программатора предусмотрел, но пользоваться ими нет возможности никакой.
В один прекрасный день коллега принес макбук, и воткнул туда платку через тонюсеьнкий гламурный кабель.
Устройство притихло. Проверил - тишина, даже на другом компе на заработало. Короше прошивка слетела.
Джампером загружаю внутренний бутлоадер и перешиваю - все опять работает.
И как теперь жить?
Есть мысли что это както связано с тем что мой кварц на 16МГц по даташиту будет работать только от 4.5V и выше. А усб может упасть до 4.1V.
Поэтому есть мысли покрутить уровень внутреннего сброса. А это блин нереально сделать из бутлоадера. Нужно цеплять внешний программатор(проблематично).
Еще есть мысль поиграть с ватчдогом.
Самое неприятное что теперь немогу воспроиззвести глюк :(

Вопрос: кто имел уже подобный секс, и имеет конструктивные советы?

Re: AT90USBxxx

galex1981 » 31 мар 2010, 14:27

Есть несколько советов выбирай сам:
1)Ставить кварц на 8 Мгц, если позволяет скорость (бутлоадер и все остальное прекрасно работает)
2)Ставить StepUp преобразовательна на 5 вольт

Кстати, не пойму почему у тебя напряжение в USB скачет? Там же все выравненное несколько раз...
ЗЫ: У меня слетала прошива только на этом экземпляре (AT90USB162), и то я считаю что это потому что нужно правильно устройство выдергивать из порта (флешки тоже дохнут от этого)

Re: AT90USBxxx

zubr » 31 мар 2010, 15:32

Напруга скачет потому что (по слухам) USB в маках один из самых странных. Во всяком случае много устройств в нем глючит или дохнет.
Но не могу же я запретить клиенту юзать макбук?

DCDC хитрый надо Up/down типа SEPIC потому что в USB может быть 5.5v. Думаю поставить DCDC в 3v со встроенным LDO.

У меня кварц 2x2.5 (место мало - плата плотная) А такие минимум на 16МГц :( На 8 не нашел.

А то что аврка теряет прошивку - полный мисреспект! Как оценить физику процесса?
Не класть же к каждому прибору церковную свечку для надежды.
Короче хотелось бы найти почему она ее теряет.


Rambler\'s Top100 Mail.ru counter