Инвертировать TTL
- Войдите на сайт для отправки комментариев
Чт, 30/06/2022 - 19:19
Подскажите, как правильно решить задачу?
Дано:
1. железка, подключение к которой идет двумя сигнальными линиями DC+ и DC-. Логика у неё 0= +3V, 1= 0V.
2 USB-контроллер на CP2102, которым буду к железке цепляться, у него логика обычная - TTL, то есть 0= 0V и 1= +5V
Как это все правильно транзисторами развязать?
правильно выяснить стандарт связи железки и купить за 200 рублей конвертер по стандарту
Его родной конвертер это проприетарная железка, поддержка драйверами которой закончилась больше 10 лет назад. Построена была на PL2303X
Связь у него как я уже сказал соответствует логике +3V/0V. Скорость 1200 baud, 8 bits, 1 stop bit and no parity. Есть старые схемы по подключению железки к RS232 на нескольких BC547, 555 таймере и нескольких диодах. Но смысла в этом интерфейсе уже нет, если есть копеечные UART контроллеры уже с USB
Подскажите, как правильно решить задачу?
Дано:
1. железка, подключение к которой идет двумя сигнальными линиями DC+ и DC-. Логика у неё 0= +3V, 1= 0V.
2 USB-контроллер на CP2102, которым буду к железке цепляться, у него логика обычная - TTL, то есть 0= 0V и 1= +5V
Как это все правильно транзисторами развязать?
Ну и поставьте просто один транзистор. Он будет сигнал инвертировать. Железка - это драйвер шаговика что-ли?
Нет, железка - это мини-компьютер для расчета декомпрессионных погружений. С него надо снимать логи событий, которые он отдает по двум линиям DC+ и DC- с вышеозначенной логикой.
Туплю, не могу сообразить как выстроить схему с изменением логики
Туплю, не могу сообразить как выстроить схему с изменением логики
Ну, просто на базу когда транзистору (NPN) подаёте 1 (+5В), он открывается и подтягивает линию DC+ к земле. В итоге подаёте 1 в логике одного устройства (+5В) - на выходе имеете 1 в логике другого устройства (0В). Только в закрытом состоянии нужно будет через делитель Вам подобрать, чтобы +3 В было. Ну или транзистор сразу питать от +3 :) Земли, разумеется, объединить.
Ещё можно через оптопару сделать то же самое. Так даже лучше будет.
которые он отдает по двум линиям DC+ и DC- с вышеозначенной логикой.
Слушайте, это не ModBUS случаем у него там? Две сигнальных линии - это же помимо земли? Если ModBUS, то потребуется что-то вроде MAX485 применять...
Нет, всего две линии. Вот, к примеру, схема для RS232
Используйте SoftwareSerial - там есть возможность инверсии rx/tx.
которые он отдает по двум линиям DC+ и DC- с вышеозначенной логикой.
Слушайте, это не ModBUS случаем у него там? Две сигнальных линии - это же помимо земли? Если ModBUS, то потребуется что-то вроде MAX485 применять...
Модбас это не интерфейс, а протокол.
Теплое с мягким путать не надо.
сдаётся мне что переходника USB-UART на 3.3 вольта будет достаточно
+ диод. Возможно ещё резистор, для подтяжки к плюсу. Нужен ведь однопроводной UART.
brokly писал как сделать tx softuart с открытым коллектором. Тогда, соединив tx с rx, получим однопроводной softuart.
https://arduino.ru/forum/programmirovanie/neskolko-ustroistv-na-odnoi-serial-shine
Вроде правильно понимаю, что 27mV однозначно ниже порога срабатывания, у TTL вроде LOW заканчивается на 400mV. Или не так?
И как теперь между собой DC+ и DC- линии согласовать?
И как теперь между собой DC+ и DC- линии согласовать?
Что значит "согласовать"? DC- это же земля у Вас! Просто объединяете "земли", и всё. Даже на Вашей схеме DC- на землю подключается.
DC+ и DC - это не равно + и GND. Не путайте.
DC+ и DC - это не равно + и GND. Не путайте.
Равно, когда DC- подключено к GND. А так и есть на схеме.
Если DC+ и DC- это не RX и TX, а RX+TX и GND соответственно то тогда вообще нифига не понятно. Это двунаправленный полудуплекс какой-то получается. Простите за глупые вопросы, но лучше показаться дураком, чем спалить железку. Вот инвертировал я RX пин и TX пин контроллера, как тогда обьединить оба сигнала в один проводник DC+, если DC- это тупо GND?
Если DC+ и DC- это не RX и TX, а RX+TX и GND соответственно то тогда вообще нифига не понятно. Это двунаправленный полудуплекс какой-то получается. Простите за глупые вопросы, но лучше показаться дураком, чем спалить железку. Вот инвертировал я RX пин и TX пин контроллера, как тогда обьединить оба сигнала в один проводник DC+, если DC- это тупо GND?
Послушайте, Вы же сами дали схему в посте #7 - там как раз этот DC+ работает и на вход и на выход. Там приём и передача, вероятно, ведутся поочередно. В посте #7 Вы что за схему показывали? Это и есть от Вашего устройства что-то?
Да, совершенно верно, 7 пост это схема условно оригинального адаптера для подключения устройства к RS232. С ком-порта берут RX, TX, “+” с DCD/DTR/DSR и землю. Как это правильно сделать с инвертированными сигналами UART-адаптера - вопрос. Как это собрать в кучу не понимаю :)
как по схеме в #7 так и собери, чуток упростить, выкинуть выпрямитель двуполярного напряжения
Приветствую, коллега!
Собрал такой переходник лет 15 назад, нормально сливал логи с Суунто Кобра. Если нужна помощь, обращайтесь.
Напишите: модель дайв компьютера, версия ПО куда хотите слить логбук.
Самое главное: каков ваш запрос?
1. Пообщаться с народом, спроектировать девайс, изготовить, наладить, ...
2. Быстренько повторить чужую конструкцию и пользоваться
3. Ничего не проектировать и не делать, только слить логи и наслаждаться красивыми профилями и рассказамми про кровожадных акул :)
Приветствую! Речь о 700-й Тусе, она же Diverite Nitek Duo, Cressi Archimede, Apex Quantum, etc. То есть все подобные компы на платформе Seiko. Они просты, надёжны, умеют два газа (второй до 100 кислого) и умеют переключать их ПОД водой. Их у народа много, а вот адаптеров - нет. Они стоили бешеные деньги когда-то, хотя железка была с обычным PL2303x. Но за давностью лет драйвера протухли и даже моя попытка пересобрать их из сорцов ни к чему хорошему не привела: USB API системы слишком сильно изменилось, и даже будучи скомпиленым с ошибками, драйвер не взлетел.
Адаптер от энтузиастов для Тусы не похож на таковой для Суунты.
Как комп, так и интерфейс умеют опускать линию до LOW(0). В отличии от Суунты, у Тусы есть внутренний подтягивающий резистор 12к, подключённый к внутреннему источнику питания 3.0V, - это первое отличие. Сигнальная линия с логикой 0 = +3V, 1 = 0V, т.е. неинвертированная, - это, как минимум, второе отличие.
Кроме того, имеющаяся схема альтернативного адаптера разработана для Rs-232 интерфейса, то есть +12/-12 логики, и подразумевает для использования с современными ПК дополнительного USB2Serial(RS232) адаптера, короче анахронизм.
Понимаю что копеечный USB-UART с минимальной модификацией сумеет все сделать, и решение должно быть предельно простым. Потом его можно выложить для всех на Тетис и Скубаборд, пусть народ пользуется.
ПО у меня рабоче-крестьянское опенсорсное Subsurface. Он умеет забирать всё с /dev/tty.usb-serial
Сигнальная линия с логикой 0 = +3V, 1 = 0V, т.е. неинвертированная, - это, как минимум, второе отличие.
в схеме, что привели сигнал нормируется стабилитроном с напряжением стабилизации 4,7 вольта однако
Видишь ли, когда задающий вопрос, хоть немного в курсе, тот понимает и следует (если надо) советам... Но когда "дуб как дерево" и ждёт готового решения, тогда о чём можно говорить. ТС, извини, но это о тебе.
Видишь ли, когда задающий вопрос, хоть немного в курсе, тот понимает и следует (если надо) советам... Но когда "дуб как дерево" и ждёт готового решения, тогда о чём можно говорить. ТС, извини, но это о тебе.
да там же всё готово, только выкинуть всё, формирующее напряжение +-12 вольт и запитать транзисторы от 3.3 вольт, поставив на UART-USB переключатель (джампер) в соответствующее положение, ну еще диод можно выкинуть между эмиттером и базой, для UART он лишний, резисторы нагрузки снизить в 4 раза, на базы транзисторов по 1-2 ком...как бы всё...хотя если программа использует протокол RS232 то транзисторы там лишние, достаточно диода и резистора и, это весь переходник )))
Green, дружище, не стоит извинятся, я не обижаюсь. Тот факт что я не понимаю, я озвучил ещё раньше в ветке.
Не стыдно быть дураком и задавать вопросы, стыдно изображать умного.
Что скажете?
больно понавернуто, дс- на земле. словами напиши, че тебе надо
Чтобы не городить велосипед, взял исходную рабочую схему из поста #7, там тоже DC- висит на земле, а TX/RX на DC+. Выбросил лишнее, запитал всё от 3.3V и понизил номиналы большинства резисторов, кроме R2 - он делает мне ~2.9-3.0V для DC+. Задача описана в самом начале ветки