• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Разнообразные модули с RTL871x и RTL8195.

A_D

Active member
A_D, То что сделали устройство это хорошо. :) А я вот блин буквально месяц назад достал из коробки rtl модули купленные ещё чёрт знает когда, думал на них попереводить кое-что. Начал разбираться. Оказалось, что мои модули вообще какие-то предсерийные (примерно такие https://www.iot-dev.net/img/RTL8710.png), которые фиг где уже купишь сейчас (чипы спиленные, но судя по всему 8711, пару пинов перепутано). Поигрался немного и забил.
Видел их на ebay по дикой цене давно и не решился заказать, видимо не зря таки...

Заказал 8195 и слепил за пару часиков для них плату отладочную, потому что как я понял с той что есть какой-то дурдом (pvvx писал что там и пины поперепутаны и мало их). Приедут, буду продолжать.
Оо, мне таких 2шт пришло, аукционы по 0.99$ выйграл(не так обидно, как за полную цену хотя бы).
Как пришло, сам увидел, что лютый треш и использовать это нельзя... под антенной кстати заливка тоже там хорошая, хотя в тоже время в документах от производителя MJIOT на модуль ихний есть рекомендация, типа оставляйте от заливок и проводников место около антенны :)

Симпатично! Дорожки IO только не тонковаты ли ? (особенно около разьёмов выходных)
И от USB на землю резисторы это для чего? (или это так супрессоры показаны? если супрессоры, то тогда переходные должны быть после них, а то защита будет не очень)
 

koreshx

New member
переходные должны быть после них, а то защита будет не очень
После переходных линия километровая, так что не страшно. Хотя на серийном девайсе да, так лучше не делать.

Дорожки IO только не тонковаты ли
А для чего они могут быть тонковаты? Не питание же :)


Хорошо если там ошибок фатальных не будет, а это мелочи ))
 

pvvx

Активный участник сообщества
Как пришло, сам увидел, что лютый треш и использовать это нельзя... под антенной кстати заливка тоже там хорошая, хотя в тоже время в документах от производителя MJIOT на модуль ихний есть рекомендация, типа оставляйте от заливок и проводников место около антенны :)
Отладочная плата от MJIOT для RTL8195A - это полный треш, т.е. покупать ни в коем случае не стоит - ради совместимости c модулем RTL8710 выведены по несколько раз одни и те-же пины, а нужные, для чего нужен RTL8195A, часть засажены на GND, а часть просто банально перепутана с доп. разъемом... Встроенная антенна модуля вообще замкнута слоем GND на отладочной плате. Но сами модули вроде ничего - есть мелкие отличия от первых "рефересн", но они незначительны и на общую картину не играют. Стремление к качеству изготовления модулей пока замечено только у RAK... По встроенной антенне и тесты RAK, и сторонние на их модулях, показывают нормальные показатели.
 

A_D

Active member
koreshx, Круто, выглядит хорошо :) а я со своими всё вожусь... одна из плат вроде бракованная, а с двумя другими есть проблемы с i2c3. И из-за нехватки времени и этих проблем всё статейку по VS никак не допишу, всё не уверен в правильности моего порта под неё и возможно из-за этого и проблемы с i2c3.
 

pvvx

Активный участник сообщества
@A_D
Можно по возможности уже и поиграться :)
Есть уверенность, что на OTG USB это все требуемые компоненты и правильно согласовано?
У меня вот нет. Тесты, правда собранные на соплях макетки модуля с RTL8195AM дают много сбоев именно из-за такого соединения (напрямую с USB-WEB-CAM)...
К тому-же, большинство USB устройств не пашут, если не перевключать их питание. Впадают в sleep и т.д., из которого их не вывести сигналами USB...
 

koreshx

