Делаем заново и с нуля.
Мой предыдущий кабель не оправдал возложенного на него «високого давэрия». Он почему то, при переходе УПСа на батарею, переставал работать. Помогала только перезагрузка PL2303, путем выдергивания USB и вставляния на место. Причем такая фигня наблюдалась на двух идентичных кабелях и двух разных компах. В общем я пришел к выводу, что проблема в самой PL2303. Микросхема довольно старая и ее поддержка прекращена.
Поэтому я решил сделать новый кабель (даже 2) с нуля. Взять актуальный и поддерживаемый контроллер и развести свою схему. Я выбрал CP2102. За минимальный размер корпуса (qfn28 — квадратик 5х5мм) и пониженные требования к обвязке (всего пара конденсаторов).
Тут есть еще одна небольшая проблема. На выходе CP2102 — UART. А УПСу нужен RS232. Дело в том, что хотя RS232 и UART похожи как близнецы-братья, сигналы у них инвертированы друг относительно друга. Т.е. лог. «1″ в RS232 соответствует лог. «0″ в UART и наоборот. Соответственно нам надо инвертировать сигнал между CP2102 и УПСом. Проще всего это сделать с помощью транзистора. В нашем случае двух, т.к. надо инвертировать 2 линии. RX и TX.
Исходя из вышенаписанного, родилась такая схема. Я использовал двойной N-канальный полевик IRF9956 в корпусе SO-8. Что было в запасах, то и использовал. Но вы можете поставить и 2 отдельных транзистора.
Саму CP2102 можно добыть из такого USB-UART конвертера. Они достаточно дешевые.
Еще понадобится разборный DB-9 M на кабель. В его корпус все и запихнем. Например такой.
Такая плата получилась. Все на одной стороне. К сожалению, при сборке забыл сфоткать. Поэтому только 3D визуализация из Proteus.
Сейчас, по прошествии нескольких дней и 3 скачков напряжения, первоначальная мысль о замене PL2303 на CP2102 оказалась верной. Оба кабеля стабильно работают и передают данные в любом состоянии УПСов. Нет ни намека на отвал связи.
Это прекрасно! Хорошая мысля приходит апосля)
НравитсяНравится
Более того, я, прочитав первую статью, купил два кабеля, как упомянул аффтар. И есть странная проблема. APC-FIX видит бесперебойник, а парщют и винда нативно — нет.
НравитсяНравится