- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
6.4 串行通信基础
所谓通信协议,又称为通信规程、通信规范,是通信双方约定的一些规则,这些规则包括对数据格式、同步方式、传送速度、传送步骤、检纠错方式以及控制字符定义等问题作出统一规定,通信双方必须共同遵守。
串行通信:用一根信号线将数据逐位顺序传送。
串行通信的优势:通信线路少,在远距离通信时可以极大地降低成本;适合于远距离数据传送,也常用于速度要求不高的近距离数据传送。
1. 同步通信——通信双方使用同一时钟
以数据块(帧)为传输单位
双方使用同一时钟(主控方提供时钟,被控方接收时钟)
外同步:时钟信号另外安排一根传输线
自同步:发送时将时钟信号与数据混合编码,接收时译码出时钟
数据格式:每个数据块前加1~2个同步字符(同步头)进行帧同步,一般采用CRC循环冗余校验码
6.4.1 串行通信的种类
串行通信协议根据同步方式的不同,可以分为两种类型:一种叫同步通信(SYNC),另一种叫异步通信(ASYNC)
同步通信的数据传输效率和传输速率较高,但硬件电路比较复杂
串行同步通信主要应用在网络当中,最常使用的同步通信协议有高级数据链路控制协议(HDLC)
同步协议又有面向字符(Character Oriented)型协议和面向比特(Bit-Oriented)型协议以及面向字节(Byte-Oriented)型协议三种。
2. 异步通信——通信双方使用各自的时钟
串行通信时的数据、控制和状态信息都使用同一根信号线传送
收发双方必须遵守共同的通信协议(通信规程):
传送速率
信息格式
位同步
帧同步
数据校验
错误处理
串行异步通信以字符为单位进行传输
数据格式:起止式异步通信协议
各位的意义如下:
空闲位:当没有数据在传输线上传送时,传输线将处于逻辑“1”的状态,称空闲位。
起始位:当传输线处于空闲位时,若发出一个逻辑”0”的信号,则表示开始传输字符,该逻辑“0”信号称起始位。
数据位:起始位之后紧接着就是数据位,其个数可为5、6、7、8等。
奇偶校验位:位于在数据位之后,对数据传送的正确性进行校验。
停止位:位于奇偶校验位之后,表示一个字符数据传送结束。停止位可以是1位、1.5位、2位的高电平。
要传送一个字符”K,若数据格式约定为:字符K用7位ASCII码表示,1位偶校验位,1位起始位,,则异步方式传送字符K时,在串行传输线上的波形如下图所示,将其写成ASCII码,即把它的最低有效位写在右边时为1001011=4B。
0 1 1 0 1 0 0 1 0 1
起始位
偶校验
停止位
字符K的传输波形
6.4.2 数据传输速率
波特率是在串行通信中是衡量数据传送速率的指标,表示每秒钟传送的二进制位数。
例如:数据传送速率为120字符/秒,而每一个字符为10位,则其传送的波特率为10×120=1200位/秒=1200波特。
最常用的标准波特率是110、300、1000、1200、2400、4800、9600和19200波特等。
异步通信协议一般用在数据速率较慢的场合(一般来说,小于19.2KBit/Second)。在高速传送时,一般要采用同步通信协议。
1、 波特率
设一个串行字符由1位起始位、7位数据位,1位奇偶校验位和1位停止位构成,每秒钟传送120个字符,则数据传送的波特率为:
10位/字符×120字符/S=120位/S=1200波特
传送每位信息所占用的时间为:
1S/1200=0.833ms
在异步串行中,发送端需要用一定频率的时钟来决定发送每一个数据所占的时间长度(称为位宽度),接收端也要用一定的频率的时钟来测定每一位输入数据的位宽度。
在异步通信中,总是根据数据传输的波特率来确定收/发时钟的频率。通常,收/发时钟的频率总是取位传输率(即波特率)的16倍、32倍或64倍,这有利于在位信号的中间对每位数据进行采样减少读数错误。
收/发时钟频率与波特率间的关系
收/发时钟频率=n*波特率
收/发波特率=收/发时钟/n (其中 n=1,16,64)
式中n叫波特率系数或波特率因子,它的取值可为1,16,32或64。
2、 发送/接收时钟
对可编程串行接口芯片8251A来说,n不能取32,只能取1,16或64。
在实际应用中,可根据所需要的传输波特率和选取的波特率因子n来确定收/发时钟的频率。
例:若要求传输速率为2400波特,则:
当取n=1时,收/发时钟频率为2.4KHz
当取n=16时,收/发时钟频率为38.4KHz
当取n
文档评论(0)