原创
【博客大赛】草根通信方案——串口(2)同步通信
继续扯淡。
在异步通信中,每一个字符要用到起始位和停止位作为字符开始和结束的标志,以至于占用了时间。所以在数据块传送时,为了提高通信速度,常去掉这些标志,而采用同步传送。同步通信不像异步通信那样,靠起始位在每个字符数据开始时使发送和接收同步,而是通过同步字符在每个数据块传送开始时使收发双方同步。
同步通信的特点是:
·以同步字符作为传送的开始,从而使收发同步;
·每位占用时间相同;
·字符数据间不允许有间隙,当线路空闲或没有字符可发送时,发送同步字符。
同步通信的缺点是要求发送时钟和接收时钟要保证严格同步。
常见的方式有SPI和IIC。
SPI一般是四线制,全双工,当然有的是三线制,因为有些情况下只需要发送或者接收,SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间,要注意的是,SCLK信号线只由主设备控制,从设备不能控制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,与普通的串行通讯不同,普通的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCLK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCLK时钟线的控制可以完成对通讯的控制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。不同的SPI设备的实现方式不尽相同,主要是数据改变和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,具体请参考相关器件的文档。在点对点的通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简单高效。在多个从设备的系统中,每个从设备需要独立的使能信号,硬件上比IIC系统要稍微复杂一些。
IIC串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。所有接到IIC总线设备上的串行数据SDA都接到总线的SDA上,各设备的时钟线SCL接到总线的SCL上。IIC总线常会在驱动EEPROM的情况中使用,当然也有用在模块之间通信的。
文章评论(0条评论)
登录后参与讨论