Feed aggregator
Expanding Chrome’s AI experiences to India, New Zealand and CanadaExpanding Chrome’s AI experiences to India, New Zealand and CanadaDirector, Product Management
We’re bringing Gemini in Chrome’s powerful AI features to more regions and languages, helping millions of people get the most out of their browser.We’re bringing Gemini in Chrome’s powerful AI features to more regions and languages, helping millions of people get the most out of their browser. 2026/03/11_rs485 - Уже неделю бьюсь с RS485
Мы из столбов и толстых перекладин
За складом оборудовали зал.
Там Гамлета играл ефрейтор Дядин
И в муках руки кверху простирал.
Евгений Винокуров
Вторую неделю бьюсь с RS485 и не могу победить. Есть китайские мопеды (в количестве), у них процессор с дисплеем на приборке и батарея, имеющая три сигнальных провода rs485: черный — земля, белый — А, серый (или синий) — B. Землю можно не подключать, но конечно пробую по-всякому. Подключаю провода к свистку rs485-uart, читаю посылки. Расшифровываю протокол, он оказывается прост и довольно стандартен (позже я даже нашел, что его реверснули и китайцы и получили то же):
[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]
Нарисовал себе читалку-инструментик прямо на вебе (благо Chrome десктопа позволяет работать с UART): https://lleo.me/uart/ Подслушиваю разговор мопеда с батареей. На запрос мопеда 31CE 02 (чтение) с данными 02 2B или 2D 37 не отвечает никто, если батареи нет, а если есть — она отвечает 31CE 82 с инфо (включая серийник) и состоянием (процент заряда, напряжение, ток, температура, вольтаж на каждой банке). Я знаю о ней всё:
[ ТЕКСТ ПОД КАТОМ: Доступен только в оригинальной заметке на сайте ]
В общем, посылки получаю, расшифровываю, формат известен, данные правильные, контрольные суммы сходятся, и всё это точно RS485, не RS232, не CAN и не LIN. Казалось бы, могу и сами отправлять их в линию, и меня услышат. Но хрен там — меня не слышат. Слева — посылки нормального человека, справа — с моего свистка:
Нет положенных в rs485 размахов аплитуды, каждый канал уходит в минус только до средней линии. Над этой загадкой я бился, потом подсказали друзья. Мой китайский свисток в принципе раньше работал мастером нормально, но если он не мастер и линия подтянута, работать нормально не сможет. В драйвере rs485 на микросхеме MAX458 есть сигнал DT (ноги 2,3), который переключает ее в прием/передача. Этим должен управлять комп, но китайцы делают «автораспознавание»: тупо завели TX через транзистор. Поэтому когда 1, MAX458 честно передает 1, а когда 0, передача выключается, сигналы падают к уровням тишины, и 0 не отрабатывается по полной амплитуда. Ставят эту дурацкую схему, разумеется, как в дешевые китайские свистки, так и во многие дорогие (традиционный херушка на воротничок любителям ориентироваться в мире суеверий по цене).
Ну ок, не вопрос. Я выяснил, что вторая микросхема свистка uart CH340C имеет выводы RTS и DTR (не все варианты CH340 их имеют), припаял с ножки 14 резистор 10k и выставляю с компа RTS принудительно на время передачи (JS в Chrome и это умеет).
Результат — теперь мои сигналы стали идеальными:
Казалось бы, проблема решена? Но нет, батарея все равно меня не слышит от отвечать не хочет :) Все остальное, разумеется, уже перепробовал: землю, полярности A/B, тайминги, 120 Ом терминатор, линию никто не глушит, посылки не накладываются, сами на 100% соответствуют формату, и их последовательность тоже (пробовал слать в батарею и вообще всё, что слышно в мопеде). Причем, батарея посылку слышит — она явно «просыпается» по первой же посылки: уровни тишины линии сдвигаются на 0.5V вверх, через какое-то время засыпает снова. Но отвечать мне считает ниже своего достоинства. Больше идей у меня пока нет. Может, у вас есть?
Бывало, выйдет, головой поникнет,
Как надо, руки скорбно сложит, но
Лишь только «быть или не быть?» воскликнет,
Всем почему-то делалось смешно.
Евгений Винокуров
