Как подключить принтер к последовательным контактам GPIO?

15

Я купил мини- термопринтер от Adafruit. В документации говорится:

Этот принтер идеально подходит для сопряжения с микроконтроллером, вам просто необходим последовательный выход TTL от 3,3 В до 5 В от вашего микроконтроллера

Поскольку последовательные контакты на выходе GPIO на 3.3VI предполагали, что я могу просто подключить принтер непосредственно к контактам, и он будет работать без защитной схемы. Это наивное предположение? Что еще мне нужно сделать, чтобы использовать принтер?

Jivings
источник
1
Вероятно, очень мало в стороне от программного обеспечения. Если принтер выдает какие-либо данные ответа, вам может понадобиться ограничитель напряжения. Возможно, вы захотите спросить на форумах adafruit, поскольку они продают как принтер, так и пи.
Крис Страттон
Насколько я могу судить, нет данных ответа.
Jivings
1
@AlexChamberlain одним словом, нет. Это не то, о чем люди беспокоятся в логическом переводе вообще. Драйвер более высокого напряжения, повреждающий приемник более низкого напряжения, или драйвер более низкого напряжения, который не может быть надежно зарегистрирован приемником более высокого напряжения, да, но не чрезмерное потребление тока при управлении простым логическим входом из другого семейства.
Крис Страттон
2
Вы видели это? sparkfun.com/products/8745
Алекс Л
1
@RongNguyen Вы можете заставить его печатать все, что захотите, вам просто придется выполнять тяжелую работу самостоятельно. Там в учебник здесь .
Jivings

Ответы:

5

Уровни напряжения не являются проблемой, логический «1» LVTTL также будет логическим «1» TTL. Единственный вопрос может быть (тонущий) ток, как уже предположил Алекс Чемберлен. Это может быть проблемой.

Этот ток утечки зависит от входной цепи принтера, так как мы можем только догадываться, как он устроен, может быть, лучше быть в безопасности, чем потом сожалеть!

Так что для безопасности поместите буфер CMOS между ними. A 74LCX244, например. Если что-то начнёт курить, то это не будет ваш Raspberry Pi.

Изменить: я заметил критику в отношении текущих заявлений, чтобы поддержать это утверждение:

Цитата из klabs.org :

  • Выходные каскады КМОП также могут быть сложными, а тонкие характеристики устройства могут вызвать ошибки. Внимательно проверьте все характеристики! Например, многие КМОП-устройства при управлении нагрузками задаются только при очень низких уровнях тока для высоких или логических сигналов «1». Тем не менее, входы TTL принимают существенные токи и не представляют высокого импеданса, который виден на входах CMOS FET, и выход может быть понижен.

Больше информации об этой текущей проблеме здесь: 5 V TTL и CMOS Уровни входного и выходного напряжения :

  • CMOS -> TTL: вам может понадобиться буфер для обработки дополнительного тонущего тока, когда выходной сигнал CMOS становится низким

Надеюсь это поможет.

Икку
источник
1

Это может быть то, что вам нужно:

4-канальный I2C-безопасный двунаправленный преобразователь логического уровня - BSS138

или

8-канальный двунаправленный преобразователь логического уровня - TXB0108 (не I2C)

Приостановлено до дальнейшего уведомления.
источник
Это не нужно для соединения только для отправки.
Крис Страттон
1

Я считаю, что "TTL serial" означает асинхронный последовательный порт, который вы найдете в обычном UART . Естественный способ присоединить этот принтер к PI - это найти UART на плате (GPIO 14/15?) Или подключить один к другой шине. Есть несколько хороших ( FTDI , CP2102 ) и худших ( Prolific ) чипов, доступных для USB и нагрузок для I2C и SPI. Если устройство требует рукопожатия, вам также придется беспокоиться об этом. Страница Adafruit, кажется, не использует (Tx / Rx, только если я правильно прочитал).

Если вы хотите сделать это поверх фактического GPIO (логически нормально, но смотрите другие для предупреждений об электрической совместимости), вы можете найти «программное обеспечение UART».

XTL
источник