New member
Есть уверенность, что на OTG USB это все требуемые компоненты и правильно согласовано?
У меня вот нет. Тесты, правда собранные на соплях макетки модуля с RTL8195AM дают много сбоев именно из-за такого соединения (напрямую с USB-WEB-CAM)...
Не.. откуда может быть уверенность если никаких компонентов вообще нет, а линия не диффпара 90 оммная а просто пара выровненных по длинне проводников :D Просто ввиду отсутствия хоть чего-то для подключения 8195 кинул юсб на плату хоть в каком виде, дабы не оставлять уж совсем непозволительно много пустого места на плате. Практика покажет как это чудо будет работать. Всяко лучше чем с дс-дс вместо лдошки, на его я вообще забил )
Если кроме шуток - то я бегло посмотрел схему амёб от рилтека - там тоже ничего нет. Ни в плане отг, ни в плане юсб линии, а плата двухслойная наверняка, короче на такую короткую линию тоже видимо никто не заморачивался. Ну а по самой линии, что-то не припоминается чего-то современного, что требовало бы наружные резистры, внутри они. Как проверю на чём-нибудь - узнаю и расскажу, напрямую осциллографом глянуть не получится, нет полосы пропускания. Если будут глюки - попробую порезать и засунуть 27оммные сопротивления.
 

koreshx

New member
К тому-же, большинство USB устройств не пашут, если не перевключать их питание. Впадают в sleep и т.д., из которого их не вывести сигналами USB...
А можете тут немного пояснить или послать в нужном направлении (нужных доков)? По юсб плаваю пока, нужно исправлять...
На всевозможных одноплатниках на каждый порт юсб ставят токовый ограничитель (как вариант SY6280), но который включается напрямую пином контроллера. Управление получается используется не только для того чтобы отрубить порты в энергосберегающих режимах, но и чтобы передёрнуть питание устройства при подключении драйвером? И по какому событию происходит скидывание питания?
Спасибо
PS
А как быть с юсб хабами?
 
Последнее редактирование:

A_D

Active member
koreshx, реализацию USB OTG как вариант можно поглядеть в схеме STM32F4DISCOVERY - Discovery kit with STM32F407VG MCU * New order code STM32F407G-DISC1 (replaces STM32F4DISCOVERY) - STMicroelectronics ключ питания там - STMPS2141STR, дешёвый и паябельный вполне Элитан - сертифицированный дистрибьютор электронных компонентов и для защиты там стоит EMIF02-USB03F2 , можно и попроще ставить, к примеру USBLC6-2SC6
 

A_D

Active member
Есть уверенность, что на OTG USB это все требуемые компоненты и правильно согласовано?
У меня вот нет. Тесты, правда собранные на соплях макетки модуля с RTL8195AM дают много сбоев именно из-за такого соединения (напрямую с USB-WEB-CAM)...
К тому-же, большинство USB устройств не пашут, если не перевключать их питание. Впадают в sleep и т.д., из которого их не вывести сигналами USB...
Шибко сложного там ничего нету, если не USB 3.0+ ... как доказательство - USB3300 Нескучная пайка USB3300: USB HS на STM32F407 вполне пашет и с МГТФ-ом и соплями ) А ключ - тоже дело плёвое, выше привёл дешёвый и вполне хороший вариант реализации.
 

pvvx

Активный участник сообщества
Шибко сложного там ничего нету, если не USB 3.0+ ... как доказательство - USB3300 Нескучная пайка USB3300: USB HS на STM32F407 вполне пашет и с МГТФ-ом и соплями ) А ключ - тоже дело плёвое, выше привёл дешёвый и вполне хороший вариант реализации.
На соплях яля' Arduino - проводки с наконечниками - USB не пашет. Даже шлейфом в менее 10 см на них между модулем и разъемом USB.
Если пропаять и кинуть дубли GND на шлейфе, то работает, но сбои даже на той дешевой камере есть. Касание или (нормальное) подключение щупа/щупов осла с 12 пФ 10 MОм (пассивный > 500MHz, Rise/Fail 0,7 нс) или 6 пФ 10 МОм (Rise/Fail 0,4 нс)приводит к зависанию работы USB Ameba драйвера. Т.е. вообще не понимает что там у него на USB. От этого и заключение, что там что-то не так. Амплитуды сигналов D+ D- слишком малые.
Ещё не добрался до RREF и прочего, т.к. некогда перепаивать модули и тесты пока делал на одном (может только в нем такой глюк).
Снимок1638.gif
Снимок1641.gif
2Gs/s (без обработки), на выводах модуля D+ и D- с камерой USB ID 2311:1908.
Синхро старт на осцилле 240 MHz... По рекомендациям из USB2.0 фронты должны быть лучше 500 ps. А на фото платы выше, на них только площадки под пустое место SMD уже будут звенеть..

