Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ RS232/LPT/USB/PCMCIA/FireWire _ Согласование Cp2102 c МК

Автор: MKdemiurg Feb 7 2018, 06:23

Здравствуйте.
Раньше работал с FT232R
Использовал только VCC-IO, TX, RX. TX использовал с диодом. VCC-IO - подавал 3.6В от шины питания устройства.

Поставили задачу удешевления и питания ( только контроллера USB) от шины USB.
Т.е. надо ограничится только TX, RX, ну и земля естественно.

Нашёл самый дешёвый Cp2102.
Теперь не особо понимаю - как заменить.
Т.е. сделать так, чтобы не было паразитной запитки через TX-RX и одновременно согласовать по уровням.
МОжно, конечно, использовать два полевика и 4 сопротивления.
Но может как-то обойтись парой диодов?

Как устроена внутренняя схема входов Cp2102?

Автор: jcxz Feb 10 2018, 11:15

Цитата(MKdemiurg @ Feb 7 2018, 08:23) *
Поставили задачу удешевления и питания ( только контроллера USB) от шины USB.
Т.е. надо ограничится только TX, RX, ну и земля естественно.
Нашёл самый дешёвый Cp2102.

Настоящим удешевлением будет реализация CDC на USB вашего МК, а не CP2102.
Хотя, если вопрос в получении премии за удешевление устройства, то конечно выгоднее получить 2 премии чем одну: сперва заменить на CP2102, а потом - реализовать всё программно. biggrin.gif

Автор: Сергей Борщ Feb 10 2018, 12:25

QUOTE (MKdemiurg @ Feb 7 2018, 08:23) *
Т.е. сделать так, чтобы не было паразитной запитки через TX-RX и одновременно согласовать по уровням.
Чтение раздела 10 техописания на CP2102 вслух - 100 евро в час.

Автор: Pat Feb 10 2018, 13:34

Цитата(jcxz @ Feb 10 2018, 13:15) *
Настоящим удешевлением будет реализация CDC на USB вашего МК, а не CP2102.


Ага а потом отхватить кучу проблем с установкой драйверов к разным Windows, про Linux вообще молчу.
Будет типа тут работает, у всех работает а у меня нет.
С CP2102 с драйверами несколько легче.
Хотя тоже приходится с их установкой маяться.

По вопросу понимаю так у Вас МК 5V.
CP2102 вроде, как терпит 5В на входе, с паразитной запитой сложнее.
На полевках или диодах, но нужно будет программно линию с выхода МК в 0 ложить.
Тут опторазвязка нужна, но Вам нужно дешево, так что отпадает.

Автор: Сергей Борщ Feb 10 2018, 14:06

QUOTE (Pat @ Feb 10 2018, 15:34) *
По вопросу понимаю так у Вас МК 5V.

Или наоборот?
QUOTE (MKdemiurg @ Feb 7 2018, 08:23) *
VCC-IO - подавал 3.6В от шины питания устройства.

Автор: Vasily_ Feb 10 2018, 14:12

Что-то не понятно где экономия, FTDI давно наделала кучу разных микросхем подобных 232RL, и гораздо дешевле.

Автор: jcxz Feb 10 2018, 14:15

Цитата(Pat @ Feb 10 2018, 15:34) *
Ага а потом отхватить кучу проблем с установкой драйверов к разным Windows, про Linux вообще молчу.

Какие драйвера? CDC же не требует их, только *.inf. Или в новых виндах как-то по-другому?

Автор: Pat Feb 10 2018, 14:19

Цитата(jcxz @ Feb 10 2018, 16:15) *
Какие драйвера? CDC же не требует их, только *.inf. Или в новых виндах как-то по-другому?


В смысле какие?
http://electronix.ru/redirect.php?https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

Автор: jcxz Feb 10 2018, 14:26

Цитата(Pat @ Feb 10 2018, 16:19) *
В смысле какие?
http://electronix.ru/redirect.php?https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers

Причём тут дрова для CP2102? Я Вас про CDC спрашиваю.
Вы вообще в курсе, что это такое?

Автор: Pat Feb 10 2018, 15:03

Цитата(jcxz @ Feb 10 2018, 16:26) *
Причём тут дрова для CP2102? Я Вас про CDC спрашиваю.
Вы вообще в курсе, что это такое?


Да в курсе, CDC стандартный класс USB устройств.
Вы хотите сказать что в той же CP2102 все ограничивается только inf.
И все из коробки должно работать?

Автор: jcxz Feb 10 2018, 15:40

