串行通信
关于串行通信的前序知识在之前的博客中提到: 串口通信 IIC通讯 SPI通讯 接下来会着重讲解RS232和RS485的部分 RS232和RS485同属于异步串口通信,在前序部分讲过,他们在程序上的写法都是一样的,区别在于物理上的发送和接收器需要经过特定的电平转换。 RS232: 逻辑“1”:-5V~-l5V 逻辑“0”:+5V~+l5V 转换芯片:MAX232 单5V供电,完成TTL和EIA电平互换,双路串行口,4个电解电容及其极性连接要正确 。
PC和单片机之间的通讯转换
RS232
RS-232虽然使用很广,但因推出较早,在现代网络通信中已暴露出明显的缺点:
①数据传输速率慢,最快传输速率可达20KB/S ②传送距离短,RS–232接口一般装置之间电缆长度为15m,即使有较好的线路器件、优良的信号质量,电缆长度也不会超过60m ③单线非平衡式信号传输,导致抗干扰能力差,只能应用在低速、近距离应用中,如PC与外设的连接
RS485
RS485的出现可以说是为了弥补232的缺点。 ①平衡式传输(差分信号),抗干扰能力大大加强,传输速度快。 ②传输速率达到12Mbps。在1200m传输距离时,速率可达100Kbps。 RS485为半双工(同一时刻只能收或者发)。 当RS485线路空闲时,线路处于高阻(或挂起)状态。这时,RS485线路就可以允许被其它设备占用,即具有RS485接口的设备连成总线。
对于RS485采用平衡式发送,差分式接收的方式有以下的要求:
①接收器的输入电阻RIN≥12kΩ ②驱动器能输出±7V的共模电压,只有满足该范围才能正常工作
- RS-422与RS-485接口均采用差分方式传输信号方式,并不需要相对于某个参照点来检测信号,系统只需检测两线之间的电位差就可以了。但收发器有一定的共模电压范围,如RS-422共模电压范围为-7~+7V,而RS-485收发器共模电压范围为-7~+12V,只有满足上述条件,整个网络才能正常工作。当网络线路中共模电压超出此范围时就会影响通信的稳定可靠,甚至损坏接口
- (EMI)问题:发送驱动器输出信号中的共模部分需要一个返回通路,如没有一个低阻的返回通道(信号地),就会以辐射的形式返回源端,整个总线就会像一个巨大的天线向外辐射电磁波
- 由于上述原因,RS-422、RS-485尽管采用差分平衡传输方式,但对整个RS-422或RS-485网络,必须有一条低阻的信号地。一条低阻的信号地将两个接口的工作地连接起来,使共模干扰电压VGPD被短路。值得注意的是,这种做法仅对高阻型共模干扰有效,由于干扰源内阻大,短接后不会形成很大的接地环路电流,对于通信不会有很大影响。当共模干扰源内阻较低时,会在接地线上形成较大的环路电流,影响正常通信
③在节点数为32个,配置了120Ω的终端电阻的情况下,驱动器至少还能输出电压1.5V ④接收器的输入灵敏度为200mV
- 这点就是说:(V+)-(V-)≥0.2V,表示信号“0”;(V+)-(V-) ≤-0.2V,表示信号“1”;当-0.2V≤ A-B≤0.2V,状态不定。为了防止这个状态不定,就要加上拉或者下拉电阻,阻值的选择其实就是为了让两线之间电压大于200mV
- 此外为了防止短时间内的电压变化,需要对线路进行瞬态保护
|