LCD2USB

Несколько лет назад прикупил себе LCD дисплей 4x40 с целью подключить к компьютеру и выводить на него всякое полезное. Тогда о микроконтроллерах я ещё не знал, поэтому дисплей был подключен к LPT порту по схеме и успешно работал все это время.
Программа для управления дисплеем — LCD Smartie, очень удобная и функциональная.
Когда же я занялся микроконтроллерами и собрал программатор STK200, дисплей пришлось отключить.
А потому как я к нему привык, и без него мне не удобно, было решено собрать LCD2USB, для подключения его к USB порту, к тому же, автор предлагает плагин для LCD Smartie, что для меня тоже очень важно.


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

  1. Устройство напрочь отваливалось после выхода компьютера из спящего режима. (В диспетчере устройств есть, но на запросы не реагирует)
  2. Устройство начинало работать только после такой последовательности действий:
    Сначала подключаем его к usb, затем запускаем управляющую программу.
    Только так и никак иначе. Если подключить его к компьютеру с уже запущенной программой, то чтобы оно заработало, надо программу перезапустить.
  3. Русские символы выводились крякозябами.

Все же все эти «баги» были благополучно пофиксены)
Как, об этом ниже.
1 — Как я понял, это беда всех устройств использующих библиотеку V-USB.
Решено незначительной модификацией схемы (на схеме изменения выделены красным) и прошивки.
После модификации программа работает по следующему алгоритму:
Слушает линию данных на наличие служебных пакетов (рабочий компьютер посылает их каждую миллисекунду), при отсутствии их насильно разрывает соединение и вновь пытается подключиться, до тех пор, пока компьютер не проснется. Соответственно, как только компьютер просыпается, устройство подключается заново.
2 — Эта проблема решена модификацией плагина к LCD Smartie, благо на сайте автора есть исходники.
3 — Это так же решено модификацией плагина.

Далее фотки процесса (кликабельны):

Схема, изменения из п.1 выделены красным. Транзистор подсветки заменен полевиком. Нумерация выводов для микроконтроллера в TQFP корпусе.
Оригинальная схема есть на сайте автора.



Макет


Заготовки для лута на фотобумаге. Плата получилась миниатюрная (2.5 x 3.5 см), двухсторонняя, для установки прямо на пины дисплея.


Бутерброд из предыдущих заготовок и текстолита, для одновременного переноса дорожек на обе стороны


До травления


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


Готовая, собранная схема (отсутствуют стабилитроны, ибо пока нет в наличии)


Ну а вот, собственно, конечный результат.




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

Плата в sprint layout, прошивка и плагин к LCD Smartie в аттаче, там же все исходники.
Буду рад, если кому окажется полезным.

  • +2
  • 16 ноября 2011, 20:06
  • Bonio
  • 1
Файлы в топике: LCD2USB.zip

Комментарии (124)

RSS свернуть / развернуть
Понравилось.
Еще можно было сделать плату чуть шире и использовать крепежные отверстия дисплея для фиксации. Меньше нагрузки на разъем.
0
Думал рамочку из оргстекла сделать, оставил отверстия для её крепления.
А платка маленькая, в пинах сидит плотно.
0
Гм, а ты уверен, что V-USB не поддерживает спящий режим шины? Мож ты плохо гуглил? А то какое-то некрасивое решение.
Алсо, по идее, если шина ушла в спячку — следует умерить аппетит до 100мкА. Хотя на это часто забивают, особенно китайцы, ти в спящем режиме хабики и прочее все так же радуют глаз своими светодиодиками.
0
  • avatar
  • Vga
  • 16 ноября 2011, 20:26
Не думаю, что из за этого. Было опробовано несколько устройств на V-USB. Все себя так ведут.
Решение, согласен, не самое изящное, но в данном случае другого помоему нет.
Похоже кроме меня никто этим вопросом не задавался, гугление ни к чему не привело.
Может это такой «баг» библиотеки?
0
Возможно просто ни одно из устройств это состояние правильно не обрабатывает. Хотя, возможно, и библиотека. А что, на официальном форуме V-USB на эту тему ничего нет?
0
Есть одна тема, но что то ничего конкретного.
0
отсутствуют стабилитроны, ибо пока нет в наличии
«Риск благородное дело»??? ))
0
Вот чтобы не рисковать, пока подключено через хаб)
0
Здорово, у меня роль этого решения выполняют внешние динамики Логитечевские Z-10 довольно удобно.

