首页 理论教育单片机串行通信接口及物理标准解析

单片机串行通信接口及物理标准解析

【摘要】:单片机的串行口是和外部设备进行通信的重要通道,下面将对串行通信接口的物理和电气标准、多机及远程通信的方法做进一步介绍。图9-23 MAX485双机通信原理图9-24 MAX485多机通信原理9.3.2 串行接口的物理标准RS-232C物理标准规定接口通向外部的连接器是一种型号为DB25的25芯插针插座。

单片机的串行口是和外部设备进行通信的重要通道,下面将对串行通信接口物理电气标准、多机及远程通信的方法做进一步介绍。

9.3.1 串行接口的电气标准

8051系列单片机的串行口输入/输出均使用TTL电平方式,当单片机与外部进行芯片间的数据交换时,TTL方式完全能够胜任,但在与PC进行通信时,TTL方式因抗干扰性差、电平损耗大等原因而有些力不从心,这时可以选择RS-232C通信方式,以实现近距离的数据通信。如果是在工厂、煤矿等远距离、强干扰的复杂环境下,RS-232C通信方式也捉襟见肘,只有RS-422A、RS-485通信方式才能满足通信的要求。

1.TTL电平通信接口

如果两个单片机的通信距离在1 m以内,就可以将它们的串行接口直接相连,实现芯片间的通信。在TTL电平通信方式下,单片机使用+3~+5 V来表示逻辑“1”,使用0 V来表示逻辑“0”。发送器的TXD引脚连接至接收器的RXD引脚,接收器的TXD引脚则连接至发送器的RXD引脚。两个8051单片机间的TTL电平通信连接方式如图9-18所示。

图9-18 芯片间的TTL通信接口

2.RS-232C通信接口

RS-232C接口(EIA RS-232C)是常用的一种串行通信接口标准,最早在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家以及计算机终端制造商共同制定完成,并用于串行通信的接口电气标准,它的全称是数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准。

RS-232C是一种在低速率串行通信中增加通信距离的单端标准,采用不平衡传输方式,收发端的数据信号都是相对于地的,使用正负电压来表示逻辑状态,即使用-5~-15 V表示逻辑“1”,+5~+15 V表示逻辑“0”。由于RS-232C电平接口使用两根信号线构成共地的传输形式,其共模抑制能力较差,容易产生共模干扰,再加上双绞线上的分布电容,其传送距离最大约为15 m,最高传输速率20 kb/s。

由于RS-232C电平与TTL电平不兼容,在单片机使用RS-232C标准进行通信时,必须进行电平和逻辑关系的转换,目前较为常用的电平转换器件是美信公司推出的MAX232,其引脚排列和典型电路如图9-19和图9-20所示。MAX232内部包含有两组驱动/接收器件,支持从EIA-232电平至5 V的TTL/CMOS电平的双向转换。

图9-19 MAX232的引脚排列

图9-20 RS-232C电平转换电路

注意:在使用MAX232设计电路时,需要将MAX232引脚OUT端连接至单片机的RXD端,MAX232的IN端连接至单片机的TXD端,才能保证两者之间的正常通信。

3.RS-422A通信接口

由于RS-232C标准存在许多不足之处,EIA又制定出了RS-422A标准。应当说RS-232C既是一种电气标准,又是一种特理接口功能标准,既规定了通信的电平,又规定了连接器件的样式,而RS-422A仅是一种电气标准,它并不涉及硬件接口的标准。

RS-422A标准采用平衡驱动和差分接收的通信方法,信号在一对双绞线上以相反极性传输,一条线上为高电平时,另一条线上为低电平,发送驱动器两条线之间的正电平为+2~+6 V,负电平为-2~-6 V。这种传输方式可以使信号在每根双绞线上产生的磁场相互抵消,从而将电磁干扰减至最小,RS-422A也因此具有很强的抗共模干扰能力。

