串行同步通信 为什么需要传输时钟信号?
现实中不存在绝对精确的时钟,标称值同样是1MHz,发端和接收端的时钟总会存在差异,如果接收端不进行时钟同步,而是使用自己本地的时钟,则足够长的时间后接收到的数据总会出现不可预知的重复或丢失,导致接收错误。
因此发端必须将与数据速率相关的时钟信号传输给接收端,时钟信号可以走单独的信号线,也可以用一定的方式隐含在数据信号中。接收端对此时钟信号进行同步,从而能够“不多也不少”地从接收的数据波形中恢复数据。
另外传输过程中,数据信号多少会发生一定的畸变,时钟同步的另外一个作用是保证接收端在波形畸变最少的时刻恢复数据,减少出错概率。
串口同步通信和异步通信
异步通信每次只传输1个字符
同步通信每次传输任意多个字符或比特