串行同步通信,发送和接收的双方使用的是一个时钟,有这样一个共同的时钟来进行管理,就可以以时钟或时钟的整倍数为基准,对数据位进行采样,再根据同步字符来保证传输的同步。串行异步通信的发送方和接收方是没有这样一个统一的时钟来管理的,二者的时钟频率可以在不超过一定的允许范围内近似相等,那么,如果仍然以时钟或时钟的整倍数为基准,对数据位进行采样,由于发送接收双方时钟误差的积累,当发送方过了n个时钟,接收方可能经过的时钟并不是n个。这样就会引起数据位检测的错误。那么应该采取什么样的方式来避免呢?串行异步通信数据位检测的机理是这样的:假设时钟周期
为Tc,发送和接收端是利用时钟来确定每1信息位的时间长度的。又假设数据位之间的间隔为Td,数据位的传输率为1/Td。时钟频率是位传输率的K倍,Tc
= Td / K。这就意味着接收端时钟将对每一个信息位采样K次,K叫做波特率因子,一般定为16,32和64。这样就避免了上述问题。而位的传输率称为波特率。 时钟频率 = 波特率因子×波特率。 |