1。RS232C标准 所谓串行通信接口标准,是指串行通信接口与外设的信号连接标准。实际中常用的串行通信接口标准有3种:RS232CRS422A423A20mA电流环 PC机一般都配置了RS232C标准接口。RS232C标准常简称为RS232。 RS232C的定义包括电气特性(如电压值)、机械特性(如接头形状)及功能特性(如脚位信号)等。 串行通信接口基本功能是:在发送时,把CPU送来的并行码转换成串行码,逐位地依次发送出去;在接收时,把发送过来的串行码逐位地接收,组装成并行码,并行地发送给CPU去处理。这种串行到并行转换的功能,常用硬件电路来实现,这种硬件电路叫做串行通信接口。 普通的Modem通常都是通过RS232C串行口信号线与计算机连接。 根据RS232C标准规定,接口电路采用一对物理D型连接器:DTE设备应该有一个D型插头接口,DCE设备应该有一个D型插座接口。 D型连接可以是25芯(简称为DB25),也可以是9芯(简称为DB9)。RS232C引脚分配如下图所示。 1。1信号连接 RS232C规定使用一种DB25连接器,其中20个脚作了定义,9、10、11、18、25未作定义。RS232C串行口信号分为3类:传送信号、联络信号和信号地。 1。传送信号(TxD和RxD) 传送信号是经由(发送数据信号线,引脚)传送和(接收数据信号线,引脚)接收的信息格式即一个传送单位(字节)由起始位、数据位、奇偶校验和停止位组成。 2。联络信号(RTS、CTS、DTR、DSR、DCD和RI等个信号) RTS(请求传送,引脚),是PC向Modem发出的联络信号。高电压表不PC机请求向Modem传送数据。 CTS(清除发送,引脚),是Modem向PC机发出的联络信号。高电压表示Modem响应PC发出的RTS信号,且准备向远端Modem发送数据。 DTR(数据终端就绪,引脚),是PC向Modem发出的联络信号。高电压表示PC机处于就绪状态,本地Modem和远端Modem之间可以建立通信信道。若为低电平,则强迫Modem终止通信。 DSR(数据装置就绪,引脚),是Modem向PC发出的联络信号。它指出本地Modem的工作状态,高电压表示Modem没有处于测试通话状态,可以和远端Modem建立通道。 DCD(传送检测,引脚),是Modem向PC发出的状态信号,高电压表示本地DCE接收远端Modem发来的载波信号。 RI(铃指示,引脚),Modem向PC发出的状态信号。高电压表示本地Modem收到远端Modem发来的振铃信号。 3。SG(信号地) SG(信号地,引脚)为相连的PC和Modem提供同一电势参考点。1。2握手 DTE和DCE之间要实现双向通信,至少需要条信号线:TxD使数据从DTE到ECE。RxD使数据从ECE到ETE,SG为信号地。 必须使用握手信号,它提供了一种控制数据流的方法,即接收设备可以控制发送设备的数据发送。 在异步串行通信中,这称之为握手(handshaking)或流量控制(flowcontrol)。握手控制可以具体分为硬件握手(硬件流控)和软件握手(软件流控)。 1。硬件握手 硬件握手是使用专门的握手电路去控制数据的传输。当接收设备准备好之后,就通过专用的握手电路传送一个正电压给发送设备,指示发送设备数据。如果接收传送一个负电压给发送设备,则指示发送设备停止发送数据。 为了完成数据通信需要有类电路:数据线、信号线和握手线。 (1)DTE到DCE 为了控制DTE的发送数据,DCE使用DSR信号作为主握手信号去通知DTE已做好接收数据库的准备。当通知DTE暂停发送数据时,置DSR无效。 (2)DCE到DTE 为了控制DCE的数据发送,DTE使用DTR信号作为主握手信号去通知DCE已做好接收数据的准备。当通知DCE暂停发送数据时,置DTR无效。 DTE还使用RTS信号作为第二握手信号控制DCE设备。仅当这两条握手线都有效时,DCE才发送数据。 (3)双向通信 双向通信中只使用主握手线,则共需要5条信号线:TxD、RxD、DSR、DTR和SG。如果还使用第二握手线,则共需要7条信号线。 为了使DCE能向DTE提供更多信息,通常还使用RI和DCE两条信号线。这样一个完整的异步串行通信必需的就是这9条信号线。 有握手功能的双向通信如下图所示: 2。软件握手 软件握手的原理机制与硬件握手基本相同,不同的握手信号是在数据线(TxD和RxD)上进行传送的,而不是在专门握手线上传送。这是因为软件握手信号是由特殊字符组成的,所以传送这些字符必须使用数据电路,而不是使用专门握手电路。这种方法常用在直接连接或通过Modem连接的两台计算机之间进行双向通信的场合。 软件握手最常用的协议是XONXOFF协议。该协议主要解决通信双方处理速度不区配的问题,协议规定发送XOFF表示暂停发送数据,发送XON表示继续发送数据。 3。硬件与软件相结合的握手 为了综合硬件握手和软件握手的好处,可以采用硬件和软件相结合的握手控制。假设DTE设备为计算机,DCE设备为Modem,两台计算机之间通过Modem经电话线连接,则此时计算机与Modem之间可采用硬件握手方法,而两台计算机之间可以使用软件握手方法进行联系。1。3微机的RS232C接口 个人计算机的RS232C接口名称有多个:RS232C口、串口、通信口、COM口、异步口等。 目前DOS3。3以上版本和Windows3。298NT最多支持个串口:COM1、COM2、COM3和COM4。 它们所占用的IO口地址和中断号见表: 串口 IO地址 中断号 COM1 0x3f8 IRQ4 COM 0x2f8 IRQ3 COM 0x3e8 IRQ4 COM 0x2e8 IRQ3 为更好地说明RS232C接口电路的实际工作情况,下面以应答呼叫过程为例,具体分析其信号间的交互关系。 所谓应答呼叫过程,即指Modem从接收到振铃信号开始,到数据传输结束后Modem和DTE恢复到原来的空闲状态为止的过程。 (1)数据终端DTE的控制软件持续监视振铃指示(RI),等待该信号有效。引脚连线如图: (2)响铃后,Modem在振铃脉冲期间发出振铃指示信号(RI有效),在振铃脉冲间隔期间,振铃指示信号有效。即随着振铃脉冲的有无,RI信号ONOFF交替变化。 (3)DTE的通信控制软件在检测到振铃指示后,开始通过计算机振铃指示ONOFF变化的次数对振铃进行计数。当达到程序预置好的振铃数时,控制软件发出数据终端就绪信号(DTR有效),迫使Modem进入摘机状态,开始应答电话。 (4)Modem在等待一小段时间后,自动地发送它的应答载波信号。同时Modem发出数据设备就绪信号(DSR信号有效),通知DTE已完成所有准备工作,正在等待对方载波信号。 (5)在DTE发出数据终端就绪信号(DTR有效)期间,DTE的控制软件监视数据设备就绪信号(DSR是否有效)。当DSR变为ON状态后,DTE便知道了Modem已准备建立数据链路,于是DTE开始监视载波检测(DCD)信号,以检查数据链路是否已建立。 (6)当主叫Modem的载波信号出现在电话线上时,被叫Modem就发出载波检测信号(DCD),通知DTE已建立数据链路。 (7)在数据链路连接期间,发送数据(TxD)和接收数据(RxD)线上即开始了全双工通信。同时,DTE仍监视着载波检测(DCD)信号,以确定数据链路是否连接。 (8)数据传输结束后,DTE使数据终端就绪信号(DTE无效),Modem撤消载波信号并以载波检测(DCD)和数据设备就绪(DSR)信号无效给予响应。数据链路释放后,Modem和DTE准备下一次接收或作另一次呼叫。 本文来源于《Delphi程序设计教程》(第3版)杨长春主编