Страница 1 из 1

Простое usb устройство на attiny2313

Добавлено: Пт апр 01, 2016 18:39:14
Vladimir69
Здравствуйте уважаемые форумчане, нужна помощь. Решил собрать самое простое usb устройство на контроллере attiny2313A, главная цель, научиться управлять светодиодом через usb. Сразу скажу, что познания ограничены рамками интернет статей. За основу взял вот эту обучалку http://openrobo.ru/control/usb. В общем все шло нормально. Прошивать научился, фьюз биты настроил. Но фот когда дошел до шага(компьютер должен увидеть ваше устройство) застрял.
1. Вот схема устройства
Изображение

2.Может это поможет, но в поисках проблемы делал следующее:
2.1 Если подключить данное устройство без прошивки, то система (windows7) говорит "Не удалось распознать устройство" и в списке устройств мое детище висит как Unknown device
2.2 Прошиваю в контроллер все как в инструкции.При подключении устройства, система никак не реагирует.
2.3 Подумал, что криво прошиваю. Добавил в тело функции main() циклическое мигание диода раз в секунду. Подключаю к компу, светодиод мигает, система никак не видит устройства. Я так понял, что функция main() по крайней мере работает. Странность в том, что светодиод мигает очень часто, точно не раз в секунду и тускло очень. Предположил, что дело в питании, ток чтоли не постоянный, хотя тестер говорит что на usb ровно 5v. Подключил устройство с прошивкой для usb+мигание светодиода в функции main() к постоянному источнику (батарейки), светодиод мигает как надо, ярко и четко раз в секунду. Подключил к компу, но запитал от постоянного тока, никакой реакции.

В общем у меня даже не получилось, чтобы система увидела имя моего устройства. А оно прописывается в файле usbconfig.h
Методом тыка и редактирования кода ничего не получилось, проделал и проверил несколько раз, проверил сборку.

Подскажите пожалуйста, в чем может быть дело, или предложите другую статейку, желательно для уровня новичка. Уж очень хочеться продвинуться в этом направлении.

Re: Простое usb устройство на attiny2313

Добавлено: Пт апр 01, 2016 19:48:45
COKPOWEHEU
Покажите фузы.
Покажите плату.
Добавьте конденсаторы по питанию. Электролит 10-1000 мкФ и керамика 0.01 - 1 мкФ.
Попробуйте поменять кварц, убрать/заменить конденсаторы.
Что за компонент висит на PB0?
Проверьте подключение линий к USB. Лучше всего прозвонить прямо на вилке. Вдруг перепутали D+ и D-, или там просто обрыв. Также можно проверить работают ли ограничители напряжения на линиях данных. Я один раз случайно вместо стабилитрона диод запаял.

Re: Простое usb устройство на attiny2313

Добавлено: Сб апр 02, 2016 17:45:46
Vladimir69
Изображение

Значения фьюзов E:FF, H:DB, L:EF

Питание сделал по этой схеме
Изображение

На PB0 обычный светодиод

USB прозвонил, вроде все ок

И я ввел немного в заблуждение, если прошить все как для usb, то устройство видит, но не распознает. Правда опять таки если питание от постоянного источника 5v. Попробую еще от usb запитать. Потому-что по текущей схеме, питание 3,7 v. При прошивке на программаторе у меня стоит 5v. Вроде разницы не должно быть, написано же, что контроллер работает от 3-5V.
Изображение

Вы правы, я ставил обычные диоды, а как можно проверить работу ограничителей напряжения и какие стабилитроны туда ставить?

Re: Простое usb устройство на attiny2313

Добавлено: Сб апр 02, 2016 19:42:08
COKPOWEHEU
Подать на выводы контроллера лог.1, чтобы на них оказалось 5 В. Тогда на линиях данных должно появиться 3.3 - 3.6 В. Соответственно и стабилитроны надо ставить маломощные на 3.3 - 3.6 В.
С фузами вроде все нормально.
УГО светодиода выглядит иначе, к тому же ему нужен ограничительный резистор. А то что висит на PB0 больше похоже на источник постоянного напряжения.
Ну и, кстати, порядок проводов на USB-вилке | VCC | D- | D+ | GND | , у вас на схеме D+ и D- поменяли местами. Поэтому и говорю перепроверить прямо на вилке.
Ну и что с тактовой частотой, похожа она на 12 МГц? Можно увеличить время выхода тактового генератора в активный режим: lfuse=0xFF. Вряд ли это поможет, но и не помешает.
Можете все-таки показать плату самого устройства а не питания.

Re: Простое usb устройство на attiny2313

Добавлено: Вс апр 03, 2016 15:08:32
Vladimir69
1.1 Спасибо, действительно есть проблемы с выходами. На линии D+ и D- у меня идет 5v. Поставлю стабилитроны на 3,6 и посмотрю как заработает.

1.2 Получается PD4 нужно на D+?

1.3 Тактовую частоту не могу проверить, т.к. имею только тестер. Я так понял, что с ней все нормально, т.к. в прошивке стоит прерывание светодиода 500мс, и он мигает как раз раз в секунду.
PORTB |= 1;
_delay_ms(500);
PORTB &= ~1;
_delay_ms(500);

1.5 А само устройство собрано на монтажке, 1й рисунок. Извиняюсь если не правильно понял просьбы, показать плату самого устройства.

