roboforum.ru

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

AT90USBxxx

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

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(на англ.яз.) встречаются ошибки и неточности. :(
*Egor*
 
Сообщения: 5
Зарегистрирован: 10 мар 2010, 15:54
Откуда: С-Пб.
прог. языки: ASM
ФИО: Егор

Re: AT90USBxxx

Сообщение zubr » 19 мар 2010, 17:32

у меня кварц на 16 стоит.
но прикола ради надо попробовать на RC загрузиться :). Че правда грузится?
не уверен, но в даташите вроде не обещали этого.
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Re: AT90USBxxx

Сообщение *Egor* » 19 мар 2010, 20:34

USB-контроллер синхронизируется частотой 48МГц±0.25% (для работы в режиме FS), которая создается внутренним блоком PLL. Данный блок синтезирует высокочастотный сигнал (48 МГц) из более низкочастотного сигнала. Источником этого сигнала могут служить кварцевый генератор или вход внешней синхронизации XTAL1 (только они отвечают требованиям USB-контроллера к стабильности частоты и фазовому шуму и обеспечивают надлежащее его функционирование).
*Egor*
 
Сообщения: 5
Зарегистрирован: 10 мар 2010, 15:54
Откуда: С-Пб.
прог. языки: ASM
ФИО: Егор

Re: AT90USBxxx

Сообщение zubr » 19 мар 2010, 20:47

читать умеем, просто немного удивлен
Приятно было бы обойтись без кварца в цену кристалла.
Как например в PSoC. Там PLL синхронизится с USB.
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Re: AT90USBxxx

Сообщение galex1981 » 20 мар 2010, 11:31

У меня на RC тоже не заработало.
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: AT90USBxxx

Сообщение awtoap » 21 мар 2010, 17:53

Читайте внимательно даташит...можно и от RC, НО только для Low Speed соединения!!!
awtoap
 
Сообщения: 4
Зарегистрирован: 07 дек 2009, 14:59
Откуда: Mel

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 не обещают.
Сомневаюсь, что найдешь, но всеже прояви внимательность и покажи неразумному где обещали.
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Re: AT90USBxxx

Сообщение galex1981 » 22 мар 2010, 00:53

Пункт 6.2 даташита говорит что есть возможность переключения от внешнего осциллятора к RC цепочки и обратно - программно!
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: AT90USBxxx

Сообщение zubr » 22 мар 2010, 01:07

ага, так и написано там.
тока USB в RC-режиме в суспенде :)
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Re: AT90USBxxx

Сообщение *Egor* » 22 мар 2010, 09:20

А кто-нибудь запустил USB не через библиотеку?
Что-то у меня затык, SETUP пакет не приходит :(
*Egor*
 
Сообщения: 5
Зарегистрирован: 10 мар 2010, 15:54
Откуда: С-Пб.
прог. языки: ASM
ФИО: Егор

Re: AT90USBxxx

Сообщение awtoap » 22 мар 2010, 18:37

Хых...блин хотел быстро выдрать и сам не найду где видел...вроде в какой то апликухе, когда интересовался от каких частот тактируется USB модуль. Если найду выложу....
awtoap
 
Сообщения: 4
Зарегистрирован: 07 дек 2009, 14:59
Откуда: Mel

Re: AT90USBxxx

Сообщение vvk74 » 26 мар 2010, 21:19

USB от RC генератора вобщем-то может работать (по крайней мере бутлоадер и пример CDC USB-UART у меня работают) но для практического применения, к сожалению, такой вариант не годится из-за сильной зависимости частоты RC от температуры - 10% вместо допустимых 0.05%
vvk74
 
Сообщения: 128
Зарегистрирован: 08 сен 2009, 20:13
Откуда: Екатеринбург

Re: AT90USBxxx

Сообщение zubr » 29 мар 2010, 13:25

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

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

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

Вопрос: кто имел уже подобный секс, и имеет конструктивные советы?
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Re: AT90USBxxx

Сообщение galex1981 » 31 мар 2010, 14:27

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

Кстати, не пойму почему у тебя напряжение в USB скачет? Там же все выравненное несколько раз...
ЗЫ: У меня слетала прошива только на этом экземпляре (AT90USB162), и то я считаю что это потому что нужно правильно устройство выдергивать из порта (флешки тоже дохнут от этого)
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4362
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

Re: AT90USBxxx

Сообщение zubr » 31 мар 2010, 15:32

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

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

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

А то что аврка теряет прошивку - полный мисреспект! Как оценить физику процесса?
Не класть же к каждому прибору церковную свечку для надежды.
Короче хотелось бы найти почему она ее теряет.
За здравый смысл у нас принимается мнение большинства.
zubr
 
Сообщения: 431
Зарегистрирован: 20 ноя 2008, 19:31
Откуда: Чернобыль
прог. языки: асмемблер
ФИО: Валентин Семенович

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 24