找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4389|回复: 1
打印 上一主题 下一主题
收起左侧

串行数据电平标准(RS232\RS485\TTL) 对比与总结

[复制链接]
跳转到指定楼层
楼主
本文资料是对网络上相关知识的小总结
      UART与RS232和RS485的关系问题
      通讯问题,和交通问题一样,也有高速、低速、拥堵、中断等等各种情况。如果把串口通讯比做交通,UART比作车站,那么一帧的数据就好比汽车。汽车跑在路上,要遵守交通规则。如果是市内,一般限速30、40,而高速公路则可以到120。而汽车走什么路,限速多少,就要看协议怎么规定了。常见的串口协议有RS-232、RS-422、RS-485等.
      RS232与RS485与TTL特点:


      电气特征部分:


      RS-232
      1、        在RS-232-C中任何一条信号线的电压均为负逻辑关系。
即:逻辑“1”为-3到-15V;逻辑“0”为+3到+15V。
      2、        RS-232-C接口连接器一般使用型号为DB-9插头座,通常插头在DCE端,插座在DTE端。PC机的RS-232口为9芯针插座。一些设备与PC机连接的RS-232接口,因为不使用对方的传送控制信号,只需要三条接口线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。RS-232传输线采用屏蔽双绞线。
      RS-485
      RS485采用差分信号负逻辑.
      逻辑"1"以两线间的电压差为-(2~6)V表示
      逻辑"0"以两线间的电压差为+(2~6)V表示。
      接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL电路连接。RS-485的数据最高传输速率为10Mbps。
      TTL
      TTL电平信号被利用的最多是因为通常数据表示采用二进制规定,+5V等价于逻辑“1”,0V等价于逻辑“0”,
      这被称做TTL(晶体管-晶体管逻辑电平Transistor-Transistor Logic)信号系统,这是计算机处理器控制的设备内部各部分之间通信的标准技术。


      波形分析部分:

      一、串行数据的格式
      异步串行数据的一般格式是:起始位+数据位+停止位,其中起始位1位,数据位可以是5、6、7、8位,停止位可以是1、1.5、2位。起始位是一个值为0的位,所以对于正逻辑的TTL电平,起始位是一位时间的低电平;停止位是值为1的位,所以对于正逻辑的TTL电平,停止位是高电平。线路路空闲或者数据传输结束,对于正逻辑的TTL电平,线路总是1(处于停止位)。对于负逻辑(如RS-232电平)则相反。
      例如,对于16进制数据55aaH,当采用8位数据位、1位停止位传输时,它在信号线上的波形如图1(TTL电平)和图2(RS-232电平)所示。 (先传第一个字节55,再传第二个字节aa,每个字节都是从低位向高位逐位传输)


图1 TTL电平的串行数据帧格式(55aah)
图2 RS-232电平的串行数据帧格式(55aah)


      二、根据波形图计算波特率
      如图3是图1在示波器中的显示示意,其中灰色线是示波器的时间分度线,此时假设是200us/格。
图3 波特率计算示意图


      可以看到,第一个字节的10位(1位起始位,8位数据位和1位停止位)共占约1.05ms,这样可计算出其波特率约为:
                              10bit / 1.05ms X 1000 ≈ 9600 bit/s
      如果上图中的时间轴是100us/格,同样可以计算出波特率应是19200bit/s。当通讯不正常,又能观察到波形时,就可根据上述方法,从波形图计算一下波特率是否正确。


      三、根据波形图判断RS-485收发数据的正确与否
      RS-485是一种半双工的串行通讯方式(RS-422为全双工),485电平芯片所以要正确接收和发送数据,必需保证控制信号和数据的同步,否则要么发送数据丢失,要么接收数据可能丢失。RS-485发送数据时的正确时序如图4所示。
图4 RS-485的正确发送数据时序
图5 RS-485控制信号太短时的时序
图6 RS-485控制信号太短时的时序


      在图5中,由于控制信号关闭过早,则第二个字节的后两位将发送错误;在图6中,由于控制信号关闭过迟,使485芯片在发送数据后,不能及时转到接收状态,此时总线若有数据过来,则本单元将不能正确接收。


      细节对比部分:


        RS232、RS485、TTL是指电平标准(电信号)
        TTL与RS232为全双工通讯,RS485为半双工通讯
        电平标准不同
      TTL电平标准是低电平为0,高电平为1(对地,标准数字电路逻辑)。
      RS232电平标准是正电平为0,负电平为1(对地,正负6-15V皆可,甚至可以用高阻态)。
      RS485与RS232类似,都是负逻辑,但是采用差分信号逻辑
        传输方式不同
      RS-232采取不平衡传输方式,即所谓单端通讯
      RS485则采用平衡传输,即差分传输方式(使用两根线的电压差表示数据)
        传输距离不同。
      RS-232适合本地设备之间的通信,传输距离一般不超过20m。
      RS-485的传输距离为几十米到上千米。
        传输速度不同。
      RS232传输速率较低,最高波特率为19200bps。
      RS485的数据最高传输速率为10Mbps。
        实用性不同
      RS-232 接口电路只允许一对一通信,信号电平较高,容易损坏接口电路的芯片;与TTL电路的电平也不兼容,影响其通用性;使用三线。
      RS-485 接口接口电平低,不易损坏器件,且该平与 TTL 电平兼容,可方便与TTL 电平兼容;RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好;RS-485 接口在总线上是允许连接多达128个收发器。使用两线



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:161657 发表于 2020-3-4 14:19 | 只看该作者
我的理解是  不管TTL RS232  或者是RS485   他们本身只是一种电平标准,和通信协议是完全不想管的,这个就和汽车跟电动车一样,他们本身都是代步工具,但是他们的驱动方式完全不一样,
现在在工业上也形成了一种标准,看到rs232(接口或者芯片)马上就知道这是一种串口通信协议,实际上串行通信协议由非常多(注意这里我用的是串行通信不是串口通信),
串口通信协议用3.3V也可以进行通信,用5V也可以通信,如果你的产品只是自身通信随便你用什么通信协议都可以,如果你的产品客户买回去还有进行二次开发那么最好是用标准的通信接口

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表