========================================================================================
在串行通信中,常用波特率来表示数据传送的速率。在计算机中每秒钟内所传送数据的位数称为波特率,单位为波特Bd。
波特率因子好像就是接收时钟的频率是波特率的倍数,1、16、64~~~
1、
波特率
在串行通信中,用 “ 波特率” 来描述数据的传输速率。所谓波特率,即每秒钟传送的二进制位数,其单位为 bps ( bits per second )。
它是衡量串行数据速度快慢的重要指标。
有时也用 “ 位周期” 来表示传输速率,位周期是波特率的倒数。国际上规定了一个标准波特率系列: 110 、 300 、 600 、 1200 、 1800 、 2400 、 4800 、 9600 、 14.4Kbps 、 19.2Kbps 、 28.8Kbps 、 33.6Kbps 、 56Kbps 。 例如: 9600bps ,指每秒传送 9600 位,包含字符的数位和其它必须的数位,如奇偶校验位等。大多数串行接口电路的接收波特率和发送波特率可以分别设置,但接收方的接收波特率必须与发送方的发送波特率相同。通信线上所传输的字符数据(代码)是逐为位传送的, 1 个字符由若干位组成,因此每秒钟所传输的字符数(字符速率)和波特率是两种概念。在串行通信中,所说的传输速率是指波特率,而不是指字符速率,它们两者的关系是:假如在异步串行通信中,传送一个字符,包括 12 位(其中有一个起始位, 8 个数据位, 2 个停止位),其传输速率是 1200b/s ,每秒所能传送的字符数是 1200/(1+8+1+2)=100 个。
2、 发送/接收时钟
在串行传输过程中,二进制数据序列是以数字信号波形的形式出现的,如何对这些数字波形定时发送出去或接收进来,以及如何对发/收双方之间的数据传输进行同步控制的问题就引出了发送/接收时钟的应用。
在发送数据时,发送器在发送时钟(下降沿)作用下将发送移位寄存器的数据按串行移位输出;在接收数据时,接收器在接收时钟(上升盐)作用下对来自通信线上串行数据,按位串行移入移位寄存器。可见,发送/接收时钟是对数字波形的每一位进行移位操作,因此,从这个意义上来讲,发送/接收时钟又可叫做移位始终脉冲。另外,从数据传输过程中,收方进行同步检测的角度来看,接收时钟成为收方保证正确接收数据的重要工具。为此,接收器采用比波特率更高频率的时钟来提高定位采样的分辨能力和抗干扰能力。
3、
波特率因子
在波特率指定后,输入移位寄存器 / 输出移位寄存器在接收时钟 / 发送时钟控制下,按指定的波特率速度进行移位。
一般几个时钟脉冲移位一次。要求:接收时钟 / 发送时钟是波特率的 16 、 32 或 64 倍。
波特率因子就是发送/接收 1 个数据( 1 个数据位)所需要的时钟脉冲个数
,其单位是个/位。如波特率因子为 16 ,则 16 个时钟脉冲移位 1 次。
例:波特率 =9600bps ,波特率因子 =32 ,则 接收时钟和发送时钟频率 =9600 × 32=297200Hz
。
4、 传输距离
串行通信中,数据位信号流在信号线上传输时,要引起畸变,畸变的大小与以下因素有关:
波特率 -- 信号线的特征(频带范围)
传输距离 -- 信号的性质及大小(电平高低、电流大小)
当畸变较大时,接收方出现误码。
在规定的误码率下,当波特率、信号线、信号的性质及大小一定时,串行通信的传输距离就一定。为了加大传输距离,必须加MODEM。
|
串行通信可以分为两种类型:同步通信、异步通信。
|
1.异步通信的特点及信息帧格式:
|
以起止式异步协议为例,下图显示的是起止式一帧数据的格式:
|
<!--[if !vml]-->
<!--[endif]-->
|
图1
|
起止式异步通信的特点是:一个字符一个字符地传输,每个字符一位一位地传输,并且传输一个字符时,总是以“起始位”开始,以“停止位”结束, 字符之间没有固定的时间间隔要求。每一个字符的前面都有一位起始位(低电平,逻辑值),字符本身由5-7位数据位组成,接着字符后面是一位校验位(也可以没有校验位),最后是一位或一位半或二位停止位,停止位后面是不定长的空闲位。停止位和空闲位都规定为高电平(逻辑值1),这样就保证起始位开始处一定有一个下跳沿。
|
从图中可看出,这种格式是靠起始位和停止位来实现字符的界定或同步的,故称为起止式协议。
|
异步通信可以采用正逻辑或负逻辑,正负逻辑的表示如下表所示:
|
|
|
逻辑0
|
逻辑1
|
正逻辑
|
低电平
|
高电平
|
负逻辑
|
高电平
|
低电平
|
异步通信的信息格式如下边的表所示
|
起始位
|
逻辑0
|
1位
|
数据位
|
逻辑0或1
|
5位、6位、7位、8位
|
校验位
|
逻辑0或1
|
1位或无
|
停止位
|
逻辑1
|
1位,1.5位或2位
|
空闲位
|
逻辑1
|
任意数量
|
注:表中位数的本质含义是信号出现的时间,故可有分数位,如1.5。
|
例:传送8位数据45H(0100,0101B),奇校验,1个停止位,则信号线上的波形象图2所示那样:异步通信的速率:若9600bps,每字符8位,1起始,1停止,无奇偶,则实际每字符传送10位,则960字符/秒。
|
<!--[if !vml]-->
<!--[endif]-->
|
图2
|
2.异步通信的接收过程
|
接收端以“接收时钟”和“波特率因子”决定一位的时间长度。下面以波特率因子等于16(接收时钟每16个时钟周期,使接收移位寄存器移位一次)、正逻辑为例说明,如图3所示。
|
<!--[if !vml]-->
<!--[endif]-->
|
图3
|
(1)开始通信时,信号线为空闲(逻辑1),当检测到由1到0的跳变时,开始对“接收时钟”计数。
|
(2)当计到8个时钟时,对输入信号进行检测,若仍为低电平,则确认这是“起始位”B,而不是干扰信号。
|
(3)接收端检测到起始位后,隔16个接收时钟,对输入信号检测一次,把对应的值作为D0位数据。若为逻辑1, 作为数据位1;若为逻辑0,作为数据位0。
|
(4)再隔16个接收时钟,对输入信号检测一次,把对应的值作为D1位数据。….,直到全部数据位都输入。
|
(5)检测校验位P(如果有的话)。
|
(6)接收到规定的数据位个数和校验位后,通信接口电路希望收到停止位S(逻辑1),若此时未收到逻辑1,说明出现了错误,在状态寄存器中置“帧错误”标志。若没有错误,对全部数据位进行奇偶校验,无校验错时,把数据位从移位寄存器中送数据输入寄存器。若校验错,在状态寄存器中置奇偶错标志。
|
(7)本幀信息全部接收完,把线路上出现的高电平作为空闲位。
|
(8)当信号再次变为低时,开始进入下一幀的检测。
|
3、异步通信的发送过程
|
发送端以“发送时钟”和“波特率因子”决定一位的时间长度。
|
(1)当初始化后,或者没有信息需要发送时,发送端输出逻辑1,即空闲位,空闲位可以有任意数量。
|
(2)当需要发送时,发送端首先输出逻辑0,作为起始位。
|
(3)接着,发送端首先发送D0位,直到各数据位发送完。
|
(4)如果需要的话,发送端输出校验位。
|
(5)最后,发送端输出停止位(逻辑1)。
|
(6)如果没有信息需要发送时,发送端输出逻辑1,即空闲位,空闲位可以有任意数量。如果还有信息需要发送,转入第(2)步。
|
对于以上发送、接收过程应注意以下几点:
|
(1)接收端总是在每个字符的头部(即起始位)进行一次重新定位,因此发送端可以在字符之间插入不等长的空闲位,不影响接收端的接收。
|
(2)发送端的发送时钟和接收端的接收时钟,其频率允许有一定差异,当频率差异在一定范围内,不会引起接收端检测错位,能够正确接收。并且这种频率差异不会因多个字符的连续接收而造成误差累计(因为每个字符的开始(起始位处)接收方均重新定位)。只有当发送时钟和接收时钟频率差异太大,引起接收端采样错位,才造成接收错误。
|
(3)起始位、校验位、停止位、空闲位的信号,由“发送移位寄存器”自动插入。在接收方,“接收移位寄存器”接收到一帧完整信息(起始、数据、校验、停止)后,仅把数据的各位送至“数据输入寄存器”,即CPU从“数据输入寄存器”中读得的信息,只是有效数字,不包含起始位、校验位、停止位信息。
|
就是每秒中传输9600bit,也就是相当于每一秒中划分成了9600等份。
如此,那么每1bit的时间就是1/9600秒=104.16666666666666666666666666667us。约0.1ms。既然是9600等份,即每1bit紧接着下一个比特,不存在额外的间隔。也不管是啥起始bit,数据bit,奇偶bit,停止b
在现代计算机和嵌入式系统中,晶振
频率
通常很高,标准晶振
频率
通常为11.0592 MHz(或者12 MHz),这个
频率
是由外部晶振提供的,但UART芯片需要的时钟信号
频率
通常较低。这个
波特率
的选择主要是基于现代计算机和微控制器的性能和传输速度需求,而且与传统的9600
波特率
相比,它可以实现更快的数据传输。在UART通讯中,发送方和接收方都需要按照相同的
波特率
(baud rate)进行工作,同时UART芯片也需要一个稳定的时钟,才能够保证数据的正确传输。
波特率
(baud rate)指的是每秒钟传输的比特数。
smartcard和串口复用, guardtime就是停止位。
smartcard标准是3.57M,如果时钟
因子
(
波特率
因子
)为372, 则对应
波特率
为9600,
时钟
因子
= CLK /
波特率
etu =时钟
因子
/ CLK = 1/
波特率
, 即传输一个符号位(一个bit)的时间。
=====================================
频率
是反映在单位周期内的重复变化情况;
频率
可以参照占空比来理解,是震荡的间隔。而震荡有效期内做的事,才该是数据有关。
二
波特率
是指单位时间内传送的位;单位时间肯定是秒了 。但是具体每个有效震荡期内一般都是一个bit
震荡周期,或者说时钟周期在固化后,肯定是不变的,
2.带宽和总线
频率
有
关系
?
2.1 数据带宽=...
微型计算机简答题第1章 微型计算机概述1、微处理器、微型计算机和微型计算机系统三者之间有什么不同?第2章 16位和32位微处理器2、结合总线操作时序分析in al,dx指令如何完成读操作。3、结合总线操作时序分析out dx,al指令如何完成写操作。4、结合8086最小模式下总线操作时序图,说明ALE、M/IO#、DT/R#、RD#、READY信号的功能。5、EU与BIU各自的功能是什么?如何协同工作?第5章 微型计算机和外设的数据传输6、CPU和外设之间有哪几种传输方式,他们之间有什么区别。7、什么叫端口
通信方式的分类:通信的基本方式可以分为并行通信和串行通信两种。并行通信:串行通信:串行通信按传送方向分类:单工方式、半双工方式、全双工方式。信号方式分类:单端信号、差分信号。通信速率的指标:数据传输率和
波特率
。TTL型电平概述:计算机中二进制数据的常用表示方法。高于2.4V表示逻辑1,低于0.5V表示逻辑0。TTL型电平存在的问题:在远距离传输时由于受到线路特性的影响,信号会发生衰减和畸变,使得接收端的信号难以分辨。调制的概念:用一个信号控制另一个信号的某个参数使之随之变化的过程。这两个信号分别称为调制信号
波特率
bandrate,指的是串口通信的速率,即串口通信时每秒钟可以传输多少个二进制位。比如每秒钟可以传输9600个二进制(传输一个二进制位需要的时间是1/9600秒),
波特率
就是9600。串口的通信
波特率
不能随意设定,这是由于:第一,通信双方必须事先设定相同的
波特率
这样才能成功通信,如果发送方个接受方按照不同的
波特率
通信则根本收不到,因此
波特率
最好是大家熟知的而不是随意指定。第二:常用的
波特率
经过了长久的发展,就形成了共识,常用的就是9600或者115200。...