为什么同步通信就需要两端时钟完全同步?

来源:互联网 发布:钢琴入门自学教程知乎 编辑:程序博客网 时间:2024/04/30 12:47

用一个个的脉冲,来说明一个个数据的存在,这就是串行同步通信。按照一定的时间间隔,传输一个个数据,这就是串行异步通信。 

 

所以,同步通信时每个时钟都需要传输一位数据,而异步通信不是,是隔一段时间传输一个,不是每个脉冲。

 

 

异步通信两端的时钟频率可以不同,比如发送端一个始终发送一bit,但是接收端时钟频率是发送断的16倍,那就可以接收16个周期接受1bit。

 

 

=======

在串行数据的接收端,即FPGA端,我们设置的采样时钟周期比传输字符的位周期短,常用的采样时钟频率为位频率的16倍,采取这种措施是为了提高抗干扰能力,保传输数据的正确性。本课题中,每个字符包括1位开始位,8位数据位及1位停止位,采样的时间基准确保采样时刻在每一位的中间。为了实现采样数据的基准,课题中按照以下步骤进行设计:

(1)、设置了采样时钟频率计数器,当检测到起始位下降沿时,将其清零,并开始对采样时钟计数。

(2)、当计数器计到8时,表示已到达起始位的中间位置,此时采样值为0,说明是真正的起始位,同时将计数器清零;若采样值不为0,则说明一开始检测到的下降沿不是真正的起始位前沿,而是一次干扰,此次监测作废,计数器清零,并重新开始检测起始位。

(3)、检测到真正的起始位后,计数器清零,以后每次计到16时,便采样收到的信号波形(即每一位的中间),将采到的数据暂存起来,同时将计数器清零,重新计数,直至最后的停止位被采样。