标题中的三种通信方式(协议)是比较常见的一些通信协议,对于它们有一定的了解对于我们学习嵌入式单片机的学习有着非常重要的作用。于是我们对此有一些信息给到各位读者,这也是笔者自己巩固知识点的方式。如果觉得有帮到各位,还希望不吝点赞转发;如果笔者有所纰漏,还望指正。
1.SPI(Serial Peripheral Interface 串行外设接口)
SPI 串行外设接口是最初由摩托罗拉公司制定的一种同步串行传输规范,也是一种芯片之间、外设芯片的串行扩展接口,一种高速、全双工、同步通信总线,可以同时发送接受信息。
在一次SPI通信中,可以有多个芯片,但是主芯片(master chip)只能有一个,从芯片(slave chip)可以有多个。SPI接口的读写操作,都是由主芯片发起,当存在多个从设备时,通过各自的片选信号进行管理。
完成一次SPI通信至少需要4根线(单向通信3根), 接下来介绍这4根线:
1. SCLK(Serial Clock):时钟信号,由主设备产生;
2. CS/SS(Chip Select/Slave Select):从设备使能信号,由主设备控制,一主多从时,CS/SS是从芯片是否被主芯片选中的控制信号,只有片选信号为预先规定的使能信号时(高电位或低电位),主芯片对此从芯片的操作才有效(一般使能信号是低电位);
3. MISO( Master Input Slave Output):主设备数据输入,从设备数据输出;
4. MOSI(Master Output Slave Input):主设备数据输出,从设备数据输入;
SPI有一主一从、一主多从的模式,不过两者的通信原理差不多,我们就以一主一从(向93C46芯片的0x01地址写入00001111)为例进行介绍: