RS232是什么?

RS-232是美国电子工业联盟(EIA)制定的串行数据通信的接口标准,原始编号全称是EIA-RS-232(简称232,RS232)。它被广泛用于计算机串行接口外设连接。

RS-232C标准,其中EIA(Electronic Industry Association)代表美国电子工业联盟,RS(Recommended standard)代表推荐标准,232是标识号,C代表RS232的第三次修改(1969年),在这之前,还有RS232B、RS232A。

目前的最新版本是由美国电信工业协会(TIA, Telecommunications Industry Association,由 EIA 所分出的一个组织)所发布的 TIA-232-F,它同时也是美国国家标准 ANSI/TIA-232-F-1997 (R2002),此标准于 2002 年受到再确认。 在 1997 年由 TIA/EIA 发布当时的编号则是 TIA/EIA-232-F 与 ANSI/TIA/EIA-232-F-1997。 在此之前的版本是 TIA/EIA-232-E。

它规定连接电缆和机械、电气特性、信号功能及传送过程。其他常用电气标准还有EIA-RS-422-A、EIA-RS-423A、EIA-RS-485。
目前在IBM PC机上的COM1、COM2接口,就是RS-232C接口。RS-232对电气特性、逻辑电平和各种信号线功能都作了规定。

由于 RS-232-C 的重大影响,即使自 IBM PC/AT 开始改用 9 针连接器起,目前已几乎不再使用 RS-232 中规定的 25 针连接器,但大多数人仍然普遍使用 RS-232C 来代表此一接口。

RS-232是现在主流的串行通信接口之一。
由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片。RS232接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3— -15V;逻辑“0”:+3— +15V ,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”,TTL电平为5V为逻辑正,0为逻辑负 。与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率为20Kbps;因此在51CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。

接口定义

RS232 针脚定义

RS232 针脚定义(图片来自网络)


1 DCD 载波检测
2 RXD 接收数据
3 TXD 发送数据
4 DTR 数据终端准备好
5 SGND 信号地线
6 DSR 数据准备好
7 RTS 请求发送
8 CTS 清除发送
9 RI 振铃提示

在RS-232标准中,字符是以一串行的比特串来一个接一个的串行(serial)方式传输,优点是传输线少,配线简单,传送距离可以较远。最常用的编码格式是异步起停(asynchronous start-stop)格式,它使用一个起始比特后面紧跟7或8 个数据比特(bit),然后是可选的奇偶校验比特,最后是一或两个停止比特。所以发送一个字符至少需要10比特,带来的一个好的效果是使全部的传输速率,发送信号的速率以10划分。一个最平常的代替异步起停方式的是使用高级数据链路控制协议(HDLC)。

在RS-232标准中定义了逻辑1和逻辑0电压级数,以及标准的传输速率和连接器类型。信号大小在正的和负的3-15v之间。RS-232规定接近0的电平是无效的,逻辑1规定为负电平,有效负电平的信号状态称为传号marking,它的功能意义为OFF,逻辑0规定为正电平,有效正电平的信号状态称为空号spacing,它的功能意义为ON。根据设备供电电源的不同,±5、±10、±12和±15这样的电平都是可能的。

mark和space是从电传打字机中来的术语。电传打字机原始的通信是一个简单的中断直流电路模式,类似与圆转盘电话拨号的中的信号。Marking状态是指电路是断开的,spacing状态就是指电路是接通的。一个space就表明有一个字符要开始发送了,相应的停止的时候,停止位就是marking。当线路中断的时候,电传打字机不打印任何有效字符,周期性的连续收到全0信号

串行通信在软件设置里需要做多项设置,最常见的设置包括波特率(Baud Rate)、奇偶校验(Parity Check)和停止位(Stop Bit)。

波特率(又称鲍率):是指从一设备发到另一设备的波特率,即每秒钟多少比特bits per second (bit/s)。典型的波特率是300, 1200, 2400, 9600, 15200, 19200等bit/s。一般通信两端设备都要设为相同的波特率,但有些设备也可以设置为自动检测波特率。

奇偶校验(Parity:是用来验证数据的正确性。奇偶校验一般不使用,如果使用,那么既可以做奇校验(Odd Parity)也可以做偶校验(Even Parity)。奇偶校验是通过修改每一发送字节(也可以限制发送的字节)来工作的。如果不作奇偶校验,那么数据是不会被改变的。在偶校验中,因为奇偶校验位会被相应的置1或0(一般是最高位或最低位),所以数据会被改变以使得所有传送的数位(含字符的各数位和校验位)中“1”的个数为偶数;在奇校验中,所有传送的数位(含字符的各数位和校验位)中“1”的个数为奇数。奇偶校验可以用于接受方检查传输是否发送生错误——如果某一字节中“1”的个数发生了错误,那么这个字节在传输中一定有错误发生。如果奇偶校验是正确的,那么要么没有发生错误要么发生了偶数个的错误。如果用户选择数据长度为8位,则因为没有多余的比特可被用来作为同比特,因此就叫做“无位元(Non Parity)”。

停止位:是在每个字节传输之后发送的,它用来帮助接受信号方硬件重同步。

RS-232在传送数据时,并不需要另外使用一条传输线来传送同步信号,就能正确的将数据顺利传送到对方,因此叫做“异步传输”,简称UART(Universal Asynchronous Receiver Transmitter),不过必须在每一笔数据的前后都加上同步信号,把同步信号与数据混和之后,使用同一条传输线来传输。比如数据11001010被传输时,数据的前后就需加入Start(Low)以及Stop(High)等两个比特,值得注意的是,Start信号固定为一个比特,但Stop停止比特则可以是1、1.5或者是2比特,由使用RS-232的传送与接收两方面自行选择,但需注意传送与接受两者的选择必须一致。 在串行通信软件设置中D/P/S是常规的符号表示。8/N/1(非常普遍)表明8bit数据,没有奇偶校验,1bit停止位。数据位可以设置为7、8或者9,奇偶校验位可以设置为无(N)、奇(O)或者偶(E),奇偶校验可以使用数据中的比特(bit),所以8/E/1就表示一共8位数据位,其中一位用来做奇偶校验位。停止位可以是1、1.5或者2位的(1.5是用在波特率为60wpm的电传打字机上的)。

流量控制:当需要发送握手信号或数据完整性检测时需要制定其他设置。公用的组合有RTS/CTS, DTR/DSR或者XON/XOFF(实际中不使用连接器管脚而在数据流内插入特殊字符)。

接受方把XON/XOFF信号发给发送方来控制发送方何时发送数据,这些信号是与发送数据的传输方向相反的。XON信号告诉发送方接受方准备好接受更多的数据,XOFF信号告诉发送方停止发送数据直到知道接受方再次准备好。XON/XOFF一般不赞成使用,推荐用RTS/CTS控制流来代替它们。 XON/XOFF是一种工作在终端间的带内方法,但是必须两端都支持这个协议,而且在突然启动的时候会有混淆的可能。 XON/XOFF可以工作于3线的接口。RTS/CTS最初是设计为电传打字机和调制解调器半双工协作通信的,每次它只能一方调制解调器发送数据。终端必须发送请求发送信号然后等到调制解调器回应清除发送信号。尽管RTS/CTS是通过硬件达到握手,但它有自己的优势。

本文摘自:百度百科

想了解更详细的内容,可以参考:百度百科维基百科

Proudly powered by WordPress   Premium Style Theme by www.gopiplus.com
显示
Share On Facebook
Share On Twitter
Share On Google Plus
Share On Linkedin
Share On Pinterest
分享到 QQ 空间
分享给 QQ 好友
分享到新浪微博
隐藏