RS-232串行通信与单片机接口简介
什么是通信?简单地说,不同的系统经由线路相互交换数据,就是通信。通信的主要目的是将数据从一端传送到另一端,达到数据交换的目的。例如,从人与人之间的对话、计算机与设备之间的数据交换到计算机与计算机间的数据传送,乃至于广播或卫星都是通信的一种,一个完整的通信系统包括发送端、接收端、转换数据的接口及传送数据的实际信道。
按照通信的形式可以分为两种,其中一种为并行传输的通信,即并行通信(Parallel Communication),另一种则为串行通信(Serisl Communication)。这两种通信方式的区别是,并行通信一次的传输数据量为8位(1个字节);而串行通信则一次只能传输1位,传输1字节数据(8位)数据就需要8次才能传出去,因此,它们两者之间的数据传输速度就相差8倍。看到这里,估计有些朋友会问,既然并行通信的速度是串行通信的8倍,是不是串行通信就不好了?!其实不能这么认为,两种通信方式各有特点,串行通信之所以存活了这么长时间,自然有它的长处。
串行通信一次只传输1位,相对来说,要处理的数据电压只有一个,因此比较不容易漏失数据,通信时候再加上一些校验防范措施后,串行通信的出错就更不容易了,串行通信端口(Serisl Communication Port)在系统控制的范畴中一直占有极其重要的角色,不仅没有因为时代的进步而被淘汰,反而失在规格上愈来愈向其极限挑战,下面我们重点来介绍RS-232C串行通信。
并行通信虽然可以在一次的数据传输中传送8位,但是数据电压在传送的过程中,容易因为线路及干扰因素使得电压准电位发生变化(主要为电压衰减和信号间相互干扰问题),因而使得传输数据发生错误,通信距离越长,问题越明显,因此并行通信主要用于传输距离较短的场合,如电脑主板的并口LPT1,主要和并行打印机通信。
一、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通信端口图片及端口属性,我们一般可以从计算机后面查看到本机的通信端口。
如左图所示,我们可以从操作系统的设备管理器中查看电脑的通信端口属性,进入计算机的:控制面板 -> 系统 -> 硬件 -> 设备管理器 -> 端口,就可以看到自己电脑通信端口,在图中显示了这台计算机有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-232串行通信单片 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)