А у этой штуки есть обратная связь с компом, можно там громкость крутить, произвольные функции например какие-нибудь?
0
В исходной схеме есть кнопки, я их не ставил. с помощью их можно управлять чем либо. (В плагине к LCD Smartie это не реализовано).
А для громкости и т.п. у меня пульт и тв тюнер)
0
Имею дисплей 240x64, но поизучав даташиты на похожие на него дисплеи (ибо именно на него не нашел), пришел к выводу, что ему для работы нужно 12 вольт. Может такое быть? Или это я туплю?
Экранчик: UG-24B03-GNBR5-B
Фото1 и Фото2
Вот даташиты на все микрухи, что присутствуют на экранчике: dl.dropbox.com/u/26973339/UG-24B03-GNBR5-B.rar

PS: автор — молодец, тоже понравилось.
0
Это врятли. Контроллерам на плате не больше 5v надо. К чему там 12v? Подсветка разве что только, если от 5v не работает.
0
Ой, а я запускал такой экранчик. Он на T6963.
Ему нуна 12 вольт для подсветки и -10 вольт для дисплея.
0
Вот, я же говорил, что не все с ним ладно…
Чтож, я так понимаю, без 12 вольт не обойтись (если подсветку хочется). Ладно.
2 вопрос) как из +12 и GND получить все остальные вольтажи для этого дисплея с наименьшими потерями?
3) Собственно, ему какие вольтажи еще нужны? Я так понимаю:
+12 для подсветки
-10 контрастность дисплея
+5 управление
Что-то еще? (что-то геморройный он какой-то :) )
0
Хороший экранчик. Мне он куда больше понравился, чем KS0107/8.
Думаю, мона собрать один DC/DC 5 -> -12В, и питать от него подсветку и драйвер.
0
А хватит мощей-то? (если я правильно понимаю, для DC-DC ведь дополнительная мощность нужна?) Имеется в виду, если его, например, от +5V от USB питать, то это остается всего 200 миллиампер, это в случае, если USB положенные 500 отдает…
Или сколько ему тогда вообще потребуется миллиамперчиков? Если с подсветкой конечно.
Собственно хотелось бы тоже в виде шилда оформить, как в этой статье, только скорее всего не по USB подключение будет, а по I2C или как-то так (чтобы к другому контроллеру цеплять легко было).
0
Думаю, ~150 мА будет подсветка хавать и ~15 мА он сам. Стоит подать 12 В на подсветку и померять (тока сначала убедиться, что она действительно на 12 В, а не на 4.1, а то вдруг ;)).
Вроде должно USB хватить. Тока стоит USB-хвостик получше взять (24 AVG), особенно если он длинный.
0
Кстати, за ссыль спасибо :)
0
неплохо подключить питание самого дисплея +5 и пощупать разьем — у меня есть дисплей на таком же контроллере, только 240х128 — там встроеный источник отрицательного напряжения контраста(-18в, для комнатной температуры потребовалось -14) и электролюминисцентная подсветка (+9в) оказались…

по питанию — без подсветки мой вместе с 24-м пиком лопал 30ма от +12в через LM7805.
0
Там не стабилитроны ставят а супрессоры. Продаются под юсб специальный сборки. Так же они часто стоят на материнках так, что можно не всегда заморачиваться.
0
  • avatar
  • a9d
  • 17 ноября 2011, 02:36
Стабилитроны, именно стабилитроны. В V-USB они отнюдь не для ESD-защиты стоят.
+1
А они открываться успевают? А то я слышал что они медленные.
0
Я бы не сказал, что медленные. Емкость у них большая, но на LS не сильно страшно. Хотя вариант с питанием контроллера от 3.3В вроде надежнее. Собсна, я его только и использую.
0
У них ток для срабатывания большой. Порт может выгореть, а стабилитрон эту перегрузку даже и не заметит.
0
Что значит «ток срабатывания большой»? При малых токах у них еще ниже напряжение, чем напряжение стабилизации.
Впрочем, как я уже сказал, он там не для ESD.
0
Да быть такого не может. Тогда почему не стоит делитель на резисторах?)
0
Спроси авторов. Возможно потому, что резистор даст нагрузку на трансмиттер хоста, напряжение сигнала с хоста просядет и станет недостаточным для срабатывания входов МК. Тем более что резистор должен быть в районе 150 Ом.

