SPI通讯(Serial Peripheral interface)
1. SPI,是一种高速的,全双工, 同步的通信总线,并且在芯片的管脚上只占用四根线: SCLK,MISO,MOSI,CS 2. SPI结构简图: 可以看出,SPI主从设备两端都有一个位移寄存器, 数据在位移寄存器上通过逐位移动来实现同步双工通信,在主机发送数据的同时也会收到从机发来的数据。类似一个循环。 (图片不好编辑,将就着看), 需要注意的是传输过程是通过主机写入一个需要发送的数据来开始的。 如果只进行写操作,主机只需忽略接收到的字节;反之,若主机要读取从机的一个字节,就必须发送一个空字节来引发从机的传输。发送结束可以设置中断。 3. 时钟极性(POL)和相位(PHA), 通过配置极性及相位为0或1,可配置成为4种不同的传输时序:极性为0,时钟空闲为低电平,反之为高;相位为0,据在第一个时钟跳变沿被采集,为1的话在第二个跳变沿被采集。如图: 4. SPI 时钟最多可以到 18Mhz,支持 DMA,可以配置为 SPI 协议或者 I2S (一种音频传输总线,集成电路内置音频总线)。 5. NSS引脚: 主从模式选择,简单了解,用到时再具体了解。 7. 数据帧格式: 可软件设置MSB或LSB哪个在先(SPI_CR1寄存器中LSBFIRST位)