Сделал изолированный преобразователь USB UART для безопасного подключения своих поделок к компьютеру. Начинал его как часть печатной платы нового проекта, но позже выделил в отдельный модуль чтобы не разводить каждый раз одно и то же.
На выходе модуля помимо привычных RXD и TXD есть ещё DTR и CTS. Сигнал DTR использую для сброса устройства после заливки обновления прошивки (обычно ставлю перемычку чтобы функцию сброса можно было отключать).
Важное отличие от привычных модулей USB UART - на выходе нет напряжения со стороны самого модуля. Для питания изоляторов нужно подавать напряжение от 2,5 В до 5,5 В со стороны развязываемого устройства.
В схеме использованы преобразователь USB-UART CH340G и изоляторы цифровых интерфейсов CA-IS3722LS. Если не нужны сигналы DTR и CTS, то второй изолятор (U3) можно не ставить.
Печатные платы заказывал у NextPCB, от размещения заказа до получения плат на почте прошло 15 дней.
При сборке оказалось что под рукой нет ни предохранителей для поверхностного монтажа, ни даже сопротивлений "нулевиков" - пока поставил перемычку, а позже заменю на самовосстанавливающийся предохранитель. Индикацию наличия питания в виде светодиода D1 и резистора R1 не ставил, т.к. модуль будет стоять внутри непрозрачного корпуса. На второй модуль, который будет для отладки макетных плат уже буду ставить.
Печатную плату запекал на нагревательном столике.
Лишний припой на ножках микросхем убрал оплёткой
Для тестирования соединил с адаптером на базе FT232RL
Буду передавать бинарный файл размером 1 мегабайт через последовательный порт по протоколу ZMODEM (/dev/ttyUSB0
- изолированный модуль, а /dev/ttyUSB2
- модуль на базе FT232RL)
Передающая сторона
$ stty -F /dev/ttyUSB0 2000000 $ dd if=/dev/urandom of=test.bin bs=1M count=1 1+0 records in 1+0 records out 1048576 bytes (1,0 MB, 1,0 MiB) copied, 0,00417908 s, 251 MB/s $ sz --zmodem test.bin > /dev/ttyUSB0 < /dev/ttyUSB0 Sending: test.bin Bytes Sent:1048576 BPS:110963 Transfer complete
Принимающая сторона
$ cd /tmp $ stty -F /dev/ttyUSB2 2000000 $ rz --zmodem > /dev/ttyUSB2 < /dev/ttyUSB2 Receiving: test.bin Bytes received: 1048576/1048576 BPS:147493 Transfer complete
Сравниваем файлы
$ sha256sum test.bin /tmp/test.bin 2edda1158c33886324027c0615c87652271e909bd15f6a80b6f9077ed249bc6e test.bin 2edda1158c33886324027c0615c87652271e909bd15f6a80b6f9077ed249bc6e /tmp/test.bin
Файл передался без ошибок на максимальной скорости которую поддерживают оба адаптера.
Комментариев нет:
Отправить комментарий