Согласование уровней USB D+/- (V-USB) 3.3V

Обсуждаем контроллеры компании Atmel.
Ответить
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Добрый день.

Я начинающий, разбираюсь потихоньку.
На Atmega8 собрал свой небольшой проект, всё хорошо, но хочу прикрутить к нему V-USB для передачи данных на комп. Пока используется UART и кабель на PL2303. Но есть свободные ноги, место и т.п., т.е. есть возможность от pl2303 избавиться и сразу гнать CDC по SoftUSB, откуда у меня питание всё берется.
Вроде все понятно, но во всех схемах и вариантах для согласования уровней Data+/Data- предлагается либо запускать контроллер на 3.3В, что для меги8 неподходит, т.к. ей нужно 5В по даташиту (версия без L, а с L не потянет по частоте, для V-USB нужно мин 12 МГц). Другой вариант согласовывать уровни, но везде предлагается только стабилитроны на D+, D-.
Просто у меня под рукой нет стабилитронов на 3.3-3.6В. Можно ли как-нибудь по другому согласовать уровни? Из всяких прочих схем для согласования, например на биполярных или полевых транзисторах (их есть у меня). Еще есть LVDO AMS1117-3.3, если вопрос стоит в получении источника 3.3В.
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Сообщение eess9 »

Я делал так, как в файле. Извени что каряво, но для себя разводил. Принципиальный момент для этой библиотеки, чтобы сигнал D+ был подан на INT0.
Вложения
Снимок.JPG
(86.9 КБ) 1541 скачивание
Реклама
Родился
Сообщения: 2
Зарегистрирован: Вт май 07, 2013 18:05:21

Сообщение 0.4kV »

Правильно как тут:http://www.getchip.net/posts/041-uart-t ... ttiny2313/
Я пробовал так как на второй схеме(со стабилитронами). Посмотри на схемы программаторов USBASP там тоже со стабилитронами.
Вымогатель припоя
Аватара пользователя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Сообщение eess9 »

По ссылке 2 схемы.

Первая из них. Питание от usb поступает через светодиод. Падение на нем 1,3В (пусть даже на красном меньше чем на остальных). То есть схема питается от 5-1.3=3.7В. С учетом, что сигналы на D+ и D- порядка 3.3-3.6В вполне приемлемо. Но NStorm просил схему с питанием от 5В, а не 3.6В :shock:

Вторая из них. NStorm говорит об физическом отсутствии у него стабилитронов на 3.6В. В таком случае она не подходит.

В схеме предложенной мной, согласование на D- происходит делителем (ибо там всегда 3.3В на usb), а 5В от контроллера понижаются последовательно включенным резистором на 68Ом (75 + 750Ом в параллель).
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

eess9, спасибо, но что-то вообще не понял вашу схему. Зачем 2 резитора в параллель стоят на линиях данных? Просто получаем через резистор ток ограничили, там ведь всё-равно будет потенциал высокий, за пределами максимальных 3.6В. Да и зачем-то D- подтянута в плюс и в землю.

0.4kV, я же написал, что такие варианты я знаю. Я рассматриваю варианты согласования уровней без стабилитронов или без понижения питания МК.

Что если такой вариант сделать на полевике?

EDIT: Форум тормозит, что-то не все опубликовалось...
За основу брал вот это: http://we.easyelectronics.ru/Shematech/ ... oystv.html ("Интерфейс с последовательно включенным MOSFET транзистором").

Только пока писал, понял что у меня на схеме сток и исток перепутаны, надо их поменять чтобы потенциал 3.3В был на истоке, а не на стоке.
Вложения
levels.png
(55.97 КБ) 1003 скачивания
Реклама
Вымогатель припоя
Аватара пользователя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Сообщение eess9 »

http://we.easyelectronics.ru/electro-an ... v-usb.html
Поверь, стабилитроны можно выбросить.
http://www.obdev.at/products/vusb/index.html
Внизу схема, но в ней перекос по току :))
Реклама
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

eess9, я видел эти статьи. По первой ссылке стоят стабилитроны. А по второй схема с понижением напряжения питания МК (и всей схемы) до ~3.4В через 2 последовательных диода за счет падения напряжения на них. Я понизить напряжение вместо диодов могу поставив более "точный" и стабильный низкодифференциальный линейный регулятор ams1117-3.3. Но вот заведется ли Mega8 хотя бы на 12 Mhz с таким напряжением? По даташиту она вообще работает только в пределах VCC 4.7-5.3V.
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Вот, поправил схему, перевернув транзисторы. Ну еще дорисовал сюда регулятор напряжения 3.3В. Вроде такое должно работать, как описано тут: http://we.easyelectronics.ru/Shematech/ ... oystv.html
Мега8 ес-но без какой-либо обвзяки. Возможно стоит еще на линии D+/D- добавить резисторы по 68 Ом как рекомендуют в оригинальной схеме V-USB.
Только мне кажется много излишеств. Тот же регулятор напряжения по сути нужен лишь для получения постоянного потенциала в 3.3В на затворе и подтяжки линий USB. Нужно ли вообще подтягивать D+ и D-? По идее нет, если смотреть на схемы со стабилитронами. Значит по идее можно избавиться от регулятора напряжения, а затвор транзистора просто объединить с истоком (откуда D+, D- приходят) ?
Вложения
levels2.png
(12.25 КБ) 1048 скачиваний
Вымогатель припоя
Аватара пользователя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Сообщение eess9 »

