• TTL、RS232、485到底能传输多远距离?


    关注+星标公众,不错过精彩内容

    6a564f34632a03097aa9c1b7b01af915.gif

    作者 | strongerHuang

    微信公众号 | strongerHuang

    前两天,在我的技术交流群看到大家在讨论关于“TTL、RS232、485传输距离”的问题。

    今天特意抽时间分享一下相关的内容。

    概述

    可能有很多读者都还不知道 TTL、RS232、485 到底是什么,本节简单概述一下它们是什么。

    1.TTL电平

    TTL:Transistor Transistor Logic,晶体管-晶体管逻辑电平。

    比如:0V代表逻辑低电平,5V代表逻辑高电平。像STM32单片机串口引脚输出的逻辑高电平就是3.3V。

    你可能会问:什么是逻辑电平?

    逻辑电平是特定电压或可以存在信号的状态,通常为“0/1” 或 “开/关” 或 “ON/OFF” 或 “LOW / HIGH”等。

    6240b80525f48204a292c465266edf9b.png

    随着电子技术的快速发展,逻辑高电平的电压也是越来越低,比如DDR5内存的供电电压才1.1V。

    这一章节相关的内容,可以参看我之前分享的一篇文章:逻辑电平0和1的世界

    2.RS232

    RS232,也简称232,全称EIA-RS-232。

    EIA:Electronic Industry Association,美国电子工业协会。

    RS:Recommended Standard,代表推荐标准。

    232:代表标识号。

    RS232有多个版本,比如:RS232A、RS232B、RS232C···F等,目前常用的是RS-232C。

    RS232最初是用于调制解调器,因此它的引脚定义和调制解调器传输有关。

    RS232早期使用25针连接器(DB25)比较多,早期打印机、传真机这些设备用的比较多,现在很少用了。

    可能很多人都没有见到过,我读大学那会儿给MSP430下载程序就是用的这种DB25接口。

    9ef631c2a34b68d1df13b40d825b00be.jpeg

    现在通常是DB9,相信大家都不陌生,但我们大部分时候只用到了2、3、5脚。

    752727010cf57bbca2a0f9945459ad88.jpeg

    编号定义功能
    1DCD数据载波检测
    2RXD数据接收
    3TXD数据发送
    4DTR数据终端准备好
    5GND信号地
    6DSR数据设备准备好
    7RTS请求发送
    8CTS清除发送
    9RI振铃提示

    DB9在很多电脑后面板上都还保留有,即便后面板没有,在主板上也留有DB9接口。(前不久我配电脑,还特意买了一个DB9外接接口)

    3b1baa5e8d5ebf1acc440297ecd07997.png

    3.RS485

    RS485 可以说是在RS232的基础上发展而来的,目的是为了“增加抗干扰能力和信号传输距离”。

    RS232采用电压来代表逻辑高低电平,比如:±15电压。

    而RS485采用差分电压,也就是两根信号线(A、B)上的电压差来代表逻辑高低电平。

    RS232支持全双工通信,而RS485是半双工通信。

    7b976aff5909f1580b9dce3e4ab331d6.jpeg

    传输距离

    在大学的时候,可能老师会告诉你:RS22传输距离为15米。或者,你在某些书籍上看到RS485传输距离为1200米

    通信传输距离与很多因素有关,实际和理论还是有很大差异,在某些情况下,RS485传输500米可能都有问题。

    通信传输距离与通讯方式、波特率、连接线、干扰等众多因素有关,这里结合串口(UART)通信来简单说下这几个问题。

    1.通讯方式

    这里说的通讯方式,指的就是标题中“TTL、RS232、485”等不同的通讯方式。

    正常情况下,通讯距离:TTL < RS232 < 485

    TTL通常在板卡内部(同一块板卡),比如:芯片A的串口,和芯片B的串口通信。

    RS232在很多场合都还能用到,通常设备与设备之间通信,一般是DB9或两根信号线连接。(之前参与的一个项目,用电脑PCI卡扩展出了8个串口,就是用的232方式)。

    RS485在工业产品中用的比较多,可以多个设备连接在485总线上,还有传输距离更远、抗干扰性更强。

    2.波特率

    波特率,1波特即指每秒传输1个符号。波特(Baud,单位符号:Bd)

    你可以理解为传输信号的快慢,比如:串口9600bps。

    波特率越高,频率就越高,同等条件下,传输的距离就更短。

    串口的波特率可以做到很高,比如:115200bps,但以这种波特率通过RS232传输,可能传输10米就存在问题。

    3.连接线

    连接线也是一个关键因素,连接线材料(铜、铝、铁)、粗细、是否带有屏蔽等都会影响传输信号的距离。

    可能干净的环境(比如实验室、办公室)都还看不出差异,你在复杂的点环境(比如工厂,特别是大型机械设备比价多的环境下)就能感受出差异了。

    所以,RS458使用差分信号,双绞线,好点的带有屏蔽的线,在工业环境就显优势了。

    4.干扰因素

    做过工业产品的人都知道,不但EMC要求高,对于通信的要求也高。

    旁边一个台大型设备突然启动,很有可能让你的通信失败(或者芯片复位、死机等)。

    你以为485能传输1200米,可能工厂内200米通信都还会失败。

    综合以上,要增加传输距离、又要保证传输信号的稳定,通常要做到尽量远离干扰源(大型机械设备)、增加屏蔽措施、降低传输速率(波特率)等。

    ------------ END ------------

    a8ff10721e5147914a6873733fa926de.gif

    ●专栏《嵌入式工具

    ●专栏《嵌入式开发》

    ●专栏《Keil教程》

    ●嵌入式专栏精选教程

    关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

    dbcb49ea2de41018cff5848054006df1.jpeg

    ba6a2f9fd9e8632d70411461068430ba.png

    点击“阅读原文”查看更多分享。

  • 相关阅读:
    备战数学建模41-蒙特卡罗模拟(攻坚战5)
    Vitepress搭建组件库文档(下)—— 组件 Demo
    Yolo5部署到Jetson_orin上错误笔记记录
    云计算中的过度授权:安全隐患与应对策略
    Flink学习第六天——Flink常见的运行部署模式介绍和运行流程浅析
    你这个视频背景太假了?
    【java_wxid项目】【第二章】【Spring Cloud Alibaba Nacos集成】
    C++ 共享内存ShellCode跨进程传输
    QGraphicsView自定义游标【解决修改光标样式不起作用】
    《Go Web 编程》之第9章 发挥Go的并发优势
  • 原文地址:https://blog.csdn.net/ybhuangfugui/article/details/125903584