【摘要】:当SPI控制寄存器SPICTL的MASTER/SLAVE位为1时,SPI工作于主模式。此时,主SPI通过引脚SPICLK提供整个串行通信网络的串行时钟。SPI波特率设置寄存器SPIBRR决定发送和接收的位传输速率。通过SPIBRR可选择125种不同的波特率。图11-3 SPI主控制器/从控制器连接在典型应用中,SPISTE引脚作为从控制器的片选信号,在接收主控制器的数据前将引脚置低,接收数据后再置为高。将主控制器的数据传送给从控制器,数据传送完毕,申请中断。
当SPI控制寄存器SPICTL的MASTER/SLAVE位为1时,SPI工作于主模式。此时,主SPI通过引脚SPICLK提供整个串行通信网络的串行时钟。SPI波特率设置寄存器SPIBRR决定发送和接收的位传输速率。通过SPIBRR可选择125种不同的波特率。
发送数据时,主控制器先送出SPICLK信号(频率应不超过器件系统时钟的1/4),然后向寄存器SPIDAT或SPTXBUF写数据即可以启动SPISIMO引脚上的数据发送(先发送最高有效位)。同时从控制器通过引脚SPISIMO将接收到的数据移入SPIDAT的最低有效位。当选定数量的位发送完时,则整个数据发送完毕。接收的数据按照右对齐格式存放于SPIRX-BUF中,以备CPU读取,同时,使状态寄存器SPISTS中的中断标志位SPI INTFLAG置1,如果寄存器SPICTL的中断使能位SPI NT ENA=1,则产生中断。
图11-3 SPI主控制器/从控制器连接(www.daowen.com)
在典型应用中,SPISTE引脚作为从控制器的片选信号,在接收主控制器的数据前将引脚置低,接收数据后再置为高。
将主控制器的数据传送给从控制器,数据传送完毕,申请中断。主控制器通过发出SPI-CLK信号启动数据发送,从控制器则通过检测SPICLK信号接收数据。一个主控制器可以连接多个从控制器,但是一次只允许一个从控制器给主控制器发送数据。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
有关Piccolo系列DSP控制器原理与开发的文章