通信总线模块:RS485、SP3232

通信总线模块: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、SP3232_第1张图片通信总线模块:RS485、SP3232_第2张图片


一、RS485

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

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

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

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

因RS485接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。
通信总线模块:RS485、SP3232_第3张图片
图1 MAX485ESA+管脚图

二、SP3232

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

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

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

要注意区分SP232/SP3232
通信总线模块:RS485、SP3232_第4张图片
图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用于给双方提供参考电平,连线如下:
通信总线模块:RS485、SP3232_第5张图片
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
通信总线模块:RS485、SP3232_第6张图片
RS232逻辑电平:0 1000001 0 11
通信总线模块:RS485、SP3232_第7张图片

你可能感兴趣的:(单片机,uart)