串行通信概述陈曦(北京理工大学信息与电子学院)学号2120110832摘要:随着自动化技术的发展和逐渐普及的自动化生产,越来越多的生产设备配备了与计算机进行数据交换的接口,利用计算机的强大处理能力对检测到的数据进行处理,大量的设备和系统采用串行通信方式进行信息交换。本文介绍了物理层协议的串行通信技术,包括串行通信的发展史,协议,技术标准,以及串行通信的发展前景。关键词:串行通信技术标准协议一串行通信的发展史在微型计算机中,通信(数据交换)有两种方式:串行通信和并行通信。串行通信——是指计算机与I/O设备之间仅通过一条传输线交换数据,数据的各位是按顺序依次一位接一位进行传送。并行通信——是指计算机与I/O设备之间通过多条传输线交换数据,数据的各位同时进行传送。应该理解所谓的并行和串行,仅是指I/O接口与I/O设备之间数据交换(通信)是并行或串行。无论怎样CPU与I/O接口之间数据交换总是并行。二者比较:串行通信的速度慢,但使用的传输设备成本低,可利用现有的通信手段和通信设备,适合于计算机的远程通信;并行通信的速度快,但使用的传输设备成本高,适合于近距离的数据传送。串行与并行之间的对比如图:1串行通信的特点所谓串行,是指串行接口与外设之间有通信是串行的,CPU与串行接口之间的通信总是并行的。在串行通信中,只用一根通信线在一个方向上传输信息,这根线上既要传送数据信息又要传送联络信息,这是串行通信的首要特点。为了能够识别在一根线上串行传送的信息流中,哪一部分是联络信息,哪一部分是数据信息,就需要通信双方事先作出一系列的通信约定,这就是协议。因此,串行通信的第二个特点是它的信息格式必须事先用协议约定。2串行通信的方式按照同一时刻数据流的方向不同可分成三种基本传送模式:全双工、双工和单工传送。1、异步通信方式(1)异步串行方式的特点所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为:①以字符为单位传送信息。②相邻两字符间的间隔是任意长。③接收时钟和发送时钟只要相近就可以。异步方式特点简单的说就是:字符间异步,字符内部各位同步。(2)异步串行方式的数据格式(字符格式)异步串行通信的数据格式为每个字符(每帧信息)由4个部分组成:①1位起始位,规定为低电0;②5~8位数据位,即要传送的有效信息;③1位奇偶校验位;④1~2位停止位,规定为高电平1。异步通信方式的特点是每发送一个字符前先发送起始位,发送完字符后再发送结束位,以此作为双方同步的依据。这种方式对硬件要求较宽松,电路简单,但传输效率不高。2、同步串行通信方式(1)同步串行方式的特点所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点可以概括为:①以数据块为单位传送信息。②在一个数据块(信息帧)内,字符与字符间无间隔。③接收时钟与发送进钟严格同步。(2)同步、串行方式的数据格式同步串行通信的数据格式为每个数据块(信息帧)由3个部分组成:①2个同步字符作为一个数据块(信息帧)的起始标志;②n个连续传送的数据③2个字节循环冗余校验码(CRC)同步串行通信方式中一次连续传输一块数据,开始前使用同步信号作为同步的依据。由于连续传输一个数据块,故收发双方时钟必须相当一致,否则时钟漂移会造成接收方数据辨认错误。这种方式下往往是发送方在发送数据的同时也通过一根专门的时钟信号线同时发送时钟信息,接收方使用发送方的时钟来接由数据。同步串行通信方式传输效率高,但对硬件要求高,电路结构复杂。二串行通信技术标准①数据传输率数据传输率是指单位时间内传输的信息量,可用比特率和波特率来表示。⑴比特率:比特率是指每秒传输的二进制位数,用bps(bit/s)表示。⑵波特率,波特率是指每秒传输的符号数,若每个符号所含的信息量为1比特,则波特率等于比特率。在计算机中,一个符号的含义为高低电平,它们分别代表逻辑“1”和逻辑“0”,所以每个符号所含的信息量刚好为1比特,因此在计算机通信中,常将比特率称为波特率,即:1波特(B)=1比特(bit)=1位/秒(1bps)例如:电传打字机最快传输率为每秒10个字符/秒,每个字符包含11个二进制位,则数据传输率为:11位/字符×10个字符/秒=110位/秒=110波特(Baud)计算机中常用的波特率是:110、300、600、1200、2400、4800、9600、19200、28800、33600,目前最高可达56Kbps.⑶位时间Td位时间是指传送一个二进制位所需时间,用Td表示。Td=1/波特率=1/B例如:B=110波特/秒,则Td=1/110≈0.0091ms②发送时钟和接收时钟在串行通信中,二进制数据以数字信号的信号形式出现,不论是发送还是接收,都必须有时钟信号对传送的数据进行定位。在TTL标准表示的二进制数中,传输线上高电平表示二进制1,低电平表示二进制0,且每一位持续时间是固定的,由发送时钟和接收时钟的频率决定。⑴发送时钟发送数据时,先将要发送的数据送入移位寄存器,然后在发送时钟的控制下,将该并行数据逐位移位输出。通常是在发送时钟的下降沿将移位寄存器中的数据串行输出,每个数据位的时间间隔由发送时钟的周期来划分,参见图8.6所示。⑵接收时钟在接收串行数据时,接收时钟的上升沿对接收数据采样,进行数据位检测,并将其移入接收器的移位寄存器中,最后组成并行数据输出,如图8.7所示。⑶波特率因子接收时钟和发送时钟与波特率有如下关系:F=n×B这里F是发送时钟或接收时钟的频率;B是数据传输的波特率;n称为波特率因子。设发送或接收时钟的周期为Tc,频率为F的位传输时间为Td,则:Tc=1/F,Td=1/B得到:Tc=Td/n在实际串行通信中,波特率因子可以设定。在异步传送时,n=1,16,64,实际常采用n=16,即发送或接收时钟的频率要比数据传送的波特率高n倍。在同步通信中波特率因子必等于1三串行通信协议串行通信协议常采用的有两类:异步协议和同步协议。(1)起止式异步协议起止式异步协议一帧数据的格式如图10-3所示。起止式异步协议的特点是一个字符一个字符地传输,而且每传送一个字符都是以起始位开始,以停止位结束,字符之间没有固定的时间间隔要求。每一个字符的前面都有1位起始位(低电平,逻辑值0),字符本身由5~8位数据位组成,数据有效位后面是1位校验位,也可以无校验位,最后是停止位,停止位宽度为1位、1.5位或2位,停止位后面是不定长度的空闲位。停止位和空闲位都规定为高电平(逻辑1),这样就保证起始位开始处一定有一个下跳沿。这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起止式协议。异步通信协议在每个字符的前后加上起始位和停止位这样一些附加位,降低了传输效率,大约只有80%。因此,异步协议一般用在数据传输速率较低的场合(小于19.2Kbit/s)。在高速传送时,一般要采用同步协议。(2)同步协议同步串行方式的特点和数据格式(1)同步串行方式的特点所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点可以概括为:①以数据块为单位传送信息。②在一个数据块(信息帧)内,字符与字符间无间隔。③接收时钟与发送进钟严格同步。(2)同步、串行方式的数据格式同步串行通信的数据格式如图2所示,每个数据块(信息帧)由3个部分组成:①2个同步字符作为一个数据块(信息帧)的起始标志;②n个连续传送的数据③2个字节循环冗余校验码(CRC)同步协议又有面向字符和面向比特两种。本处主要介绍面向字符的同步协议。同步通信中用一个或两个特定的字符(同步字符)来标识一次通信的开始。通信过程中数据连续发送,数据间不留空隙,数据信息后是两个错误校验字符。同步通信中一帧信息的格式如图10-4所示。图10-4同步通信帧格式同步通信中同步的手段除靠数据之前加同步字符外,也可以靠在发送和接收方之间另用一根时钟信号线单独传送同步信号来实现。这种情况称为外同步。外同步帧格式如图10-4(c)所示。相应地,通过同步字符实现同步的方法称为内同步,对应的帧格式分别如图10-4(a),10-4(b)所示。四串行通信的发展前景EIA-232、EIA-422与EIA-485标准等串行通信技术应用很广,如录像机、计算机以及许多工业控制设备上都配备有EIA-232串行通信接口。USB接口应用较为广泛。人们在市场上可以看到,每一款计算机主板都带有不少于2个USB接口,USB打印机、USB调制解调器、USB鼠标、USB音箱、USB存储器等产品越来越多,USB接口已经占据了串行通信技术的垄断地位。目前支持IEEE1394的产品有台式计算机、笔记本电脑、高精度扫描仪、数字视频(DV)摄影机、数码音箱(SA2.5)、数码相机等。五结论现代生产生活中,为了保证对系统可靠性越来越高的要求,采用了大量自动化设备来进行日常生产、管理和设备维修保养,既可以监控系统运转性能和进行故障预测,又可以为维修保养提供原始资料。随着自动化技术的发展和逐渐普及的自动化生产,越来越多的生产设备配备了与计算机进行数据交换的接口,利用计算机的强大处理能力对检测到的数据进行处理。串行通信因为其诞生时间早,使用简单方便,成本低廉,可以适应大规模长距离传输等多种特点,一直得到各个领域的广泛应用,尤其在工业自动化领域,大量的设备采用各种串行通信式进行连接。参考文献:1.林雪真以MCS-51单片机为核心的多站访问模块设计初探[期刊论文]-福建农机2008(4)2.张雷.梁建武.陈英串行通信协议的研究与实现[期刊论文]-现代计算机(专业版)2006(9)3.期刊论文张忠华.ZHANGZhong-hua单片机与PC机串行通信的实现-测控技术2009,28(z1)4.会议论文张忠华单片机与PC机串行通信的实现2009