Спасибо большое за наводки, у меня уже есть куда копать) Разберусь с напряжением на D+ и D- сразу отпишусь. Я правильно понял, что на контроллере на этих выходах должно быть 5v (непосредственно на ногах PD2-4). А резисторами 68Ом и стабилитронами, его нужно понизить до 3,6 на линии выходов usb порта?

Re: Простое usb устройство на attiny2313

Добавлено: Вс апр 03, 2016 17:50:33
COKPOWEHEU
На схеме нарисовано, наверное, правильно (тут надо код смотреть что куда назначено), но нелогично нарисован USB-разъем. Поэтому будьте внимательны. Цветную маркировку я не помню, ди м предпочитаю не полагаться на нее. Поэтому еще раз говорю - прорверяйте прямо на разъеме.
Если диод моргает правдоподобно, будем считать что тактирование в норме.
Если я правильно понял что у вас разведено на макетке, вы не туда поставили резисторы. Они должны идти от выводов контроллера, а не от разъема. Это обычная схема линейного стабилизатора напряжения. Со стороны компьютера 3.3-3.6 В гарантируется, а вот обеспечить ее со стороны контроллера - ваша задача.
Длина проводов с высокочастотным сигналом великовата. Это линии данных USB и, особенно, кварц. Вот кварц обязательно поставьте как можно ближе к камню. И фильтрующий конденсатор тоже. В том числе керамику 0.1 мкФ.

Re: Простое usb устройство на attiny2313

Добавлено: Вс апр 03, 2016 19:51:22
Vladimir69
Я понял, исправлю все недочеты, проверю правильность usb, надеюсь заработает, спасибо за помощь, напишу результат!

Re: Простое usb устройство на attiny2313

Добавлено: Вт апр 05, 2016 12:29:33
Starichok51
COKPOWEHEU писал(а):вы не туда поставили резисторы. Они должны идти от выводов контроллера, а не от разъема. Это обычная схема линейного стабилизатора напряжения. Со стороны компьютера 3.3-3.6 В гарантируется
со стороны компьютера тоже должны быть резисторы, иначе в стабилитроны пойдет не контролируемый ток.

Re: Простое usb устройство на attiny2313

Добавлено: Вт апр 05, 2016 17:37:45
COKPOWEHEU
Ни в одной схеме vusb не видел такого. Даже 60-омные резисторы считаются великоватыми для usb (рекомендуется 20 Ом), а вы хотите поставить суммарно аж 80 Ом. Ну и стабилитроны обычно рассчитаны на немного большее напряжение, чем нормальное на линиях данных usb.

Re: Простое usb устройство на attiny2313

Добавлено: Пн апр 11, 2016 20:40:16
Vladimir69
Спасибо COKPOWEHEU! ПК распознал устройство. Поставил стабилитроны на 3,6v. Буду продолжать изучение :music:

Re: Простое usb устройство на attiny2313

Добавлено: Пт июн 03, 2016 19:12:11
AZinX
Vladimir69, только стабилитроны поставил? Но ведь диод зенера это и есть стабилитрон. Можешь показать, как в итоге выглядела у тебя схема?

У меня просто та же проблема.

Или кто другой, помогите пожалуйста.

Заранее спасибо! :)

Re: Простое usb устройство на attiny2313

Добавлено: Вс авг 21, 2016 14:00:29
EAlexK
Добрый день.
Такая же проблема возникла и у меня, но МК марки ATmega 328P-PU.

Vladimir69, какие по мощности стоят у Вас стабилитроны.
На просторах интернета говорят, что можно поставить 0,25Вт. Другие - что этого мало,необходимо 0,5Вт.
У меня стоят 3V6 на 0,5Вт.

Не пойму принцип действия конденсаторов, подключенных к резонатору. Они у меня 20 пФ. Видел рекомендации, что необходимо 22пФ.
Но в режиме прошивки, при фьюзах настроенных на внешний резонатор и резонаторе 12МГц, Atmega328p-pu стартует и без них.

Re: Простое usb устройство на attiny2313

Добавлено: Вт авг 23, 2016 19:28:48
EAlexK
Добрый день.
Попробовал сделать этот же проект, но на Attiny2313V-10PU.
Результат тот же. Устройство не опознано. Вместо резонатора, поставил генератор.

Посмотрите,что я мог неправильно собрать.

Re: Простое usb устройство на attiny2313

Добавлено: Ср авг 24, 2016 10:31:38
EAlexK
Отключил делитель и все заработало.

Re: Простое usb устройство на attiny2313

Добавлено: Пт мар 10, 2017 22:27:27
mputnick
Была та же проблема. Собирал эту схему, микроконтроллер Attiny2313.

Компьютер смог опознать устройство, после того как подключил pull-up резистор на 1.5 кОм не к 5 В, как на схеме, а к 3.6 В.

Цитата из USB in a NutShell:

As we have discussed, USB uses a differential transmission pair for data. This is encoded using NRZI and is bit stuffed to ensure adequate transitions in the data stream. On low and full speed devices, a differential ‘1’ is transmitted by pulling D+ over 2.8V with a 15K ohm resistor pulled to ground and D- under 0.3V with a 1.5K ohm resistor pulled to 3.6V. A differential ‘0’ on the other hand is a D- greater than 2.8V and a D+ less than 0.3V with the same appropriate pull down/up resistors.