通信总线模块:RS485、SP3232


学习目标

了解RS485和SP3232通信的方法。


典型的串行通讯标准是RS232和RS485,它们定义了电压,阻抗等,但不对软件协议给予定义。
RS485总线标准规定了总线接口的电气特性标准即对于2个逻辑状态的定义:正电平在+2V~+6V之间,表示一个逻辑状态;负电平在-2V~-6V之间,则表示另一个逻辑状态;数字信号采用差分传输方式,能够有效减少噪声信号的干扰。

由于RS-232-C接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容,故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率为20Kbps。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50米左右。
针对RS-232-C的不足,于是就不断出现了一些新的接口标准,RS485就是其中之一。


一、RS485

RS485采用差分传输方式,也称作平衡传输,+2V~+6V表示“0”,- 6V~- 2V表示“1”。它使用一对双绞线,将其中一线定义为A,另一线定义为B。

RS485有两线制和四线制两种接线,四线制只能实现点对点的通信方式,现很少采用,现在多采用的是两线制接线方式,这种接线方式为总线式拓朴结构在同一总线上最多可以挂接32个结点。

RS485的数据最高传输速率为10Mbps 。

在RS485通信网络中一般采用的是主从通信方式,即一个主机带多个从机。

因RS485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。

图1 MAX485ESA+管脚图

二、SP3232

SP3232是一种RS232标准的变种,只是码制、波特率等等和RS232定义都是一样的,只有一点不一样,就是高低电平的定义。

单片机高电平一般是VCC,而低电平一般是GND。而RS232标准的高电平是负逻辑,而低电平是正逻辑。

电脑的COM口就是标准RS232接口,它的高电平定义为-12V,而低电平定义为+12V。所以单片机的串口必须经过电平转换才可以和标准RS232通信,这个转换芯片5V的一般是MAX232或SP232,3.3V的一般是MAX3232或SP3232。

要注意区分SP232/SP3232

图2 SP3232管脚图

三、UART与RS232/RS485之间的联系

1.UART

UART是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),是一种异步收发传输器,是设备间进行异步通信的关键模块。UART负责处理数据总线和串行口之间的串/并、并/串转换,并规定了帧格式;通信双方只要采用相同的帧格式和波特率,就能在未共享时钟信号的情况下,仅用两根信号线(Rx和Tx)就可以完成通信过程,因此也称为异步串行通信。
若加入一个合适的电平转换器,如SP3232E、SP3485、UART还能用于RS-232、RS-485通信,或与计算机端口连接。UART应用非常广泛,手机、工业控制、PC等应用中都要用到UART。

2.UART原理

发送数据时,CPU将并行数据写入UART,UART按照一定的格式在一根电线上串行发出;接收数据时,UART检测另一根电线上的信号,串行收集然后放在缓冲区中,CPU即可读取UART获得这些数据。UART之间以全双工方式传输数据,最精确的连线方法只有3根电线:TXD用于发送数据,RXD用于接收数据,GND用于给双方提供参考电平,连线如下:

UART使用标准的TTL/COMS逻辑电平(0~5V、0~3.3V、0~2.5V或0~1.8V)来表示数据,高电平表示1,低电平表示0。为了增强数据的抗干扰能力、提高传输长度,通常将TTL/COMS逻辑电平转换为RS232逻辑电平,3~12V表示0,-3~-12V表示1。
TXD、RXD数据线以位为最小单位传输数据,而帧由具有完整意义的、不可分割的若干位组成,它包含开始位、数据位、校验位(需要的话)和停止位。发送数据之前,UART之间要约定好数据的传输速率(即每位占据的时间,其倒数称为波特率)、数据的传输格式(即有多少个数据位、是否使用校验位、是否奇校验还是偶校验、有多少个停止位)。

数据传输流程如下:

①平时数据线处于空闲状态(1状态)
②当要发送数据时,UART改变TXD数据线的状态(变为0状态)并维持1位的时间,这样接收方检测到开始位后,在等待1.5位的时间就开始一位一位地检测数据线的状态得到所传输的数据。
③UART一帧中可以有5、6、7或8位的数据,发送方一位一位地改变数据线的状态将它们发送出去,首先发送最低位。
④如果使用校验功能,UART在发送完数据后,还要发送1位校验位。有两种校验方法:奇校验、偶校验–数据位连同校验位中,状态1的数量等于奇数或者偶数。
⑤最后,发送停止位,数据线恢复到空闲状态(1状态)。停止位的长度有三种:1位、1.5位或2位。

下图演示了UART使用7个数据位、偶校验、2个停止位的格式传输字符’A’(二进制位0100 0001)时,TTL/COMS逻辑电平和RS-232逻辑电平对应的波形。
TTL/COMS逻辑电平:0 1000001 0 11

RS232逻辑电平:0 1000001 0 11

