SPI(Seria l Periphera l Inte rface)是一种串行总线外设接口,为高速同步串行输入/输出端口,其传送速率和数据长度可编程。它只需3根引脚线(发送、接收与时钟)就可以与外部设备相连。SPI是一种同步通信接口,两台通信设备在同一个时钟下工作。
SPI通常用于DSP芯片与外部设备或其他控制器之间的通信,通过SPI可以构成多机通信系统,还可以扩展芯片。许多芯片如A-D、D-A、移位寄存器、显示控制驱动器、日历时钟、I/O、E2 PROM、语音电路等可以采用SPI接口扩展,例如MAX5121为具有SPI接口的12位D-A转换器芯片。
SPI模块结构框图如图8-1所示。SPI模块支持主或从操作模式,有4种SPICLK时钟方式。
DSP的SPI模块有4个引脚:
①SPISIMO——SPI从输入、主输出(Slave In,Master Out)引脚。SPI工作在主模式下为发送(输出),从模式下为接收(输入)。
②SPISOMI——SPI从输出、主输入(Slave Out,Ma ster In)引脚。SPI工作在主模式下为接收(输入),从模式下为发送(输出)。
③SPICLK——SPI时钟引脚。SPI工作在主模式下为输出时钟,从模式下为输入时钟。(www.xing528.com)
④——SPI从发送使能引脚。主模式下,该引脚为通用I/O引脚。从模式下该引脚可作为I/O功能,也可作为选通功能。作为选通功能时,若为高电平,将使SPI移位寄存器停止工作且输出引脚为高阻态;若为低电平,将使能SPI的传送功能。
不使用SPI模块时,这些引脚可用做通用I/O引脚。
SPI模块有9个寄存器:SPI配置控制寄存器SPICCR(包含用于SPI配置的控制位)、SPI控制寄存器SPICTL(包含用于数据发送的控制位)、SPI状态寄存器SPISTS(包含接收器和发送器状态位)、SPI波特率寄存器SPIBRR(确定传送速率)、SPI接收仿真缓冲寄存器SPIRXEMU、SPI接收缓冲寄存器SPIRXBUF、SPI发送缓冲寄存器SPITXBUF、SPI串行数据寄存器SPIDAT、SPI优先级控制寄存器SPIPRI,它们用于控制SPI的操作。其中的SPI串行数据寄存器SPIDAT,用做发送/接收移位寄存器。
图8-1 SPI模块结构框图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。