Я использую второй вариант — питание МК от 3.3В. Стабилитроны при этом не нужны и работает несколько стабильней.
0
У армов на сигнальных линиях пару ма, но там резюками не брезгают.
0
Да на здоровье. Замени стабилитроны на соответствующие резюки и наслаждайся.
0
Не, я таким извратом не занимаюсь. И привыкать точно не хочу.
0
А другим что предлагаешь?) Переходить на армы со встроенным USB-трансивером?
0
есть меги со встоиным юсб. Также есть уже восьмая мега с юсб.
0
Они реже и дороже, чем обычная мега8.
0
Это из-за глупой политики атмела. Atmega8u2 достать гемор еще тот. Да и различных преобразователей куча.
0
Вот-вот. Так что V-USB — простое и дешевое решение. Правда извратное и ненадежное.
Да и различных преобразователей куча.
Ну, во первых, они ограничивают класс компортом, джой на них не сделать. А во вторых, что они, что внешние USB-трансиверы дороги. Дешевле купить МК с трансивером — STM32F102, PIC18F14K50 и т.п.
0
Вот именно! Лучше не заморачиваться и купить МК с USB. Цены там вполне адекватные. Да и намного надежней будет.
0
Быть такого не может. Это все равно, что добавить емкость в цифровую сигнальную линию. Такое никто не делает.
Накой там стабилитроны?
0
Для согласования уровней.
+1
Это каким же макаром он согласует уровни? Перед мегой стоят резюки низковольтные. Да и порт у меги не даст большой ток. Эти стабилитроны не будут открываться.
Наверняка там уровни согласует USB хост(из-за небольших токов) или супрессоры на материнке.
0
Блин, зачем спрашивать ессли потом начинать спорить? Если питаться от 5В то и уровни Д+ и Д- будут тож 5В. А что будет если впереть стабилитрон на 3.6В? Надеюсь понятно.
0
Да какой нахрен спор. Там супрессоры ставят.
0
Причем тут супрессоры?
0
У супрессоров намного ниже ток срабатывания и низкая емкость.
0
А не наоборот...??? ))))
+1
А как!!! +1
0
Если высоковольтные супрессоры тестируют на 1ма, то на низковольтных наверняка еще меньше.
0
Можно видеть что супрессоры срабатывают на uA. У стабилитронов это ma.
0
Да в принципе это ведь тоже самое, тока название немного вражеское=)
0
Это разные вещи. Стабилитрон на статику не среагирует.
0
со статикой мог перегнуть) От нее диодами защищаются.
0
Это каким же макаром он согласует уровни?
Для сигналов с Меги на USB…
0
Стабилитрон имеет большую емкость и большие довольно большой ток для срабатывания. Посмотри даташиты на стабилитроны.
Это кокой-то изврат юзать стабилитроны для согласования сигнальных линий.
0
Ты сам себе противоречишь=) Какой ток на линиях Д+ Д-? Ведь именно эти уровни согласуются! Вот тебе и встречный вопрос, какие нахрен супрессоры? Вполне хватает сбалитронов. Все работает и не жалуется;)
0
Для срабатывания стабилитрона, низковольтного нужно 10ма. они там ниоткуда не возмуться на сигнальной линии. Зато 10-20В появится могут. Стабилитрон эту перегрузку пропустит.
Супрессор на общий провод замкнет.
0
Вы всё перепутали… ))))
Успокойтесь и разберитесь…
0
Даташит на стабилитрон в студию)
0
10ма это то ток, который в даташитах приводится для указанного напряжения стабилизации. открыться он может и от 1 мА. И с меги в УСБ больше 3.3-3.6 В пойти не сможет, т.к. стабилитрон не даст.
0
Сгорают не по току а по напряжению. Перегрузка по напряжению может возникнуть в момент подкключения/отключения. Стабилитрон на нее не среагирует.
Для согласования их не используют. Тогда в схеме должн быть делитель на резисторах. Он там есть? Нет. Тогда почему его там нет.
0
По идее переггрузка по напряжению тож не возникнет! Вроде конструктивно разъемы так сделаны.
0
Даташит в студию!!! )))
+1
А малаца!) +1
Ждем щит!
0
Ну и??? )))
У BZX84 — 100-200 пФ…
У SMAJ — 1000-2000 пФ…
0
Ну и? Посмотри на емкость стабилитронов.
0
И что там??? )))
Она меньше чем у трансила на порядок… и всего в два раза больше рекомендации FTDI… ))))
0
Ты не забывай, что FTDI гонит данные на 480МГц, а это поделие — на 1.5МГц. И то на этой частоте рекомендуют влепить 47пф для фильтрации помех.
0
Насколько я помню там ставят бусинки.
0
Бусинки из другой оперы. И их тоже ставят, да. Хотя, по моему, в питание, а не сигнал.
0
А хз. На юсб кабелях обычно есть здоровый набалдашник. Там вроде ферит стоит.
0
Это да. Но, ЕМНИП, это фильтр синфазных помех. А бусинки гасят ВЧ сигналы. У них несколько разное назначение.
+1
Для 480МГц — другие рекомендации… читай даташиты… ))))
0
Возможно я спутал и это рекомендации для FS. Не помню. Но мне помнится, читал я это в каком-то документе, относящемся к HS хабам. Если вспомню/найду — проверю.
0
Почитал рекомендации FTDI. Да, 47пф для FS (12MHz), для HS (480MHz) — до 10пф. Ферритовые бусины в сигнальные линии ставить запрещается, применение фильтров синфазных помех (common-mode chokes) не рекомендуется.