Universal Serial Bus Specification Revision 2.0 стр 144 :)
Lumped capacitance guideline for the transceiver component
When characterizing a transceiver chip as an isolated component, the measurement can be performed effectively at the chip boundary shown in Figure 7-23 without USB connectors or cables. Parasitic capacitance of the test fixture can be corrected by measuring the capacitance of the fixture itself and subtracting this reading from the reading taken with the transceiver inserted. If the terminations are off-chip, discrete RS resistors should be in place during the measurements, and measurements should be taken on the “connector side” of the resistors.
The transceiver should be in Test_SE0_NAK mode during testing.
Capacitance measurements are taken from each of the data lines to ground while the other line is left open.
The instrument used to perform this measurement must be able to determine the effective capacitance to ground in the presence of the parallel effective resistance to ground.
Capacitance to Ground on each line: CHSLOAD ≤ 10 pF
Matching of Capacitances to Ground: ≤ 1.0 pF
The guideline is to allow no more than 5.0 pF for the transceiver die itself and no more than an additional 5 pF for the package.
The differential capacitance across the transceiver inputs should be no more than 5.0 pF

@A_D - у вас по ссылкам приведены USB Full-Speed......
Анализаторы Hi-Speed только на ослах c полосой и щупами от 1 GHz / от 5Gs/s.

-------
Снимок1642.gif
http://docs.toradex.com/102492-layout-design-guide.pdf
http://www.usb.org/developers/docs/hs_usb_pdg_r1_0.pdf
http://www.atmel.com/images/doc7633.pdf
https://www.silabs.com/documents/public/application-notes/AN0046.pdf
Layout Design Guide pdf USB 2.0 - Поиск в Google
 
Последнее редактирование:

koreshx

New member
@pvvx
Про отключение питания для обнаружения всё-таки не поясните?
Требования к диффпаре, паразитные ёмкости, итоговое качество фронтов (особенно), разумеется эти вопросы всегда тривиально решаются при производстве конкретного устройства, мануалов по разводке тысячи и все они с большего одинаковые и не особо нужные (разве что заглянуть уточнить цифры, как в справочнике) когда разрабатываешь устройства регулярно. По ёмкостям конкретно этой макетки, которая боже упаси ни в коем случае не является коммерческим или серийным продкутом - ради интереса завтра обмеряю (есть чем, дело не хитрое, хотя смысла мало - линия всё-равно не будет согласованной). А играться по назначению пока некогда, к сожалению.
 
Последнее редактирование:

pvvx

Активный участник сообщества
Про отключение питания для обнаружения всё-таки не поясните?
А попробуйте подключить смартфон или подобное. Они детектируют подключение к USB по появлению питания и предлагают тип подключаемого драйвера... Если тип драйвера удастся зафиксировать, то все равно он активируется по появлению питания на USB и если в течении какого-то времени драйвер не соединился, то устройство засыпает. К примеру на авто-регистраторах...
И таких USB устройств достаточно.

Или, к примеру, те-же USB камеры, если не отрубить питание, то жрут немерянно. Не все они умеею sleep. И второй случай - для автономного устройства: при подаче общего питания, пока не загрузится USB драйвер и не даст команду сна, практически любое подключенное USB устройство жрет. Только по этому его уже надо отключать и включать когда надо. И они тоже имеют свойство "виснуть".

