串行通信协议
串行通信协议:计算机与外设或计算机之间的通信通常有两种方式:并行通信和串行通信。并行通信指数据的各位同时传送。并行方式传输数据速度快,但占用的通信线多,传输数据的可靠性随距离的增加而下降,只适用于近距离的数据传送。串行通信是指在单根数据线上将数据一位一位地依次传送。发送过程中,每发送完一个数据,再发送第二个,依此类推。接受数据时,每次从单根数据线上一位一位地依次接受,再把它们拼成一个完整的数据。在远距离数据通信中,一般采用串行通信方式,它具有占用通信线少、成本低等优点。
1、串行通信的基本概念
(1)同步和异步通信方式
串行通信有两种最基本的通信方式:同步串行通信方式和异步串行通信方式。同步串行通信方式是指在相同的数据传送速率下,发送端和接受端的通信频率保持严格同步。由于不需要使用起始位和停止位,可以提高数据的传输速率,但发送器和接受器的成本较高。异步串行通信是指发送端和接受端在相同的波特率下不需要严格地同步,允许有相对的时间时延,
即收、发两端的频率偏差在10%以内,就能保证正确实现通信。异步通信在不发送数据时,数据信号线上总是呈现高电平状态,称为空闲状态(又称MARK状态)。当有数据发送时,信号线变成低电平,并持续一位的时间,用于表示发送字符的开始,该位称为起始位,也称SPACE状态。起始位之后,在信号线上依次出现待发送的每一位字符数据,并且按照先低位后高位的顺序逐位发送。采用不同的字符编码方案,待发送的每个字符的位数不同,在5、6、7或8位之间选择。数据位的后面可以加上一位奇偶校验位,也可以不加,由编程指定。最后传送的是停止位,一般选择1位、1.5位或2位。
(2)数据传送方式
①单工方式。单工方式采用一根数据传输线,只允许数据按照固定的方向传送。图8(a)中A只能作为发送器,B只能作为接收器,数据只能从A传送到B,不能从B传送到A。
②半双工方式。半双工方式采用一根数据传输线,允许数据分时地在两个方向传送,但不能同时双向传送。图8(b)中在某一时刻,A为发送器,B为接收器,数据从A传送到B;而在另一个时刻,A可以作为接收器,B作为发送器,数据从B传送到A。
③全双工方式。全双工方式采用两根数据传输线,允许数据同时进行双向传送。图8(c)中A和B具有独立的发送器和接收器,在同一时刻,既允许A向B发送数据,又允许B向A发送数据。
(3)波特率
波特率是指每秒内传送二进制数据的位数,以b/s和bps(位/秒)为单位。它是衡量串行数据传送速度快慢的重要指标和参数。计算机通信中常用的波特率是:110,300,600,1200,2400,4800,9600,19200bps。
(4)串行通信的检错和纠错
在串行通信过程中存在不同程度的噪声干扰,这些干扰有时会导致在传输过程中出现差错。因此在串行通信中对数据进行校验是非常重要的,也是衡量通信系统质量的重要指标。检错,就是如何发现数据传输过程中出现的错误,而纠错就是在发现错误后,如何采取措施纠正错误。
①误码率
误码率是指数据经传输后发生错误的位数与总传输位数之比。在计算机通信中,一般要求误码率达到10-6数量级。误码率与通信过程中的线路质量、干扰、波特率等因素有关。
②奇偶校验
奇偶校验是常用的一种检错方式。奇偶校验就是在发送数据位最后一位添加一位奇偶校验位(0或1),以保证数据位和奇偶校验位中1的总和为奇数或偶数。若采用偶校验,则应保证1的总数为偶数;若采用奇校验,则应保证1的总和为奇数。在接受数据时,CPU应检测数据位和奇偶校验位中1的总数是否符合奇偶校验规则,如果出现误码,则应转去执行相应的错误处理服务程序,进行后续纠错。
③纠错
在基本通信规程中一般采用奇偶校验或方阵码检错,以重发方式进行纠错。在高级通信中一般采用循环冗余码(CRC)检错,以自动纠错方式来纠错。一般说来,附加的冗余位越多,检测、纠错能力就越强,但通信效率也就越低。
2、串行通信接口标准
串行通信接口按电气标准及协议来分包括RS-232、RS-422、RS485、USB等。 RS-232、RS-422与RS-485标准只对接口的电气特性做出规定,不涉及接插件、电缆或协议。USB是近几年发展起来的新型接口标准,主要应用于高速数据传输领域。
(1)RS-232串行接口
目前RS-232是PC机与通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的单端标准。RS-232采取不平衡传输方式,即所谓单端通信。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动器输出正电平在+5~+15V,负电平在-5~-15V电平。当无数据传输时,线上为TTL电平,从开始传送数据到结束,线上电平从TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3~+12V与-3~-12V。RS-232是为点对点(即只用一对收、发设备)通信而设计的,其驱动器负载为3~7kΩ。由于RS-232发送电平与接收电平的差仅为2V至3V左右,所以其共模抑制能力差,再加上双绞线上的分布电容,其传送距离最大为约30米,最高速率为20kb/s。所以RS-232适合本地设备之间的通信。可以通过测量DTE的Txd(或DCE的Rxd)和Gnd之间的电压了解串口的状态,在空载状态下,它们之间应有约-10V左右(-5~-15V)的电压,否则该串口可能已损坏或驱动能力弱。
①管脚定义
RS-232物理接口标准可分成25芯和9芯D型插座两种,均有针、孔之分。其中TX(发送数据)、RX(接受数据)和GND(信号地)是三条最基本的引线,就可以实现简单的全双工通信。DTR(数据终端就绪)、DSR(数据准备好)、RTS(请求发送)和CTS(清除发送)是最常用的硬件联络信号。
RS-232接口定义及连线
RS-232/串口/异步口/com(通信)口
严格的讲RS-232接口是DTE(数据终端设备)和DCE(数据通信设备)之间的一个接口。
远程通信终端设备 DTE ( Date Terminal Equipment )
数据通信设备 DCE ( Data Communcation Equipment )
DTE包括计算机、终端、串口打印机等。(针输出)
DCE通常有调制解调器(MODEM)和某些交换机com口。(孔输出)
RS-232C 标准中提到的“发送”和“接收”,都是站在DTE立场立场上。
1.电气特性
TxD RxD
逻辑1(MARK)= -3v ~ -15v
逻辑0(MARK)= +3v ~ +15v
RTS CTS DSR DTR DCD 等
信号有效(接通,ON状态,正电压)= +3v ~ +15v
信号无效(断开,OFF状态,负电压)= -3v ~ -15v
与TTL以高低平表示逻辑状态的规定不同。因此,为了能同计算机接口或终端的TTL器件连接,必须进行电平和逻辑关系的变换。广泛采用集成电路转换器件,MC1488、 SN75150(TTL->EIA)、MAX232(TTL<->EIA)。
2.连接器的机械特性
DB-9连接器:AT机以后,不支持20MA电流环接口,使用DB-9,作为提供多若功能I/O卡或主板上COM1/COM2两个串口的连接器。
电缆长度:通信速率低于20kb/s时,RS-232C直接连接最大15m。
最大传输距离:若不使用MODEM,码元畸变小于4%的情况下,最大15m。
3.RS-232C的接口信号
常用的只有9根,标准25根,4条数据、11条控制线、3条定时、7条备用。
<1> 联络控制信号线:
通信协议 DSR 数据装置准备好 ( Data set ready )
有效时ON状态,表明MODEM处于可以使用状态。
DTR 数据终端准备好 ( Data set raady )
有效时ON状态,表明数据终端处于可以使用状态。
这两个信号有时连到电源上,一上电就立即有效。只表明设备本身可用,并不说明通信链路可以开始通信,能否开始通信要由下面的控制信号决定。
RTS 请求发送 ( Request to send )
表求DTE请求DCE发送数据,有效ON。
用来控制MODEM是否要进入发送状态。
CTS 允许请求 ( Clear to send )
表示DCE准备好接收DTE发来的数据,有效ON。
是对RTS的响应信号。当MODEM准备好接收终端传来的数据,并向前发送,使该信号有效,通知终端开始开始沿发送数据线TxD发送数据。
RTS/CTS请求应答用于半双工MODEM系统中发送方式和接收方式切换,在全双工系统配置双向通道,不需要RTS/CTS。
RLSD 接收线信号检出 ( Received line dectection )
表示DCE已接通通信链路,告知DTE准备接收数据。
当本地MODEM收到远地MODEM送来的载波信号,使RLSD信号有效。
DCD 通知终端准备接收 ( Data carrier dectection )
此线也叫 数据载波检出。
RI 振铃指示 ( Ringing )
MODEM收到交换台送来的振铃呼叫信号,有效ON。
通知终端,已被呼叫。
<2> 数据发送与接收线
TxD 发送数据 ( Transmitted data )
RxD 接收数据 ( Received data )
<3> 地线
有两根SG、DG,分别是信号地和保护地,无方向。
只有当DSR、DTR都处于ON状态时,才能在DTE和DCE之间进行传送操作。若DTE要发送数据,则预先将DTR线置有效ON,等CTS线上收到有效ON回答后,才能在TxD线上发送串行数据。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论