Емкость стабилитронов великовата, конечно. Но сапрессоры из несколько другой оперы — во первых, не видел на 3.3В, а во вторых — у них весьма нехилый разброс, порядка 20%, если не больше.
0
«Так быть не должно...»… но делают… )))
Новый вид популярного извращения… ))))
0
Стандарт оговаривает предельное напряжение на линиях D+/D- как +3.3В. Поэтому нужно либо питать МК от 3.3В (со всеми вытекающими, включая то, что на 3.3В работа МК на частоте 12МГц даташитом не гарантируется), либо ограничивать напряжение, выдаваемое МК, стабилитронами.
«Ток срабатывания» — во первых, обычно миллиампер от трех, а во вторых, это ток, при котором стабилитрон выход на вертикальную ветвь характеристики. При меньших токах напряжением на нем ниже напряжения стабилизации и сильно нестабильно.
Емкость на LS не сильно мешает, кроме того, даже на HS в линии иногда ставят конденсаторы для фильтрации помех.
0
Ну тогда все глупы, что юзают резюки, полевики и микросхемы для согласования. Дружно нкжно переходить на стабилитроны.
0
Стабилитроны и диоды для согласования юзают ничуть не реже. Глянь хотя бы на схему стандартного программатора для понипрога. Или на LPT-адаптер программы Epson Cartridge Tools.
74LVCxxx тут подошла бы больше, да. Но она куда дороже и реже, чем пара стабилитронов.
Через резистивные преобразователи пинборда у меня, кстати, вообще ничего не работает. Что дисплеи, что SPI Flash.
0
74LVCxxx тут подошла бы больше, да.
Вру кстати. Линия-то двунаправленная. Так что кроме стабилитронов пожалуй и нету больше удовлетворительных решений (нужны двунаправленность, отсутствие нагрузки на передатчик хоста, приличная скорость и дешевизна).
0
Кстати вру. Их защищают диодными сборками с супрессором PRTR5V0U2X.
Но стабилитроны для согласования это полный изврат.
0
кстати нужно заметить, что срабатывают они на 5.5В! Значит на сигнальных линиях 5В допустимо.
0
Нет, не допустимо. Допустимость 5В на сигнальных линиях определяется не супрессорами в какой-то там микросхеме, а спецификацией USB, которая прямо говорит — 3.3В.
Хотя и с пятивольтовыми сигналами работает, но гораздо хуже совместимость с разными хостами, а она у V-USB и так не на высоте.
0
В стандарте оговоренно. Но эти микросхемы рассчитаны на 5.5 а не на 3.3В. Значит разработчики не посчитали 5В опасными для хоста.
0
Сапрессоры обычно выбираются с некоторым запасом. К тому же, это защита.
А на практике — если забить на ограничение напряжения на сигнальных линиях в 3.3В, то многие хосты/хабы говорят «Фи, что за merde вы в меня вставили? Не буду я с ним работать». Хотя многие работают, в том числе, как я понял, у автора.
А некоторые хосты отказываются работать со стабилитронным вариантом вообще. Только с таким, где МК запитан от 3.3В, и, соответсвенно, никаких согласователей нет.
А некоторые и вовсе не работают с V-USB ни под каким соусом.
0
Скорее ты просто плохо знаком со схемотехникой) Решение далеко не редкое.
Их защищают диодными сборками с супрессором PRTR5V0U2X.
Чем угодно их мона защищать. И сапрессорами, и сапрессорными сборками в том числе. Уж явно не одна микросхема для этой задачи существует.
0
Чем угодно не получится. Что угодно не среагирует на переходные процессы возникающие при подключении/отключении.
0
Не в процессах дело. Защита там от разрядов статики.
FTDI например в своем аппноте приводит защиту тремя сапрессорами (питание и две сигнальных). У ST в какой-то микре — сапрессор по питанию, сигнальные защищены диодами на питание и землю. Еще в какой-нить микре вполне могут стоять те самые три сапрессора.
Сигнальные линии защищают диодами, а не сапрессорами скорее потому, что у последних слишком высокая емкость.
0
так это понятно везде используют диоды. Даже в МК.
Но эта микросхема предназначенf для защиты USB. И 5В она пропустит. А значит какой в ней толк? Не могли же они так лохонутся и по ошибке ее такой сделать.
0
Такой в этом толк, что она предназначена для срезания многокиловольтных импульсов статики. И не должна резать сигналы самой линии. Поэтому взят некоторый запас.