Не хочешь геморойся с полевиками, у меня работает
Вложения
IMG_0113.JPG
(245.01 КБ) 1134 скачивания
everest.jpg
(181.35 КБ) 1088 скачиваний
Опытный кот
Сообщения: 758
Зарегистрирован: Вс фев 10, 2013 15:26:00

Сообщение nirq »

NStorm писал(а):не потянет по частоте
2486W–AVR–02/10 figure 119.
Обращаем внимание: ступенек нет как на графиках, так и в "реальных" (что бы это ни значило) процессах с соображений здравого смысла.

Первая же страничка документации - скорее максимально общими выражениями блаблабла для презентабельности, чем "а дальше можно и не читать".



В любом случае ради борьбы с ДЕФИЦИТОМ городить ватэтавот... комсомолец должен не бояться маленьких проблем, а решать большие?
Держит паяльник хвостом
Сообщения: 927
Зарегистрирован: Вт сен 07, 2010 19:27:48
Откуда: Ташкент

Сообщение borys »

Неужели так трудно найти пару стабилитронов на 3,6 В ?
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Народ, давайте без демагогии.
Схему с резисторами понял, принято.
Давайте чисто теоретически посмотрим будет ли работать схема на транзисторах и как её можно упростить. Как я уже спрашивал - нужно ли подтягивать линии D+ D- и нужно ли для этого брать источник 3.3В, или же можно как я сказал на затвор соб-но потенциал самих линий брать.

nirq, это лишь график потребления тока в зависимости от напряжения и частоты. Он не гарантирует работу на этих частотах и напряжениях, более того документ для разных модификаций МК. Atmega8 и 8L - разные вещи. На первой странице четко написано:
•Operating Voltages
– 2.7V - 5.5V (ATmega8L)
– 4.5V - 5.5V (ATmega8)
Может и заведется конечно чисто из здравого смысла исходя. Но я не хочу идти "левым" путем. Да и больше чисто ради обучения и набора знаний хочется сделать иной вариант согласование уровней, т.е. на транзисторах.
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

Что-то так никто и не ответил на счет схемы на полевиках. Сам пока подумал, насколько хватило знаний нарисовал вот так:
Изображение

Смысл светодиода D1 на схеме в том, чтобы обеспечить на затворе потенциал чуть ниже 3.3В, но в пределах открытия транзистора. У меня тут светодиод с Vf=2V стоит. Ну и заодно и индикация работы устройства. )
Ну а дальше вроде как по учебнику - со стороны компьютера (3.3V) линию опустили в 0, на затворе у нас остается 3В и транзистор открывается, тем самым опуская линию в 0 со стороны МК. Если со стороны МК линия уходит в 0, то "через диодный переход исток-подложка транзистора напряжение на истоке снижается до тех пор, пока напряжение на затворе не перейдет пороговый уровень, затем транзистор открывается и вход 3.3В устройства подтягивается к "0" открывшимся транзистором", как написано в статье про согласование уровней (ссылку я давал в одном из прошлых постов). Правда этот момент мне не совсем понятен пока, вроде в общих чертах ясно... но не до конца.

Вроде как в протеусе это дело работает. По параметрам 2N7000 тут должен подходить. Вот добавил в протеусе генератор импульсов 125 Гц, графики с части 3.3В и части 5В:
Изображение

Ну и если добавить два генератора линии D+ и D- в противофазе (USB же вроде так данные передает), получаем с обоих сторон сходный цифровой сигнал:
Изображение

В реале конечно пока не собирал, времени всё нет прошивку допилить даже. В общем имеет ли такая схема право на жизнь? Я повторюсь - я только начинаю разбираться в теме. :beer:
Вложения
levels4.png
(14.99 КБ) 854 скачивания
Вымогатель припоя
Аватара пользователя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Сообщение eess9 »

Сопутствующий вопрос. У вас в схеме присутствует USBCONN. Вы разобрались как он работает? Я когда-то безуспешно пытался его подружить с V-USB.
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

eess9, честно говоря нет. Я даже не разбирался, оно просто для картинки. К тому же у меня там не совсем USBCONN, а AU-Y1005-R. Этот девайс при старте симуляции совершенно явно говорит о том, что пины D+ и D- у него не смоделены, т.е. просто висят в воздухе. Может у USBCONN что-то есть, но я с ним не заморачивался.
Вымогатель припоя
Аватара пользователя
Сообщения: 672
Зарегистрирован: Ср фев 29, 2012 01:58:32
Откуда: Харьков, Украина

Сообщение eess9 »

Спасибо. COM-порт у меня в proteus работает. Дружили когда-то у меня matlab и proteus. А usb так и не смог запустить в proteus. Народ говорит, что работает только с контроллерами, у которых есть аппаратный usb. Вы только подтвердили грустную тенденцию. Еще раз спасибо.
Поставщик валерьянки для Кота
Сообщения: 1978
Зарегистрирован: Ср июл 17, 2013 13:55:57

Сообщение NStorm »

eess9 писал(а):Народ говорит, что работает только с контроллерами, у которых есть аппаратный usb.
Так, бегло покопался, не только народ, но и официальные источники утверждают что этот USBCONN работает только с МК с аппаратным USB. Видимо эмуляция USB слоя не полноценная на электрическом уровне, а лишь на уровне логики эмуляции самого МК с этим самым hardware USB, поэтому с V-USB работать не будет по определению.
Ответить

Вернуться в «AVR»