在这一课里,我们一起来学习RS-232C串行通信相关标准及单片机和电脑的RS-232C串行通信接口技术,为学习和开发单片机串口通信应用系统打好基础,希望大家在看完这篇文章后对串行通信有初步的认识。 【通信基本概念】 什么是通信?简单地说,不同的系统经由线路相互交换数据,就是通信。通信的主要目的是将数据从一端传送到另一端,达到数据交换的目的。例如,从人与人之间的对话、计算机与设备之间的数据交换到计算机与计算机间的数据传送,乃至于广播或卫星都是通信的一种,一个完整的通信系统包括发送端、接收端、转换数据的接口及传送数据的实际信道。 【通信的种类】 按照通信的形式可以分为两种,其中一种为并行传输的通信,即并行通信(Parallel Communication),另一种则为串行通信(Serisl Communication)。这两种通信方式的 区别是,并行通信一次的传输数据量为8位(1个字节);而串行通信则一次只能传输1位,传输1字节数据(8位)数据就需要8次才能传出去,因此,它们两者之间的数据传输速度就相差8倍。看到这里,估计有些朋友会问,既然并行通信的速度是串行通信的8倍,是不是串行通信就不好了?!其实不能这么认为,两种通信方式各有特点,串行通信之所以存活了这么长时间,自然有它的长处。 并行通信虽然可以在一次的数据传输中传送8位,但是数据电压在传送的过程中,容易因为线路及干扰因素使得电压准电位发生变化(主要为电压衰减和信号间相互干扰问题),因而使得传输数据发生错误,通信距离越长,问题越明显,因此并行通信主要用于传输距离较短的场合,如电脑主板的并口LPT1,主要和并行打印机通信。 串行通信一次只传输1位,相对来说,要处理的数据电压只有一个,因此比较不容易漏失数据,通信时候再加上一些校验防范措施后,串行通信的出错就更不容易了,串行通信端口(Serisl Communication Port)在系统控制的范畴中一直占有极其重要的角,不仅没有因为时代的进步而被淘汰,反而失在规格上愈来愈向其极限挑战,下面我们重点来介 绍RS-232C串行通信。
【RS-232串行通信】
一、RS-232C标准介绍
RS-232C是由美国电子工业协会(EIA)正式公布的,在异步串行通信中应用最广泛的标准总线。RS-232C 标准(协议)的全称是EIA-RS-232C 标准,其中EIA(Electronic Industry Association)代表美国电子工业协会,其中RS是Recommended Standard的缩写,代表推赠标准,232是标识符,C代表RS-232的最新一次修改(1969年),在这之前,有过RS-232A、RS-232B标准,它规定连接电缆和机械、电气特性、信号功能及传送过程。现在,计算机上的串行通信端口(RS-232)是标准配置端口,已经得到广泛应用,计算机上一般都有1~2个标准RS-232C串口,即通道COM1和COM2。下图为计算机主板上的两个RS-232通信端口图片及端口属性,我们一般可以从计算机后面查看到本机的通信端口。
| |
计算机的RS-232串行通信接口图片
如左图所示,我们可以从操作系统的设备管理器中查看电脑的通信端口属性,进入计算机的:控制面板 -> 系统 -> 硬件 -> 设备管理器 -> 端口,就可以看到自己电脑通信端口,在图中显示了这台计算机有1个ECP打印机并行通信端口LPT1和2个RS-232串行通信端口COM1和COM2。只要显示的端口名称前面没有黄的惊叹号的话,就表示这个端口是可以使用的。 |
| | |
| | |
二、RS-232C电气特性
EIA-RS-232C对电器特性、逻辑电平和各种信号线功能都作了明确规定。
在TXD和RXD引脚上电平定义:逻辑1(MARK) = -3V~-15V
逻辑0(SPACE) = +3~+15V
在RTS、CTS、DSR、DTR 和DCD等控制线上电平定义:
信号有效(接通,ON状态,正电压)=+3V~+15V
信号无效(断开,OFF状态,负电压)=-3V~-15V
以上规定说明了RS-232C 标准对逻辑电平的定义。对于数据(信息码):逻辑“1”的传输的电平为-3V~-15V,逻辑“0”传输的电平为+3V~+15V;对于控制信号;接通状态(ON)即信号有效的电平为+3V~+15V,断开状态(OFF)即信号无效的电平为-3V~-15V,也就是当传输电平的绝对值大于3V 时,电路可以有效地检查出来;而介于-3~+
3V之间的电压即处于模糊区电位,此部分电压将使得计算机无法准确判断传输信号的意义,可能会得到0,也可能会得到1,如此得到的结果是不可信的,在通信时候体现的是会出现大量误码,造成通信失败。因此,实际工作时,应保证传输的电平在±(3~15)V 之间。
三、RS-232C机械连接器及引脚定义
目前,大部分计算机的RS-232C通信接口都使用了DB9连接器,如上面图中所示,主板的接口连接器有9根针输出(RS-232公头),也有些比较旧的计算机使用DB25连接器输出,下面我们来介绍DB9和DB25输出接口的引脚定义。
航空装备表面处理技术
RS-232C串口引脚定义表 |
9针RS-232串口(DB9) | . | 25针RS-232串口(DB25) | 引脚 | 简写 | 功能说明 | 引脚 | 简写 | 功能说明 | 1 | CD | 载波侦测(Carrier Detect) | 8 | CD | 载波侦测(Carrier Detect) | 2 | RXD | 接收数据(Receive) | 3 | RXD | 接收数据(Receive) | 3 | TXD | 发送数据(Transmit) | 2 | TXD | 发送数据(Transmit) | 4 | DTR | 数据终端准备(Data Terminal Ready) | 20 | DTR | 数据终端准备(Data Terminal Ready) | 5 | GND | 地线(Ground) | 7 | GND | 地线(Ground) | 6 | DSR | 数据准备好(Data Set Ready) | 6 | DSR | 数据准备好(Data Set Ready) | 7 | RTS | 请求发送(Request To Send) | 4 | RTS | 请求发送(Request To Send) | 8 | CTS | 清除发送(Clear To Send) | 5 | CTS | relex清除发送(Clear To Send) | 9 | RI | 振铃指示(Ring Indicator) | 22 | RI | 振铃指示(Ring Indicator) | | | | | | | |
|
|
四、RS-232C的通信距离和速度
RS-232规定最大的负载电容为2500pF,这个电容限制了传输距离和传输速率,由于RS-232C的发送器和接收器之间具有公共信号地(GND),属于非平衡电压型传输电路,不使用差分信号传输,因此不具备抗共模干扰的能力,共模噪声会耦合到信号中,在不使用调制解调器(MODEM)时,RS-232能够可靠进行数据传输的最大通信距离为15米,对于RS232远程通信,必须通过调制解调器进行远程通信连接。
现在个人计算机所提供的串行端口的传输速度一般都可以达到115200bps甚至更高,标准串口能够提供的传输速度主要有以下波特率:1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、57600bps、115200bps等,在仪器仪表或工业控制场合,9600bps是最常见的传输速度,在传输距离较近时,使用最高传输速度也是可以的。传输距离与传输速度的关系成反比,适当地降低传输速度,可以延长RS-232的传输距离,提高通信的稳定性。
一、RS232C串行接口标准简介
RS232C是1969年有电子工业协会(EIA)公布的标准,RS是推荐标准(recommended standard)的缩写。该标准的用途是定义数据终端设备(DTE)与数据通信设备(DCE)接口的电气特性。图1是个人计算机通过RS232C 、调制解调器访问远程计算机的应用框图。RS232C接口在个人计算通信中起着极为重要的作用。
图1 RS232C接口应用图例
1、RS232C信号特性、电缆长度及波特率
为了确保正确的发送二进制数据和正确的执行设备控制,RS232C标准为数据和管制信号提供了电压标准及范围。当RS232C的线路上没有通信的数据信号时,DTE端的发送信号保持-15V三乙胺的电压。电压标准如表1我眼中的冬天所示
表1 交换电压标准
电压 | 逻辑状态 | 信号状态 | 接口控制功能 |
+3V~+15V | 0 | 间隔 | 接通 |
-3V~-15V | 1 | 标志 | 断开 |
| | | |
RS232C标准规定电缆长度限定在15m以内,串行数据传速率的范围为0~20000b/s。这一规定足以覆盖个人计算机使用的50~9600b/s范围。电缆长度也足以满足大多数个人计算机通信的要求。
2、RS232C引脚分配及定义
RS232C标准规定设备间使用带"D"型25针连接器的电缆通信。“D"型25芯标准连接器见图2所示。在这25根引线中,有20根要用作信号线,其他3根(11、18、25)未定以用途,2根(9、10)备用。
表2 对RS232C的25针连接器引脚定义进行了说明
表 2 RS232C标准25针连接器引脚定义
引脚号 | 名称 | 名称缩写 | 信号方向 | 说明 |
1 | frame ground | FG | | 屏蔽地线 |
2 | transmitted data | TXD | 从DTE至DCE | 传送数据线 |
3 | received data | RXD | 从DCE至DTE | 接受数据线 |
4 | request to send | RTS | 从DTE至DCE | 请求发送 |
5 | clear to send | CTS | 从DCE至DTE | 允许发送 |
6 | data set ready | DSR | 从DCE至DTE | 数据设备(DCE)准备好 |
7 | signal ground | SG | | 信号逻辑地线 |
8 | data carrier detect | DCD | 从DCE至DTE | 数据载波检测 |
9 | reserved | | | 备用 |
10 | reserved | | | 备用 |
11 | unassigned | | | 未定义 |
12 | secondary data carrier detect | DCD | 从DCE至DTE | 数据载波检测(二次通道) |
13 | secondary clear to send | CTS | 从DCE至DTE | 允许发送(二次通道) |
公司法第二十一条14 | secondary transmintted data | TXD | 从DTE至DCE | 传送数据(二次通道) |
15 | transmit clock | TXC | 从DCE至DTE李真案 | 传送时钟 |
16 | secondary received data | RXD | 从DCE至DTE | 接受数据线(二次通道) |
17 | received clock | RXC | 从DTE至DCE | 接受时钟 |
18 | unassigned | | | 未定义 |
19 | secondary request send | RTS | 从DTE至DCE | 请求发送(二次通道) |
20 | data terminal ready | DTR | 从DTE至DCE | 数据终端准备好 |
21 | signal quality detect | SQD | 从DCE至DTE | 信号质量检测 |
22 | ring indicator | RI | 从DCE至DTE | 振铃指示 |
23 | data rate select | DRS | 从DTE至DCE | 数据速率选择。它是针对21引脚改变的答应 |
24 | external transmit clock | | 从DTE至DCE | 外部发送时钟 |
25 | unassigned | | | 未定义 |
| | | | |
但目前已经很少有人使用25针D型连接器了,一般都使用9针D型连接器,9针和25针连接器间的对应关系如表3所示