SPI(串行外设接口)模块的学习:
1.必备专有名词解释:
(1)同步:通信双方的设备必须拥有相同的时钟脉冲,以相同的步调进行数据传输;
(2)串行(相对于并行):数据是以位为单位发送数据;占用的资源少;发送速度慢;
(3)全双工:同时发送和传输数据;
2.四根工作线的介绍:
备注:SPISTE有时也会叫CS、NSS或者SS。
3.四根工作线的进一步介绍:
主机可以与多从机实现信号传输,其中CSi起到使能SPI从机的作用。例如,这里假设低电平使能,则当CS1为地电平,CS2和CS3为高电平,则从机1工作,其余两个从机处于待机模式。在这里的系统时钟线是由主机发出的,即所有从机通信需要主机产生的时钟信号来进行同步通信。
4.SPI的优点和缺点(和I2C作比较):
(1)优点:I2C一次至少需要传输八位数据,而SPI是一位一位的传输,而且还可以暂停 ;主设备可以通过对时钟线的输出来对数据传输进行控制;当从机设备只有一个的话,SPI不需要执行寻址操作,并且执行全双工的通信,起到简单高效的作用;
(2)缺点:没有指定的流控制,既没有应答机制来确定是否收到数据
5.数据传输原理:
备注:CPOL(CLOCK PLARITY)时钟极性选择;CPHA(CLOCK PHASE)时钟相位选择;利用SPITXBUF→SPIDAT→SPIRXBUF的逻辑理解和记忆
(1)CPOL=0时,SPICLK没有数据发送时,SPICLK处于低电平:
CPHA=0时,SPI在SPICLK信号的上升沿发送数据,下降沿接收数据;
CPHA=1时,延时半个周期。
(2)CPOL=1时,SPICLK没有数据发送时,SPICLK处于高电平:
CPHA=0时,SPI在SPICLK信号的下升沿发送数据,上降沿接收数据;
CPHA=1时,延时半个周期。
6.工程设置中未理解的地方:
(1)SPI不是同步通信吗?为什么在初始化SPI对应GPIO口时,选择的是异步输入?
此处的异步是指GPIO收信号与DSP时钟的关系, 与SPI无关。同步是指对SPI的时钟而言, 也就是一个SPI时钟传一个Bit。 异步是对DSP系统时钟而言, 当设置值为3也就是说连续采样3次都是1,才会把GPIO对应位置成1,因此可以消除燥声。
未完待续…
DSP28035上手小白,如有错误,欢迎批评指正
如有同道中人,可以加Q867740092,一起学习,一起进步!