Цитата(Pat @ Feb 10 2018, 17:03) *
Вы хотите сказать что в той же CP2102 все ограничивается только inf.

Да с чего бы это я такое говорил??
Без понятия чем там ограничивается. CP2102 - это одно, CDC - это другое. Не обязательно CP2102 должна реализовывать CDC (и не обязательно не реализовывать). Виртуальные порты в винде могут появляться по разным причинам. Не только потому что CDC.

Автор: Pat Feb 10 2018, 17:42

Цитата(jcxz @ Feb 10 2018, 17:40) *
Без понятия чем там ограничивается. CP2102 - это одно, CDC - это другое.


Вот и я без понятия глубоко не копал эту тему, но как конечный пользователь, которому не сильно важно как оно все там работает,
а важно подключить свою железку к ПК.
Хочу сказать, что HID встает без проблем как стандартное устройство.
Для виртуального COM порта который работает через CDC, такого я не наблюдал.
Всегда нужно было ставить соответствующий драйвер.

А вот и стало интересно как он все работает, может кто покажет сам механизм на пальцах?

Автор: jcxz Feb 10 2018, 20:01

Цитата(Pat @ Feb 10 2018, 19:42) *
А вот и стало интересно как он все работает, может кто покажет сам механизм на пальцах?

Берётся inf-файл от любого CDC-устройства, и все строчки описания чужих устройств в нём заменяются на свои. Это 2-3 строчки всего.

Автор: Сергей Борщ Feb 10 2018, 20:25

QUOTE (jcxz @ Feb 10 2018, 22:01) *
Берётся inf-файл от любого CDC-устройства, и все строчки описания чужих устройств в нём заменяются на свои.
После чего винда начинает ругаться, что это левый файл. Как с этим бороться? В линухе таких слоностей нет - там драйвер для CDC встроен в ядро и работает "из коробки". Кроме того, надо где-то еще добыть vid и pid для своего устройства.

Автор: jcxz Feb 10 2018, 20:32

Цитата(Сергей Борщ @ Feb 10 2018, 22:25) *
После чего винда начинает ругаться, что это левый файл.

С чего бы? У меня не ругалось. WinXP.

Автор: Pat Feb 10 2018, 22:17

Цитата(jcxz @ Feb 10 2018, 22:32) *
С чего бы? У меня не ругалось. WinXP.


Сцена -1
Ну да, а потом говорите своему заказчику поставка ты друг WinXP, на свой комп что бы моя железяка работала.
А он говорит да у меня же новый ноутбук туда не то что XP а 7 не лезет.

Сцена-1 задний план
Выглядывает Эдди и превозмогая отвращение кричит ВИНДОВУС МАСТДАЙ.

Автор: Сергей Борщ Feb 10 2018, 22:48

QUOTE (jcxz @ Feb 10 2018, 22:32) *
С чего бы? У меня не ругалось. WinXP.
А под 98-м разрешала в порты напрямую писать. Вот только у моих заказчиков уже даже семерка редко встречается, не говоря уже о том, что новый комп можно купить только с десяткой.

Автор: jcxz Feb 10 2018, 22:59

Цитата(Сергей Борщ @ Feb 11 2018, 00:48) *
А под 98-м разрешала в порты напрямую писать. Вот только у моих заказчиков уже даже семерка редко встречается, не говоря уже о том, что новый комп можно купить только с десяткой.

И что? Под новыми виндами невозможно использовать устройство с CDC?

Автор: rx3apf Feb 11 2018, 08:42

Не по заданному вопросу, но как раз про CP2102 vs FT232R - столкнулся с странной ситуацией и пребываю в некотором недоумении:

Раньше обновлял прошивки в своих устройствах используя просто copy /b <file> COMn. С FT232, FT2232 - никаких проблем, байт-в-байт передавалось, и я полагал, что должно работать всегда и везде (115200, без управления потоком). И вот потребовалось сделать то же самое с CP2102 - не работает. Согласование нормальное, фронты не завалены - дай, думаю, погляжу, а что же там реально принимается (терминалкой) ? А оно байтики теряет ! Причем стабильно в одинаковых местах. И не только на 20 кило прошивки, а даже и на паре килобайтов текстового файла (обрезается хвост файла). Вот как так может быть, чтобы команда copy отрабатывала, а данные - в никуда ? Выкрутился, написав скриптик, который поблочно отправляет с махонькими межблочными задержками, но все равно осадочек остался...

