Правильный кабель логического уровня USB-RS 3.3/5.0

Я начинаю с электроники/arduinos/atmegas здесь. Несколько последних дней я игрался с программатором USBasp, микроконтроллером atmega328P, а также стабилизаторами напряжения 7805 и LM317. Теперь мой следующий шаг - попытаться поговорить с датчиком температуры DS18B20, а затем с модулем RF 434/868.

Я думал, как я могу увидеть данные, считанные с датчика температуры, без ЖК-дисплея, и простой ответ — использовать контакты RX / TX. Проблема в том, что я застрял на выборе правильного кабеля для этого. Я нашел ЭТО замечательное сообщение об обмене стеками об UART и RS232, и оно сузило мою проблему до ЭТОГО кабеля для передачи данных, который является DS_TTL-232R от FTDI.

Теперь я также прочитал это техническое описание и вижу, что это «USB-UART, логический уровень 3,3 В TTL, летающие выводы, совместимые с Raspberry Pi», но в нем также говорится: «5-вольтовые безопасные TTL-входы упрощают подключение TTL-232R к 5 В. MCU».

Правильно ли я понимаю, что этот кабель позволит мне:
- подключить ПК через USB к контактам RS atmega328 (которые имеют логический уровень 5 В, насколько я знаю)
- подключить ПК через USB к контактам RS RaspberryPi (которые имеют логический уровень 3,3 В)

Кроме того, я предполагаю, основываясь на том, что я погуглил, что мне понадобится какая-то другая часть (логический уровень / переключатель напряжения) для прямого подключения микроконтроллера atmega328 к RasPi, верно? Или ... достаточно ли подать 3,3 В на MCU, чтобы он имел выходное напряжение до 3,05 В, а не до 5 В, что, как я снова полагаю, может привести к повреждению моего RasPi?

Ответы (1)

ATMega имеет широкий диапазон VCC, некоторые из них работают при 3,3 В, некоторые при 5 В. Его контакты не терпимы к входному напряжению выше, чем VCC.

Raspberry PI имеет только сигнал 3,3 В. Нет толерантных контактов 5v.

USB-Uart с сигналом 3,3 В, но с толерантными контактами 5 В означает, что вы можете подключить 5-вольтовый ATMega к 3,3-вольтовому USB-to-Uart, и Uart будет в порядке. Обратное неверно. Подключение 5v Uart к Raspberry PI или 3.3v ATMega ничем хорошим не закончится.

Если вам нужно подключить двухсторонний сигнал между 5 В ATMega и 3,3 В Raspberry Pi, вам понадобится преобразователь уровня на линии ATmega TX -> RPI RX. Наоборот, от RPI TX -> ATMega RX, должно быть хорошо, так как ATMega имеет порог высокого входного напряжения (VCC * 0,6). В данном случае 5*0,6=3в. Сигнал 3 В или выше будет считываться как высокий логический уровень, что отлично работает.

Обновление: я так понимаю, вы имеете в виду подключение RPI к ATMega через адаптер USB-to-serial, подключенный к RPI? Тогда вам не нужно беспокоиться о переводе уровней. Адаптер USB-To-Serial 5 В или 3,3 В будет работать, поскольку адаптер является буфером между ними.

Итак, этот кабель не 5V UART, он просто устойчив к 5V, и я могу без проблем подключить его к RasPi?
@ qlf00n этот конкретный кабель предназначен для RPI, поэтому последовательное соединение 3,3 В с допустимыми входами 5 В. В целом FT232 может быть настроен для соединений 3,3 В или 5 В с несколькими различными вариантами. Как правило, если вы хотите подключить ATMega к RPI, вы можете использовать последовательные соединения (с преобразованием уровней) или USB-последовательный порт (USB на rpi, последовательный порт на ATMega).
Аааа, я зациклился на идее подключения ПК USB <-> RasPi serial, а не RasPi USB <-> MCU serial. Теперь все ясно, спасибо!
@qlfoon Думаю, я был немного неясен. Этот кабель предназначен для подключения серийного номера RPI к другому компьютеру через USB. Обычные кабели FT232 можно использовать для подключения RPI USB к другому последовательному устройству. Что вы хотите соединить вместе?
Я думал о возможности подключения USB ноутбука к последовательным контактам MCU / RasPi. Вот почему я спросил об использовании USB для RS в первую очередь. В конце концов, я также спросил о подключении RasPi к MCU напрямую, чувствуя, что это может быть не так просто, если повезет, мне не нужно будет заказывать кабель. В любом случае, ваши данные мне очень помогли, и, покопавшись в техническом описании, я думаю, что выберу кабельную версию TTL-232RG-VIP-WE. Это позволит мне использовать кабель в различных сценариях и для всех логических уровней, используя красный провод в качестве опорного напряжения. Поправьте меня, если я ошибаюсь, пожалуйста.
@ qlf00n да, это очень хорошо, если вы хотите использовать один и тот же кабель на разных уровнях напряжения. Привяжите красный кабель VCCIO к 3,3 В последовательного порта RPI или 5 В ATMEga или к чему-то еще.