首页 理论教育 单片微机接口技术:SPI通信信号

单片微机接口技术:SPI通信信号

时间:2023-11-02 理论教育 版权反馈
【摘要】:STC15W4K32S4单片机的SPI接口采用四线制,即由4个信号线组成,可以在3组不同引脚之间切换。系统复位默认配置在SS/P1.2、MOSI/P1.3、MISO/P1.4和SCLK/P1.5引脚。通过寄存器P_SW1的SPI_S1、SPI_S0两位可以将SPI通信接口设置在另外2组引脚上。根据SPI规范,多个从机共享一根MOSI信号线。如果SPI系统被禁止,即SPCTL寄存器中的SPEN位为0时,SPI引脚均作为I/O口使用。在主模式下,SPI接口只能有一个主机,不存在主机选择问题,该模式下的SS信号不是必需的。SPI从器件通过SS引脚确定是否被选择。

单片微机接口技术:SPI通信信号

STC15W4K32S4单片机的SPI接口采用四线制,即由4个信号线组成,可以在3组不同引脚之间切换。系统复位默认配置在SS/P1.2、MOSI/P1.3、MISO/P1.4和SCLK/P1.5引脚。通过寄存器P_SW1的SPI_S1、SPI_S0两位可以将SPI通信接口设置在另外2组引脚上。各个信号线功能如下:

MOSI(Master Out Slave In,主出从入信号线):主器件的输出和从器件的输入,用于主器件到从器件的数据传输。根据SPI规范,多个从机共享一根MOSI信号线。在时钟边界的前半周期,主机将数据放在MOSI信号线上,从机在该边界处获取该数据。

MISO(Master In Slave Out,主入从出信号线):从器件的输出和主器件的输入,用于实现从器件到主器件的数据传输。一个主机可连接多个从机,因此,主机的MISO信号线会连接到多个从机上,或者说,多个从机共享一根MISO信号线。当主机与一个从机通信时,其他从机应将其MISO线驱动成高阻状态。

SCLK(SPI Clock,串行时钟信号线):串行时钟信号是主器件的输出和从器件的输入,用于同步主器件和从器件之间在MOSI和MISO线上的串行数据传输。当主器件启动一次数据传输时,自动产生输出8个SCLK时钟信号,每位数据在SCLK跳变沿(上升沿或下降沿)时传输移出一位数据。因此,一次数据传输可以传输一个字节的数据。

SCLK、MOSI、MISO三个信号通常与两个或更多个SPI器件连接在一起,数据通过MO-SI由主机传送到从机,通过MISO由从机传送到主机。SCLK信号在主模式时为输出,在从模式时为输入。如果SPI系统被禁止,即SPCTL寄存器中的SPEN位为0时,SPI引脚均作为I/O口使用。

SS(Slave Select,从机选择信号线):这是一个输入信号,主器件用SS信号来选择处于从机模式的SPI模式。在主模式和从模式下,SS信号的使用方法不同。

在主模式下,SPI接口只能有一个主机,不存在主机选择问题,该模式下的SS信号不是必需的。主模式下,通常将主机的SS引脚通过10kΩ电阻上拉高电平。每一个从机的SS接主机的I/O口,并由主机控制其电平高低,以便主机选择从机。(www.xing528.com)

在从模式下,不管发送还是接收,SS必须有效。因此,在一次数据传输开始之前,必须将SS置为低电平,并由主机控制其电平高低。SPI主机可以使用I/O口选择一个SPI器件作为当前的从机。

SPI从器件通过SS引脚确定是否被选择。在下列条件下SS将被忽略:

1)当SPCTL寄存器中的SPEN位为0时,SPI被禁止。

2)当SPCTL寄存器中的MSTR位为1时,SPI配置为主机,且引脚SS/P1.2配置为输出。

3)当SPCTL寄存器中的SSIG位为1时,SS/P1.2引脚配置为I/O口。

即使SPI被配置为主机,如果SSIG=0,且SS/P1.2配置为输入,则它仍然可以通过拉低SS/P1.2引脚配置为从机。将SPSTAT的SPIF位置1,可改变模式,即由主机模式变为从机模式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