什么是USB sbi协议规范?
SPI是英文串行外设接口的缩写,顾名思义就是串行外设接口。SPI是一种高速、全双工、同步的通信总线,在芯片的引脚上只占用四根线,节省了芯片的引脚,也节省了空间,为PCB的布局提供了方便。正是因为这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如P89LPC900。
SPI是一种高速、全双工、同步的通信总线,有两种工作模式:主机模式和从机模式,两种模式都支持。
3Mbit/s,并且还具有传输完成标志和写冲突保护标志。目前为止我用的是带SPI总线的器件,是存储芯片EPROM: AT 25128。在使用过程中,我发现它确实有这种公交车的优点。下面以P89LPC900单片机的SPI总线来说明SPI总线的一般使用规则。
LPC900微控制器的SPI接口主要由SPILK、MOSI、MISO和/SS四个引脚组成,其中SPILK是整个SPI总线的公共时钟,MOSI和MISO是主从的输入输出标志,MOSI是主机的输出,MISO是主从的输入输出。/SS
它是从机的标志针。在两条SPI总线相互通信的器件中,/SS引脚的低电平为从机,/SS引脚的高电平为主机。在SPI通信系统中,必须有一个主机。
SPI总线可以配置为单主机和单从机、单主机和多从机以及相互主机和从机。今天,这种解释是基于相互依赖的模式:
要执行SPI相互主从操作,必须遵循以下步骤:
1初始化A和B,设置为主机(需要以下操作)。
A) SPI端口初始化为准双向。
B) SPCTL配置为0x50,SSIG=0,SPEN=1,MSTR=1。
c)将SPSTAT中的SPIF和WCOL标志清零。
d)如果需要SPI中断,可以使能相应的中断位。
2将A的最后一个管脚连接到B的/SS管脚,然后下拉/SS强制B置于从机模式,同时B的机会会发生如下变化:
a)机器B的MSTR位自动清零。
B) B机的B MOSI和SPICLK强制变为输入模式,MISO变为输出模式。
c)机器b的SPIF位置
d)如果启用了SPI中断,机器B将执行SPI中断服务程序。
3 B机可以设置为查询接收或中断接收模式,以便随时准备接收A机发送的数据。为了将机器B恢复到主机,必须完全执行步骤1。本例中,SPI相互主从测试系统由两块DP932实验板构成。
程序中应注意的问题:
在1程序中,要注意第一次拉低SS引脚的处理:当A机第一次通过B_SS设置B机为从机时,从机的SBIF位会被置位(会被认为完成了一次传输),如果在此之前SPI中断使能 从机将执行相应的中断服务程序(在本例程序中,当B机的SS引脚被拉低时,B机的SBIF将首次置位)。
2.关于恢复从机为主机的问题:在互主从模式下,当B机被A机设置为从机时,CPCTL寄存器中的MSTR位清零,SPIF设置为1,MOSI和SPICLK强制改为输入模式,MISO强制改为输出模式。要恢复为主机,您必须执行以下操作:
a)清除MSTR位1和SPIF位0。
b)将MOSI、SPICLK、MISO和SS恢复为准双向端口。
c)在a)和B)之前,需要注意将B_SS拉高。如果它保持在低电平,即使完成了a)和B)的操作,机器B也将被复位为从机。
3在使用SPI总线期间,主机/从机传输格式可以由DORD(SPI数据序列选择位)、CPOL(SPI时钟极性选择位)和CPHA( SPI时钟相位选择位)控制。对于本实验,这些位的影响可以忽略,但当使用一些其他SPI器件时,必须根据从机数据手册的要求正确设置SPI数据的传输顺序、SPI的时钟极性和SPI的时钟相位。
在一些SPI应用系统中,由于硬件设计不是很合理,有时会出现SPI通信异常(传输数据错误,或者其他情况)。可以尝试降低SPI总线的传输速率,或者调整一些SPI时钟的极性和相位,使传输稳定。
文章来源:互联网