转自:点击打开链接http://wpp9977777.blog.163.com/blog/static/4625100720138411281980/
UART和RS232/RS485的关系是什么?
串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式。但是初学者往往搞不清有关的名词如UART和RS232或RS485之间是什么关系,因为它们经常被放到语句中同等的位置使用。在百度搜索二者的区别,可以看到排在最前面的答案充斥着混淆的概念。就此,谈谈我对这几个概念的理解,希望能帮初学者厘清它们之间的关系。
通讯问题,和交通是一样的。串口通信,我们这里可以用公交来类比。
公交运行可以简单分成两个部分:
1、车站
2、公路
其中车站决定了车上装什么(人),怎么发送(班次)等。
当汽车跑在路上,就要遵守公路交通的规则,过桥有过桥的规则,高速有高速的规则,和车站没有关系了。
回到串口通讯,其实,UART就相当于车站,而RS232/RS485则对应于公路的规则。
UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是串行数据和并行数据之间的转换。我们知道,计算机中的数据以Byte为基本单位,对一个Byte的存取是并行的,即,同时取得/写入8个bit。而串行通信,需要把这个Byte“打碎”,按照时间顺序来收发以实现串行。例如:
内存中的数据是: 1 1 1 0 0 1 0 1
串行发送的实际效果是(按时间排序。这里的例子是小端发送模式,是基本的串口传输方式,但是,大端模式的串口传输模式也是存在的,少见而已):
1
0
1
0
0
1
1
1
接收则是上述过程的逆过程。
这就是UART做的最基本工作,进一步的,它还要控制“发车的班次”,比如确认一个Byte的这8个bit是什么时候开始的,又是什么时候结束的,两个班次之间至少要隔多长时间的缓冲,等等。这一部分,也具有协议的特征,但是相对于道路上的协议,更具有一般性,或曰,是与车在什么道路上开,相对独立的。
那么道路上的规定是什么样的呢?
RS232/RS485,是两种不同的电气协议,也就是说,是对电气特性以及物理特性的规定,作用于数据的传输通路上,它并不内含对数据的处理方式。比如,最显著的特征是:RS232使用3-15v有效电平,而UART,因为对电气特性并没有规定,所以直接使用CPU使用的电平,就是所谓的TTL电平(可能在0~3.3V之间)。更具体的,电气的特性也决定了线路的连接方式,比如RS232,规定用电平表示数据,因此线路就是单线路的,用两根线才能达到全双工的目的;而RS485, 使用差分电平表示数据,因此,必须用两根线才能达到传输数据的基本要求,要实现全双工,必需用4根线。但是,无论使用RS232还是RS485,它们与UART是相对独立的,但是由于电气特性的差别,必须要有专用的器件和UART接驳,才能完成数据在线路和UART之间的正常流动。(yasin:从这里理解,uart是和cpu直接相连的并串转换器件,而rs232和rs485就是连接在uart器件上的phy,经由这个phy在线路上产生相应的波形。那么uart和rs232和rs485之间的连接具体如何呢?)
RS232甚至规定了接口的具体样式,图为DB9接口
总结:从某种意义上,可以说,线路上存在的仅仅是电流,RS232/RS485规定了这些电流在什么样的线路上流动和流动的样式;在UART那里,电流才被解释和组装成数据,并变成CPU可直接读写的形式。
//=======================================================
以下转自:http://blog.csdn.net/chun_1959/article/details/45054519
RS232接口是采用正负电平的单极性信号,一般以3线制的接口最为普遍,信号包括RS232_TX、RS232_RX及GND,具有全双工通讯能力。RS485接口采用一对TTL电平的差分信号RS485_D-和RS485_D+,只能半双工通讯,在通讯方向(接收或发送)的切换方面,一般有两种方式:一种方式是利用TTL_TXD经过一定处理作为方向控制,这种方式也称为自动方向切换方式;另一种方式是使用串口的RTS控制线来控制方向,RTS有效时处于发送状态,无效时处于接收状态。
RS485接口连接器采用DB-9的9芯插头座,与智能终端RS485接口采用DB-9(孔),与键盘连接的键盘接口RS485采用DB-9(针)。
二、RS232 与 RS485 的区别:
一.抗干扰性:
1.. RS485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。 2. RS232 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容 易产生共模干扰,所以抗噪声干扰性弱。
二.传输距离:
1.RS485 接口的最大传输距离标准值为 1200 米(9600bps 时),实际上可达 3000 米。 2. RS232 传输距离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。
三.通信能力:
1.RS-485 接口在总线上是允许连接多达 128 个收发器, 即具有多站能力,这样用户可以利用 单一的 RS-485 接口方便地建立起设备网络 。 2.RS-232 只允许一对一通信。
四.传输速率:
1. 传输速率较低,在异步传输时,波特率为 20Kbps。 2.RS-485 的数据最高传输速率为 10Mbps 。
五.信号线:
1.RS485 接口组成的半双工网络,一般只需二根信号线。 2.RS-232 口一般只使用 RXD、TXD、GND 三条线,即"发送数据"、"接收数据"和"信号地" 。
六.电气电平值:
1.逻辑"1"以两线间的电压差为+(2-6) V 表示;逻辑"0"以两线间的电压差为-(2-6)V 表 示 。 2.在 RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑"1",-5- -15V;逻辑"0 " +5- +15V 。噪声容限为 2V。即要求接收器能识别低至+3V 的信号作为逻辑"0",高到-3 V 的信号作为逻辑"1" 。 3.RS232 接口的信号电平值较高, 易损坏接口电路的芯片, 又因为与 TTL 电平不兼容故需使 用电平转换电路方能与 TTL 电路连接。 4.RS485 接口信号电平比 RS-232-C 降低了,就不易损坏接口电路的芯片, 且该电平与 TTL 电平兼容,可方便与 TTL 电路连接。
RS232 与 RS485 的联系:
1.都可通过 DB-9 连接器连接. 2.接口均可采用屏蔽双绞线传输。 3.都是串行通信。 4.通信方式都是全双工。 (一般情况 485 是半双工)
表1 RS-232端的引脚分配
DB9Female(PIN) |
RS-232C接口信号 |
1 |
保护地 |
2 |
接收数据SIN(RXD) |
3 |
发送数据SOUT(TXD) |
4 |
数据终端准备DTR |
5 |
信号地GND |
6 |
数据装置准备DSR |
7 |
请求发送RTS |
8 |
清除发送CTS |
9 |
响铃指示R1 |
表2 RS-485端的引脚分配
DB9Male(PIN) |
输出信号 |
RS-485半双工接线 |
1 |
T/R+ |
RS-485(A+) |
2 |
T/R- |
RS-485(B-) |
3 |
RXD+ |
空 |
4 |
RXD- |
空 |
5 |
GND |
地线 |
6 |
VCC |
+5V备用电源输入 |
表1中因为不使用监控计算机的传送控制信号,所以只需三条接口线,即“发送数据”、“接收数据”和“信号地”。表2中T/R+、T/R-代表收发A+、B-,VCC代表备用电源输入,GND代表公共地线,点到点、点到多点、半双工通信接两根线(T/R+、T/R-),接线原则“发/收+”接对方的“发/收+” 、“发/收-”接对方的“发/收-” ,RS-485半双工模式接线时将T/R+(发/收+)接对方的A+ 、T/R-(发/收-)接对方的B-。
"RS-485"是否与"半双工"等同?
答:否,RS-485接口可连接成半双工和全双工两种通信方式,半双工通信芯片有SN75176,SN751276,SN75LBC184,MAX485,MAX1478,MAX3082,MAX1483,全双工通信的有:SN75179,SN75180,MAX488-491,MAX1482 等。