1969年,美国电子工业协会将RS-232定为串行通信接口的电器标准,该标准定义了数据终端设备DTE(Date Teriminal Equipment)与数据通信设备DCE(Data Communication Equipment)指甲按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,适合于数据传输在0~20000bits范围内的通信。有应用广泛;连接距离长(15m);实现简单,双向连接,只需要三条导线等特点。

标准的RS_232接口有25根信号线,其中有4跟数据线,11根控制线,3根定时线和7根备用线。使用25根信号线中的9根就可以实现RS_232通信。

RS-232串口通信简介-LMLPHP

1.DCD(Data Carrier Detection):数据载波检出,有效表示Modem已经接通了通信链路,即本地Modem收到了通信链路另一端的远程Modem送来的载波信号,终端可以准备好接收数据。(数据载波监测)

2.RxD(Received Data):接收数据,终端通过信号线从Modem接收数据。(接收数据)

3.TxD(Transmitted Data):发送数据,终端通过此信号线将数据发送给Modem。(发送数据)

4.DTR(Data Terminal Ready):数据终端就绪,当其有效时,说明数据终端可用。(数据终端准备)

5.SG(Signal Ground):信号地。

6.DSR(Date Set Ready):数据装置就绪,当状态为有效时,表明Modem(Modulator:中文调制器,是一种在发送端通过调制将数字信号转化为模拟信号,而在接收端通过调解再将模拟信号转换为数字信号的设备)处于可以使用的状态。(数据设备准备好)

7. RTS(Request To Send):请求发送,即当终端需要发送数据时,使该信号有效,同Modem请求发送,用于控制Modem是否进入发送状态。(请求发送)

8.CTS(Clear To Send)意思为允许发送,这个信号是对RTS信号的响应。当Modem已经准备好接收终端发过来的数据时,使该信号有效,通知终端开始发送数据。(清除发送)

9.RI(Ringing):振铃指示,当本地Modem收到交换台发送的振铃呼叫信号时,使该信号有效,通知终端已被呼叫。(振铃提示)

Tips:地线有两根,分别是信号地SG(Signal Ground)和保护地PE(Protection Ground),信号地是所有信号的参考电平,保护地用于连接设备外壳或者地表。

常见的RS_232串行接口连接器有两种:25针的DB-25,9针的DB-9。最常用的连接方法是三线连接法:即地(信号地),接收数据和发送数据三角相连。

RS-232串口通信简介-LMLPHP

电气特性:对于数据传输线RxD和TxD,逻辑“1”对应的电平是-15~3V, 逻辑“0”对应的电平是+3~+15V;对于RTS,CTS,DSR,DTR,DCD等信号线,信号有效时对应信号线上为正电平+3~+15V,反之则是-15V~-3V。

由于RS-232电气特定规定的电平不符合通常电路中所使用的TTL或CMOS电平(TTL电平:阀值电压是<0.2V为输出低电平;>3.4V为输出高电平;CMOS电平:逻辑电平电压接近于电源电压,0逻辑电平接近于0V。而且具有很宽的噪声容限)因此接入电路之前需要对其进行转换。最常用是使用没新公司的MAX232。MAX232可以将串口设备需要发送的TTL/CMOS逻辑电平转换为RS-232逻辑电平,同时也可以将要接收的RS-232逻辑电平转换为TTL/CMOS电平。MAX232典型连接方法:10和11管脚是TTL/CMOS电平输入,对应14管脚和7管脚的RS-232电平输出。12和9管脚是TTL/CMOS电平输出,对应13和8管脚的RS-232电平输入。

RS-232串口通信简介-LMLPHP

通信时序:在串行通信时,常用”波特率“来描述数据的传输速率。所谓“波特率”就是每秒钟传送的二进制位数,通常称为传输速率。在异步串行通信中,传送一个字符,包括12位,其传输速率为1200bit/s,每秒所能传送的字符数(字符速率)是100个。1200bit/s意义是每秒传输1200位数据,包括字符位和其他必须的位:如奇偶校验位,起始位,停止位。其中,字符数据的位数可以被设置为5~8位,奇偶校验位可以去除,也可以设置为奇检验或者偶校验;停止位可以设置为1位,1.5位或者2位(指的是停止位有1,1.5,2个单位时间三种长度)。

Tips:奇/偶校验(ECC)是数据传送时采用的一种校正数据错误的一种方式,分为奇校验和偶校验两种。
  如果是采用奇校验,在传送每一个字节的时候另外附加一位作为校验位,当实际数据中“1”的个数为偶数的时候,这个校验位就是“1”,否则这个校验位就是“0”,这样就可以保证传送数据满足奇校验的要求。在接收方收到数据时,将按照奇校验的要求检测数据中“1”的个数,如果是奇数,表示传送正确,否则表示传送错误。
  同理偶校验的过程和奇校验的过程一样,只是检测数据中“1”的个数为偶数。
  如0100101偶校验码就是10100101
  推理偶校验: 当实际数据中“1”的个数为偶数的时候,这个校验位就是“0”,否则这个校验位就是“1”,这样就可以保证传送数据满足偶校验的要求。在接收方收到数据时,将按照偶校验的要求检测数据中“1”的个数,如果是偶数个“1”,表示传送正确,否则表示传送错误。

Rs232奇偶校验校的都是“1”的个数 。

串行总线在空闲的时候保持逻辑“1”状态(即串行连接线上的电平为-3~+15V),当需要传送一个字符时,首先会发送一个逻辑为”0“的起始位,表示开始发送数据;之后,就逐个发送数据位,奇偶校验位和停止位(逻辑为”1“)。

05-28 18:35