И вообще, зачем спорить, если стандарт четко оговаривает этот вопрос — не более 3.3В? Нарушение стандарта может и не приведет к немедленному хоттабычу, но на совместимость и прочие прелести влияет.
0
Так в том то получается и дело. Сигнальные линии они не защищают от 5В. Да и лишние два вольта врядли как либо помешают на связь с хостом. А если и повлияют, то их банально нет! Никто не производит USB трансиверы 5В логикой.
Это лишь ошибка V-USB.
А так как от 5В защиту не ставят, то на стабилитроны можно забить и поставить только резюки.
0
Блин, это не ошибка V-USB, это средство согласования имеющихся средств (5В GPIO) с требованиями стандарта!
Что до железных USB трансиверов, то на них никто стабилитроны и не ставит.

К тому же, почему ты делаешь выводы по одной микросхеме защиты? Она уникальная и других не существует? Это истина в последней инстанции, которая авторитетнее официальной спеецификации USB? А ты уверен, что в питающемся от 3.3В трансивере на материнке линии D+/D- не защищены обычными диодами на питание, которое, на минуточку, 3.3В?
0
Во первых я посмотрел аналоги от ST. Там такая же байда.
Во вторых USB хост должен давать питание 5В. Эти микросхемы питаются от 5В. Можно глянуть доки на хосты.
В третих наверняка защищены диодами. А значит какой цимес в стабилитронах! Токов там больших быть не может, диоды излишки погасят.
0
Кстати а кто нам мешает поставить один стабилитрон, через резистор на 3.3В. И от сигнальных линий поставить диоды шотки.
Это смотрится куда розумней, чем стабилитроны.
0
Ничего более разумного в этом не вижу. К тому же, эта схема сложнее. Кроме того, стабилитроны на 3.6В, диоды добавят еще 0.3-0.5, результирующее будет 4В вместо требуемых 3.3В.
0
Во первых не будет емкости. Диоды добавят 0.2В. В итоге получится 3.5В «High: min 2.8V, max 3.6V»
0
Что ж, эта схема возможно и имеет право на жизнь. Но она сложнее. Да и стабилитрон на 3.3В найти сложнее, чем на 3.6В.
0
А значит какой цимес в стабилитронах! Токов там больших быть не может, диоды излишки погасят.
Ты о чём сейчас??? ))))
А про повышение уровня «нуля» при пятивольтовой запитке не забыл??? ))))
Что… в процах VUSB на отдельную ногу зря выводят??? ))))))))
0
«повышение уровня «нуля» » это что такое?
«Что… в процах VUSB на отдельную ногу зря выводят??? ))))))))»

Что и куда выводят?
0
5В шина предоставляет питание устройству. Вся USB логика работает от 3.3В.
А значит какой цимес в стабилитронах
Universal Serial Bus Specification, Revision 2.0, 7.3.2 Bus Timing/Electrical Characteristics, Table 7-7 DC Electrical Characteristics:
Output levels for low-/full-speed:
Low: min 0V, max 0.3V
High: min 2.8V, max 3.6V
V-USB 20081126, circuits\readme.txt:
CIRCUITS IN THIS DIRECTORY
==========================
Since USB requires 3.3 V levels on D+ and D- but delivers a power supply of
ca. 5 V, some kind of level conversion must be performed. There are several
ways to implement this level conversion, see the example circuits below.