Автор: Сергей Борщ Feb 11 2018, 10:03

QUOTE (jcxz @ Feb 11 2018, 00:59) *
И что?
То, что в любая винда моложе XP ругается на попытку правки .inf. Вы же на это отвечали "У меня не ругалось. WinXP."? XP умерла три года назад, закопали уже. Что она делала или не делала никого не интересует, как не интересует 98-я. Что делать с виндами, которые можно купить сегодня? Семерка ругалась, что делает восьмерка я не знаю - вроде как разрешает ставить такие драйвера в специальном режиме, а десятка может вообще не разрешать, с них станется. Включать оправдания "винда плохая" в инструкцию по эксплуатации?

Автор: jcxz Feb 11 2018, 13:52

Цитата(Сергей Борщ @ Feb 11 2018, 12:03) *
Что делать с виндами, которые можно купить сегодня?

На работе у меня 8-я. Но там нигде не использовал CDC - поэтому не знаю. Но в ней можно отключить проверку подписывания дров (и навсегда).
Это оно? (Я не знаю точно - не нужно было). Если оно - то тоже никакой проблемы нет.

Цитата(rx3apf @ Feb 11 2018, 10:42) *
Выкрутился, написав скриптик, который поблочно отправляет с махонькими межблочными задержками, но все равно осадочек остался...

А зачем писать? Можно было попробовать разные терминалки, которые умеют отправлять файл "как есть" в порт.

Автор: rx3apf Feb 11 2018, 14:17

Не хотелось использовать сторонние средства, лучше по возможности обойтись системной командой. Да и вовсе не факт, что терминалка не поступит точно так же - когда из скрипта непрерывным потоком передавал, картина была ровно такая же - потеря данных.

Автор: Сергей Борщ Feb 11 2018, 15:58

QUOTE (jcxz @ Feb 11 2018, 15:52) *
Но в ней можно отключить проверку подписывания дров (и навсегда).
С такими запросами можно потерять заказ или заказчика (и навсегда).

Автор: jcxz Feb 11 2018, 19:16

Цитата(Сергей Борщ @ Feb 11 2018, 17:58) *
С такими запросами можно потерять заказ или заказчика (и навсегда).

Ну если заказчик - кисейная барышня. rolleyes.gif
Отключить эту проверку на время или навсегда - что такого страшного? На XP жили вообще без неё и нормально.
А вот когда окажется, что для применённого в Вашем устройстве чипа USB-UART нет драйвера для новой винды и при покупке новых компов заказчику нужно всю купленную кучу Ваших устройств отправить на свалку и купить новую партию с новыми чипами - вот тут вполне реально заказчика и потерять.
История с PL23xx под новыми виндами должна была многому научить... laughing.gif

Автор: Pat Feb 11 2018, 19:27

Цитата(jcxz @ Feb 11 2018, 21:16) *
Ну если заказчик - кисейная барышня. rolleyes.gif


Заказчик вообще-то тот кто платит деньги.
Смешно Вы говорите.

История с PL23xx как раз то, о чем вам пытаемся донести.
Практическую сторону вопроса.
Просто вам наверное не приходилось, еще решать вопросы с заказчиками.
Работа сделана тогда когда все работает у заказчика, а не у себя на столе.

Автор: jcxz Feb 11 2018, 19:49

Цитата(Pat @ Feb 11 2018, 21:27) *
История с PL23xx как раз то, о чем вам пытаемся донести.
...
Работа сделана тогда когда все работает у заказчика, а не у себя на столе.

Вы вообще о чём??? Что донести?

Автор: Alexey-ka Feb 21 2018, 07:26

Можно сделать шаг чуть больше - применить CP2104, которая будет дешевле, а к концу года - заменить на CP2102N, которая меняется без изменений и должна будет появится на складах по более выгодной цене.

Основная масса проблем с CP210x обычно возникает из-за пайки, которая для корпуса QFN не каждому легко дается, или плату забывают промыть от флюса, который может давать достаточно низкоомную связь.

Автор: LightElf Feb 21 2018, 12:59

QUOTE (jcxz @ Feb 11 2018, 22:49) *
Вы вообще о чём??? Что донести?

Устройство должно работать у заказчика "из коробки", без мутных манипуляций с реестром, "режимов разработчика" и прочих плясок с бубном. В нормальных организациях такие манипуляции просто запрещены на уровне доменных политик. На Windows 10 S вообще невозможно подсунуть свой драйвер - он либо автоматически подтягивается с сайта MS, либо устройство не работает.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)