通信总线模块:RS485、SP3232相关推荐

  1. 大型三菱plcQ系列 四个QD77简易运动模块,通信总线控制 48 轴,程序八万步

    大型三菱plcQ系列 四个QD77简易运动模块,通信总线控制 48 轴,程序八万步,写法新颖,思路清晰!读性性和可移植性强,带远程I/O!以态网通信,视觉通信,伺服参数设置!程序虽然复杂,但分块编写, ...

  2. 分布式软总线模块总结

    communication_softbus_lite 1.鸿蒙分布式软总线概述 2.文件结构MindMap 3.重要功能和流程详解 4.总结与分析 1.鸿蒙分布式软总线概述 1.1 总线是一种内部结构 ...

  3. TwinCAT3 与 SMC(EX600总线模块)通讯

    TwinCAT3 与 SMC(EX600总线模块)通讯 本文主要记录了倍福TwinCAT3与SMC的现场总线模块(EX600的SI单元)用EtherCAT协议通讯的配置. 一 SMC EX600模块简 ...

  4. 杂学——硬件:MIPI,压/速/频信号、并行转串行,SDI,PPM,单片机及开发板,交流直流,电容电阻,总线,RS485

    MIPI(移动产业处理器接口): MIPI DSI协议介绍 摄像头的MIPI接口.DVP接口和CSI接口(百度知道) MIPI接口资料汇总(精) 串行接口.并行接口.低压差分信号.差分布线: Alti ...

  5. RS422总线、RS485和RS422对比

    RS422总线.RS485和RS422对比 RS-232.RS-422与RS-485标准只对接口的电气特性做出规定,而不涉及接插件.电缆或协议,在此基础上用户可以建立自己的高层通信协议.例如:视频服务 ...

  6. CAN总线,RS485总线终端电阻接线规则

    CAN总线,RS485总线终端电阻接线规则 刚刚在Linux群里有人提到,就找了一下相关知识 自己攒了一句话: 对于通信速度为 125kbps-1Mbps的高速 CAN 通信,在一个网络(由一组电缆直 ...

  7. 通信总线和通信协议的区别?

    同一种总线(比如RS485)上可以跑多种协议(如莫迪康的MODBUS,松下的MEWTOCOL,西门子的profibus/DP).反之,baiMODBUS协议可以跑在各种总线上(除了RS485外,还常用 ...

  8. python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03

    python网络编程-异常处理-异常捕获-抛出异常-断言-自定义异常-UDP通信-socketserver模块应用-03 参考文章: (1)python网络编程-异常处理-异常捕获-抛出异常-断言-自 ...

  9. python socket udp并发_Python进阶----UDP协议使用socket通信,socketserver模块实现并发

    Python进阶----UDP协议使用socket通信,socketserver模块实现并发 一丶基于UDP协议的socket 实现UDP协议传输数据 代码如下:

  10. LINUX SPI设备驱动模型分析之二 SPI总线模块分析

    上一篇文章我们简要介绍了SPI驱动模块,本章我们详细说明一下spi总线.设备.驱动模块的注册.注销以及这几个模块之间的关联. SPI总线的注册 spi模块也是基于LINUX设备-总线-驱动模型进行开发 ...

最新文章

  1. 李飞飞力赞论文:描述视频密集事件新模型 !(附论文)
  2. 22款终端生产力工具,效率飞起!
  3. python sklearn.svm.SVC() 使用方法
  4. python读取txt文件并批量写入不同的excel
  5. 陌生的是人心,是人性,是社会,是世道
  6. springboot+springcloud相关问题
  7. IJCAI阿里论文 | JUMP: 一种点击和停留时长的协同预估器...
  8. 代码织入 android,这可能是Android最傻瓜式的AOP框架
  9. HDU1176:免费馅饼(dp,数字三角形的应用)
  10. 高德地图获取经纬度坐标
  11. 卡方检验spss步骤_数据分析--学统计amp;SPSS操作
  12. 计算机声卡的步骤,详解win7 32位系统电脑重装声卡的步骤
  13. 安装了智能家居设备后会影响传统家居的使用吗?
  14. 华为连接wifi显示wifi未连接服务器,华为手机连接WIFI但是无法上网怎么解决
  15. vue form表单验证清除
  16. SAP月结在制品结算时不产生凭证的一个问题
  17. 这一次彻底弄明白Gradle相关配置
  18. PMP-13项目相关方管理
  19. 机器学习理论: PAC学习
  20. R柱状图,叠图(排序)

热门文章

  1. 51单片机TMOD及定时器配置
  2. 数字化转型投入大、效果差,永洪BI如何帮助企业迈出数据应用第一步
  3. 在win 10系统下安装VS 2015
  4. matlab中xlsread无法打开文件,Matlab xlsread打开文件并清理
  5. matlab 半正定规划,半正定规划
  6. matlab凸优化工具箱——cvx简介
  7. bootstrap4.0图标使用_Bootstrap 图标字体 Font Awesome 4.0 发布
  8. Paraview源码解析8: vtkPVGlyphFilter类
  9. mouseenter和mouseleave与mouseover和mouseout的区别
  10. c#获取中国三级行政区域划分(省市县)以及县级经纬度demo