with-zener.png and with-zener.sch (EAGLE schematics):
This circuit enforces lower voltage levels on D+ and D- with zener diodes.
The zener diodes MUST be low power / low current types to ensure that the
1k5 pull-up resistor on D- generates a voltage of well above 2.5 V (but
below 3.6 V). The advantage of this circuit is its simplicity and that the
circuit can be powered at 5 V (usually precise enough if the cable drop is
neglected). The disadvantage is that some zener diodes have a lower voltage
than 3 V when powered through 1k5 and the choice of components becomes
relevant. In addition to that, the power consumption during USB data
transfer is increased because the current is only limited by the 68 Ohm
series resistor. The zeners may even distort the signal waveforms due to
their capacity.
Еще вопросы?
0
Про USB я и сам знаю какие там логические уровни.

Так разработчики VUSB сами же и признали, что эта реализация Г*! Нахрен следовать ихнему примеру? Есть же куда более разумные способы преобразование уровней.
0
Приводи конкретные варианты. Этот вариант работает, прост, и он позволяет питать МК от 5В (во первых, это может быть актуально для подключенной к нему периферии, во вторых, работа камня на 3.3В и 12МГц лежит за пределами спецификации).
0
___|-D1->|
D+---R1------- Port
_____|
_____R2
_____|
_____GND

«нижним подчеркиванием пренебречь»
В USB будет идти через делитель. От USB через диод шотки.

Простой не значит лучший. Нужно разрабатывать устройства которые работают а не те которые возможно работают.
0
Этот способ, если ты не заметил, еще дешевле чем со стабилитронами. Но его не применяют. С чего бы это? Может с того, что 1.5к резюк должен подтягивать линию до +3В, а 130-омный резюк делителя он не пересилит? И еще потому, что входное сопротивление ресивера должно быть не менее 300кОм (не считая подтяжек — 1.5к вверх со стороны девайса, 15к виз со стороны хоста).
0
Не стоит забывать и о том, что V-USB — решение бюджетное. Именно поэтому кроме варианта «питать МК от 3.3V LDO» есть вариант «питать МК через два последовательно включенных диода, на который упадет примерно 1.4В».
Если уж не ограничиваться финансами, то лучше поставить любой МК с USB на борту. Правда, они как минимум вдвое дороже и в сто раз реже, чем мега8.
0
При разработке время стоит намного больше чем микросхемы.
Лицензия VUSB стоит больше чем микросхемы.
0
Если ты про коммерческую, то любителей она не волнует, а при серийном производстве 10к микросхем легко перевесят цену одной лицензии. А единичное производство под заказ — не факт что вообще кто-то про лицензию вспомнит.
С временем претензии тоже непонятны. Разрабатывать под V-USB явно не дольше, чем на железном трансивере. Опять же, любителя время не беспокоит, а в серии — то же, что и с лицензией.

Впрочем, я слабо себе представляю коммерческий девайс на V-USB. Из-за его проблем с совместимостью на хардверные USB переходят даже шарашкины конторы.
0
Так разрабы с VUSB хотят отчисления с каждого устройства. И при массовом производстве цена микросхем падает.

Я любитель. Попробовал один раз V-USB. И на этом и закончил. Так и не понял его смысла. Хардварный USB намного удобней. Мега с usb стоит немного больше.

ATmega16U4 стоит всего лишь 28грн.
ATmega16A- стоит 21 грн.

За юсб доплачиваем всего 7грн и получаем все удобства.
С арм еще веселее.
0
Эм. Не помню, сколько там эта ваша гривна.
По нашим ценам мега8 стоит от 35р (примерно бакс). Самое дешевое, что я нашел с USB — PIC18F14K50 за 70р. Правда их не продают даже в Промэлектронике, а это один из крупнейших поставщиков в регионе.
ATMega-U тоже фиг где найдешь. Ни в промэлектронике, ни в чип-нн, ни в icdarom их нет.
В локальном магазине водятся только ATtiny2313, ATmega8 и пара пиков. Зато цена от 80р!
LPC1343FBD48 — 95р, STM32F102 — тоже в этом районе. Ближе промэлектроники не водятся.

Так что V-USB в GPL-варианте обходится втрое дешевле и намного доступнее. Для многих задач это актуально.

Ну и еще один фактор — он появился несколько лет назад. Тогда USB-МК были еще реже и дороже.