RS-422A接口电路原理如图9-21所示。当TTL电平的逻辑“1”从A点输入时,在B点会输出经取反后为0 V的低电平,而在C点输出的是+5 V的高电平,这种B低C高的线路电压状态,在差分接收器中会被还原成TTL电平的“1”。反之,当从A点输入逻辑“0”时,B点为+5 V,C点为0 V,这种线路电压状态会被还原成TTL电平的“0”。

图9-21 RS-422A电路原理

RS-422A是四线接口,发送和接收均为单独通道,在相同传输线上最多允许接10个节点,即一个主设备,其余为从设备,从设备之间不能通信,所以RS-422A是一种支持“点对多”的双向通信协议。在实际应用中,RS-422A需要接终端电阻,其阻值约等于传输电缆特性阻抗,在短距离传输时终端电阻也可以省略。RS-422A的最大传输速率可达10 Mb/s,在100 kb/s的速率下最大传输距离能达到1 200 m。

4.RS-485通信接口

RS-485是由RS-422A演变而来,区别在于RS-422A为全双工四线制,采用两对差分信号线传输数据,而RS-485为半双工二线制,采用一对差分信号线传输数据。在RS-485标准中,实现了多点、双向通信,增加了发送器的驱动能力和冲突保护特性,在一对通信线路上最多可以使用32台发送器和32台接收器。

RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此发送电路须由使能信号加以控制,使能信号可以控制发送驱动器与传输线间的切断与连接,当“使能”端关闭时,发送驱动器处于高阻状态。由于RS-485满足所有RS-422的规范,可以用在基于RS-422A标准的网络应用中。与RS-422A一样,RS-485最大传输距离约为1 200 m,最大传输速率为10 Mb/s,其接口的电路原理如图9-22所示。

(www.chuimin.cn)

图9-22 RS-485的电路原理

在实际使用中,通常是使用专用的485转换器将TTL电平转换成RS-485电平,实现双机或多机通信。由MAX485构成的双机二线制通信和多机二线制通信电路原理如图9-23和图9-24所示。

图9-23 MAX485双机通信原理

图9-24 MAX485多机通信原理

9.3.2 串行接口的物理标准

RS-232C物理标准规定接口通向外部的连接器是一种型号为DB25的25芯插针插座。在实际应用中,RS-232C规定的25条引线中一般只使用3~9条线,所以RS-232C还规定了另一种小型的连接器DB9,它采用9芯插头插座,其引脚定义和连接器实物如图9-25和图9-26所示,引脚功能见表9-3。

图9-25 DB9连接器引脚定义

图9-26 DB9连接器

表9-3 DB9连接器引脚定义

注:通常情况下单片机与PC连接只需使用发送数据、接收数据和信号地三根线即可。

9.3.3 多机通信

使用串行接口组网构成总线型主从式结构,可以实现多机通信,如图9-27所示。图中仅有一个主机,其余均是从机,从机要服从主机的调度和支配。使用8051系列单片机实现多机通信时,串行口可以工作在方式2或方式3,发送和接收一帧数据是11位,其中包括1个起始位、8个数据位、1个程控位和1个停止位。程控位用于区分地址帧或数据帧,当程控位为“1”时,该帧为地址帧;为“0”时,该帧为数据帧。为了延长通信距离,在实际的多机组网通信中,常采用RS-485标准总线进行数据传输。

图9-27 多机通信原理

编程向导:多机通信的设置。

(1)将所有从机的SM2位置位,使其处于只接收地址帧的状态。

(2)主机发送一个地址帧,其中包含8位地址信息,并且程控位为“1”,表示发送的是地址。

(3)每一个从机收到地址帧后,各自将收到的地址与其本机的地址相比较。

(4)地址相符的从机将SM2位清零,将本机置于接收所有数据的状态,而其他从机则保持SM2位不变,仍处于接收地址的状态。

(5)主机发送数据信息(程控位为0),只有SM2位清零的从机能接收到该数据帧,其他单片机因为SM2位为“1”不能接收数据帧。

(6)主机要与其他从机通信时,可以再次发送地址帧,先前与主机通信的单片机会将自身的SM2位再次置位,并对随后发来的数据帧不响应。