会员注册 | 登录 | 微信快捷登录 支付宝快捷登录 QQ登录 微博登录 | 帮助中心 人人文库renrendoc.com美如初恋!
站内搜索 百度文库

热门搜索: 直缝焊接机 矿井提升机 循环球式转向器图纸 机器人手爪发展史 管道机器人dwg 动平衡试验台设计

   首页 人人文库网 > 资源分类 > DOC文档下载

第3章 串行口通信编程基础.doc

  • 资源星级:
  • 资源大小:87.50KB   全文页数:9页
  • 资源格式: DOC        下载权限:注册会员/VIP会员
您还没有登陆,请先登录。登陆后即可下载此文档。
  合作网站登录: 微信快捷登录 支付宝快捷登录   QQ登录   微博登录
友情提示
2:本站资源不支持迅雷下载,请使用浏览器直接下载(不支持QQ浏览器)
3:本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰   

第3章 串行口通信编程基础.doc

第3章串行口通信编程基础15第3章串行口通信编程基础3.1基本概念3.1.1串行口通信同步传输和异步传榆(1)同步传输方式采用同步传输时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息通常称为帧的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应58bits。当然,对同一个传输过程,所有字符对应同样的比特数,比如说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。和前面一样,可以把它看成11010100,并写出代码的十六进制格式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是一种将每个比特串看作一个多项式,通过多项式除法来检测错误的方法。通常,这种方法将比特串bnb1nb2nb3nb2b1b0解释成多项式bnxnb1nx1nb2nx2nb2x2b1x1b0x0CRC的基本步骤为(1)事先约定的生成多项式Gx。(2)给定一个比特串,在其尾部追加几个00的个数等于G(X)的次数形成新串B。让多项式B(X)对应于B。(3)将B(X)除以G(X),求出余式R(X)。(4)定义T(X)B(X)R(X)。(5)传输与T(X)对应的比特串T。(6)让T代表接收方收到的比特流,T(X)为相应的多项式。接收方将T(X)除以G(X)。若余数为0,别接收方认为T=T,传榆未发生错误。否则,接收方认为传输发生了错误并要求重传。

注意事项

本文(第3章 串行口通信编程基础.doc)为本站会员(网游小王子)主动上传,人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知人人文库网([email protected]),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。

copyright@ 2015-2017 人人文库网网站版权所有
苏ICP备12009002号-5