第3章 串行口通信编程基础.doc_第1页
第3章 串行口通信编程基础.doc_第2页
第3章 串行口通信编程基础.doc_第3页
第3章 串行口通信编程基础.doc_第4页
第3章 串行口通信编程基础.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章串行口通信编程基础15第3章串行口通信编程基础3.1基本概念3.1.1串行口通信-同步传输和异步传榆(1)同步传输方式采用同步传输时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5-8bits。当然,对同一个传输过程,所有字符对应同样的比特数,比如说n比特。这样,传输时,按每n比特划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端酌发送和空字符。接收瑞当然是应该能识别同步字符的,当检测到有一串比特和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的比特作为实际传输信息来处理。(2)异步传输方式异步传输方式指比特被划分成小组独立传送。发送方可以在任何时刻发送这些比特组,而接收方不知道它们会在什么时候到达。异步传输存在一个潜在的问题,即接收方并不知道数据会在什么时候到达。在它检测到数据并作出响应之前,第一个比特已经过去了。因此这个问题需要通过通信协议加以解决。如每次异步传输都以一个开始比特开头它通知接收方数据已经到达了。这就给了接收方响应、接收和缓存数据比特的时间。在传输结束时,一个停止比特表示一次传输的终止。异步传输被设计用于低速设备,比如键盘和某些打印机等。另外,它的开销也比较多。如使用终端与一台计算机进行通信。按下一个字母键、数字键或特殊字符键就发送一个8blt的ASC代码。在这种情况下,为解决接收问题每8bits就多传送2bits。这样,总的传输负载就增加25。对于数据传输量很小的低速设备来说,这影响不大。但对于那些数据传翰量很大的高速设备来说,25的负载增值就相当严重了。燕山大学工学学士学位论文163.1.2单工、双工和全双工通信在串行通信中,数据通常是在两个站如(终端和微机)之间进行传送,按照数据流的方向可分成3种基本的传送方式:单工,双工和全双工,3种传输方式的示意如图23所示。(1)单工单工通信使用一根导线,信号的发送方和接收方有明确的方向性。也就是说一个方向上进行。这样的例子很多,包搞机场监视器、打印机、电视机。(2)半双工若使用同一根传输线既作接收又作发送,虽然数据可以在两个方向上传送,但通信双方不能同时收发数据,这样的传送方式就是半双工制。采用半双工方式时,通信系统每一端的发送器和接收器,通过收发开关转接到通信线上,进行方向的切换,因此,会产生时间延迟。收发开关实际上是由软件控制的电子开关。当计算机主机用串行接口连接显示终端时,在半双工方式中,输入过程和输出过程使用同一通路。有些极算机和显示终端之间采用半双工方式工作,这时从键盘上输入的字符在发送到主机的同时就被送到终端上显示出来,而不是用回送的办法,这样就避免了接收过程和发送过程同时进行的悄况。目前多数终端和串行接口都为半双工方式提供了换向能力,也为全以下方式提供了两条独立的引脚.实际使用时一般并不需要通信双方同时既发送又接收,像打印机这类的单问传送设备,半双上甚至单工就能胜任,也无需倒向。(3)全双工当数据的发送和接收分流,分别由两根不同的传输线传送时,通信双方能在同一时刻进行发送和接收操作。这样的传送方式就是全双工制。在全双工方式下,通信系统的每端都设置了发送器和接收器,因此,能控制数据同时在两个方向上传送。全双工方式无需进行方向的切换,因此,没有切换操作所产生的时间延迟,这对那些不能有时间延误的交互式应用(例如远程监测和控制系统)十分有利。这种方式要求通信双方均有发送器和接收器,同时,需要两根数据线传送数据信号(可能还需要控制线和状态线,以及地线)。比如,计算机主机(设备一)用串行接口连接显示终端,而显示终端带有键盘(两者成为一体,为另一设备)。这样,一方面键盘上输入的字符送到主机内存;另一方面,主机内存的信息可以送到屏幕显示。通常,往键盘第3章串行口通信编程基础17上输入一个字符以后,先不显示,计算机主机收到字符后,立即回送到终端,然后终端再把这个字符显示出来。这样,前一个字符的回送过程和后一个字符的输入过程是同时进行的,即工作于全双工方式。3.1.3数据编码计算机是一种数字设备它通过接通和断开固化在芯片上的微小电子开关来工作。所有的开关都只有两种状态:开或关。用符号o或1表示比特,它是计算机能够存储的最小的信息单元。每个比特只能存储0或1这两个截然不同的微小信息单元,当它们单独存在时并没有多大作用。但如果把它们放到一起,就会产生很多0和1的不同组合。比如说,两个比特就可以有4种不同的组合(OO、01、10和11)。n个比特就有2n个组合。因此,可以将种组合与某个确定的内容,比如一个字符或是一个数字联系起来,这种联系一般称为编码。下面我们讨论几种常用的编码方案。广为流行的编码是美国标准信息交换码ASCII码。这是一种7bits编码,它为每一个键盘字符和一些特殊功能分配一个唯一的组合。大多数Pc,和很多其他的计算机都使用这种编码。每一个代码对应一个可打印或不可打印字符。可打印字符包括字母、数字,以及逗号、括号和问号等特殊的标点符号。不可打印并不是指那些禁止在报纸、电视或私人牌照亡出现的文字。它指的是某些代码,被用来表示一个特殊的功能,比如换行字符、制表符、回车等。第二种最常用的编码是扩展的二进制表示的十进制编码BCD码,它主要用于IBM大型机和外围设备。它是一种7bits代码,因此包含256个不同字符。和ASCII码一样,它也有可打印字符和不可打印字符。比如,字母M的BCD码为11010100。和前面一样,可以把它看成1101-0100,并写出代码的十六进制格式D4。3.1.4数据安全和完整串行数据在传输过程中,由于干扰可能引起信息出错。这种情况下,出现了误码。把如何发现传输中的错误叫“检错”。发现错误后,如何消除错误叫“纠错”。(1)奇偶校验大多数措误检测技术都发送其值与数据相关的附加比特。这样,当数据彬改变时,附加比特将之值不再与新数据相符(至少理论燕山大学工学学士学位论文18上如此)。也许最常用的方法是奇偶校验(ParityChecking)、奇偶校验计算数据中为1的比特的个数,再增加一个阶加比特,使得1的个数为偶数(偶校验)或奇数。该附加比特就叫做奇偶比特(ParityBit)。奇校验所有传送的比特(含字符的各比特和校验比特)中,“1”的个数为奇。则按照这种规则。上例可表示为:00100,0101偶校验所有传送的比特(含字符的各比特和校验比特)中,“1”的个数力偶数。上例同样可以表示为:10100,0101奇偶校验能够检测出信息传输过程中的部分误码(lbit误码能检出1,2bits及2bits以上误码不能检出),不能纠错。在发现错误后,只能要求重发。但由于其实现简单,仍得到了广泛使用。(2)循环冗余校验奇偶校验本身是不太可靠的然而,如果把帧组合成两维比特阵列、每次发送一列。那么,奇偶校验就很可靠了。该方法的一个问题是,只有在所有列J都发送先毕后,错误才能检测出来。因此,接收方不知道那个列是不正确的。这样就无从选择,只有重发所打列对于单个铅误这是个很大的额外工作。若列重发时又发生f错误,问题就复杂了。循外冗余校验(CRC,cyclicRedundancycheck)是一种将每个比特串看作一个多项式,通过多项式除法来检测错误的方法。通常,这种方法将比特串bnb1nb2nb3nb2b1b0解释成多项式bnxnb1nx1nb2nx2nb2x2b1x1b0x0CRC的基本步骤为:(1)事先约定的生成多项式G(x)。(2)给定一个比特串,在其尾部追加几个0(0的个数等于G(X)的次数)形成

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论