И еще один фактор — V-USB мона поднять на ATtiny45. Аналогов с хардверным USB просто не видел. А это позволяет упихать девайс в USB-штекер, как, например, в «Haunted Keyboard Cable».
0
CP2102 стоит 11грн = 44р
ATmega16U4 стоит 112р.

И это цены в рознице. В реале они стоят еще дешевле.

ATmega8U2 достать намного сложнее чем ее старших братьев. Наверное спросом не пользуется.
0
Ну так оно тоже втрое дороже, чем мега8. И хрен где найдешь. Лучше уж ARM тогда.
CP2102 я не видел дешевле 51р, ну и это компорт онли. А меня, например, интересуют HID и MSD.
0
дык это в розницу. На буржуйских сайтах стоит дешевле. Это наши барыги наценку дают.
0
Ну вот зачем спорить. Лично проверял 5-ти вольтовый варинт на множестве мамок. Процентов в 40 случаев не работает!
0
Зачем ставить защиту на 5В если спец микры для усб и так на чигнальных линиях держат 3.3 вольта?
0
Тогда какой толк в оставшихся резюках?
0
Резюки и в бесстабилитронном варианте стоят. Во избежание ситуации «хост тянет вверх, МК вниз, кто-то сгорает».
0
Резюки стоят и в хардварных реализациях. В даташитах их можно видеть, они под корпусом.
0
Согласно спецификации, линии должны выдерживать коротыши в любых сочетаниях (GND-VCC, GND-D, D-D, VCC-D). Вот для этого они и стоят, надо полагать.
0
Тогда какой толк в оставшихся резюках?
Они выполняют две функции… ограничение тока и «антизвон»… )))
0
Но эта микросхема предназначенf для защиты USB. И 5В она пропустит. А значит какой в ней толк? Не могли же они так лохонутся и по ошибке ее такой сделать.
Может надо отличать согласование от защиты… и рабочий уровень от максимально допустимого??? ))))))
При пяти вольтах на шине вам никто не даст гарантию работоспособности устройсва… как повезёт… ))))
+1
Дружно нкжно переходить на стабилитроны.
Да уже ведь сказали… что это ламерское извращение… ))))))
Вот дались вам эти стабилитроны… ))))))
0
Товарищи, помогите. У меня на экране появляется надпись Initializing… и исчезает. Так постоянно.
В логах ubuntu:
Apr 2 19:17:17 localhost kernel: [1643659.743065] usb 3-4: new low-speed USB device number 87 using xhci_hcd
Apr 2 19:17:17 localhost kernel: [1643659.743508] usb 3-4: Device not responding to set address.
Apr 2 19:17:17 localhost kernel: [1643659.947259] usb 3-4: Device not responding to set address.
Apr 2 19:17:17 localhost kernel: [1643660.150595] usb 3-4: device not accepting address 87, error -71
Apr 2 19:17:17 localhost kernel: [1643660.151180] hub 3-0:1.0: unable to enumerate USB device on port 4

Куда копать? Схема собрана на макетке, как у автора.
0
То есть циклически появляется/исчезает? Похоже, что происходит сброс микроконтроллера. Попробуйте подключить к другому компьютеру, попробуйте так же запитать схему от отдельного источника, не подключая к компьютеру.
0
Возможно не реботает USB-интерфейс. Приведенная в статье схема со стабилитронами вообще ненадежна. Проблемы могут быть в неподходящих стабилитронах (слишком высокая емкость, слишком большой минимальный ток, etc), в плохом USB-кабеле, в плохой разводке USB (как ни странно, но даже на LS на это народ напарывался).
Я бы запитал МК от 3.3-3.6В и выкинул стабилитроны вообще. Подтяжка в этом случае заменяется на единственный резистор 1.5к с D- на +3.3В. Потребуется, правда, согласование с дисплеем. В принципе, для эксперимента можно просто поставить в линии D4-D7, EN, RS, RW резисторы ом по 330 либо не читать данные с дисплея вообще.
Еще с плохими USB-кабелями бывает, что на кабеле просаживается питание до такой степени, что МК сбрасывается.
0
Спасибо за советы, я думаю, что проблема всё-таки в способе соединения(в макетке). Решил вытравить платку и протестировать на ней. О результатах отпишусь.
2 Bonio: работу схемы проверял также на другом компе с winXP — ситуация такая же, хотя железо координально отличается.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.