Так-же дрова в SDK на USB-UVC к RTL не содержат пере-подключения устройств (они сделаны для Arduino, где если что проинито, то навсегда на данную сессию до перезагрузки - такая политика там :) ) и вообще никаких вариантов отключений или пере-инициализации внешнего устройства после запуска видео потока с камеры. Она так и будет жрать и гнать кадры, хотите вы или нет. Так задумано в Ameba :)
Пока по этому поводу мало озаботился и не ковырял как следует USB+UVC - выключить и включить драйвер USB/UVC полностью не выходит (остаются куски в RAM), но это всё-таки можно доделать и тогда уже хватит пина с порта для отключения питания внешнего USB и включения в другом режиме... Т.е. упрощает жизнь во многих случаях.
 
Последнее редактирование:

koreshx

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

pvvx

Активный участник сообщества
@pvvx Но если будет подключен хаб, то задача отключения питания конкретного устройства уже становится нерешаемой?
Текущие USB-дрова не пашут через хаб. Это будет актуально, когда допишите или напишите свои дрова USB.
Я пока копаюсь с тем, что есть.
 

koreshx

New member
Текущие USB-дрова не пашут через хаб. Это будет актуально, когда допишите или напишите свои дрова USB.
:) Видимо не будет, т.к. хабы (по крайней мере дешёвые), однозначно не дают управлять питанием у каждого порта по-отдельности. Кстати на оранже зеро вот глянул - порт тоже совсем не отключаемый (нет токовой защиты и контроля включения, только на более старших апельсиновых платах).
PS
Я глобально задачу правильно понял? Для правильной и надёжно работы устройства на базе рилтека (или чего угодно), если планируется подключение каких-то стрёмных устройств, желательно в драйвере предусмотреть возможность дёргать питание. Но в целом - такая функция нигде не стандартизирована.
 

pvvx

Активный участник сообщества
:) Видимо не будет, т.к. хабы (по крайней мере дешёвые), однозначно не дают управлять питанием у каждого порта по-отдельности. Кстати на оранже зеро вот глянул - порт тоже совсем не отключаемый (нет токовой защиты и контроля включения, только на более старших апельсиновых платах).
Ограничение тока и не требуется в конечном устройстве. Для игры, обучения и тестов - желательно.
В конечном устройстве ставят общий ограничитель и адекватную систему питания и не ставят USB разъемов, как это сделано и на Pi... Там только часть USB торчит.
 

sharikov

Active member
:) Видимо не будет, т.к. хабы (по крайней мере дешёвые), однозначно не дают управлять питанием у каждого порта по-отдельности. Кстати на оранже зеро вот глянул - порт тоже совсем не отключаемый
Управление питанием downstream портов осуществляет хаб. И оно работает: берете чип хаба от smsc, собираете по референсу и порты отлично включаются и выключаются причем все стандартизировано и работает "из коробки" со стандартными драйверами ос (собирал, проверял).

Для правильной и надёжно работы устройства на базе рилтека (или чего угодно), если планируется подключение каких-то стрёмных устройств, желательно в драйвере предусмотреть возможность дёргать питание. Но в целом - такая функция нигде не стандартизирована.
Для надежной работы usb управление питанием строго обязательно!
Функция управления питанием стандартизирована в спецификации хаба. Стандартнее не бывает: читайте usb.org! На хосте всегда есть корневой хаб и он так же должен иметь функцию управления питанием.
 

pvvx

Активный участник сообщества
K MII/RMII кто уже подключал phy? Какую из более доступных в виде модуля phy c разъемом Ethernet на внутреннем рынке (не "али"!) лучше взять для тестов?
 

A_D

Active member
K MII/RMII кто уже подключал phy? Какую из более доступных в виде модуля phy c разъемом Ethernet на внутреннем рынке (не "али"!) лучше взять для тестов?
KSZ9031RNXCA ? Элитан - сертифицированный дистрибьютор электронных компонентов Использовали такой, правда с ПЛИС SoC..
 
Сверху Снизу