1 SPI接口结构 该SPI设计主要有两大部分组成:微控制器接口和SPI控制接口。通过控制线、数据线、和地址线三大总线把微控制接口与SPI控制接口连接在一起,如果外部有更多的SPI接口模块。可以由SPI控制接口运用软件编程与设置,实现扩展具有SPI接口的外部设备。
TMS320LF2407中采用的主从控制器连接通信。主控制器通过输出SPICLK信号来启动数据传送。对主控制器和从控制器.数据都是在SPICLK的一个边沿移出移位寄存器,并在相对的另一个边沿锁存到移位寄存器。如果CLOCK PHASE位是1.数据的发送和传输就要在SPICLK跳变之前的半个周期发生。主控制器可以在任一时刻启动数据发送.因为它控制着SPICLK信号。由软件决定了主控制器如何检测从控制器何时准备发送数据,以启动SPI传送数据。
图1 SPI内部结构 2.2 SPI设计原理
SPI接口是同步串行总线的一种,在同步时钟信号SCK下,能够高速、可靠的传送数据。它分为主从(MASTER/SLAVER)两种传输模式。主模式下的发送总线即是从模式的接收总线:与之对应的是从模式下的发送总线即是主模式的接收总线。它们可以同时接收和发送数据.而且发送和接收操作可以通过中断或者查询方法来完成。
2.2.1工作时钟
时钟极性CPOL和时钟相位CPHA控制着时钟信号引脚上4中不同的时钟方式。在设备被使能激活后.还未进行数据传输时或两个字节数据间歇期间,SCK处于空闲电平,通过时钟极性控制位可以选择此空闲电平的电平时0还是1:时钟相位控制位用来选择数据接收端设备的采样时刻。在该采样时刻,线上数据必须同时满足建立时间和保持时间两个参数,因此数据发送端设备应提前将数据移出到数据线上。
4种不同的时钟方式能根据外设需要,能够提供相对应的传输协议来完成数据的传输工作。它们之间没有优先级.SPI线上的主从设备必须根据具体情况设置匹配的传输时序模式.时序只有匹配擞据传输才能正常进行。如果设置的不匹配.可能导致数据接收方和发送方在同一个时钟沿作用.导致数据输出失败。
图2是CPHA=0时的数据传输时序.它同时包含了CPOL=0和CPOL=1的情况,当CPOL=O时,要传输的数据在时钟信号没有延时且上升沿出发送,在时钟信号下降沿处接收数据。当CPOL=1时,同样在没有延时的情况下传输,不同的是下降沿发送数据,上升沿接收。图3是CPHA=1时数据传输时序。与图2相似,但采样时刻延迟了半个周期。
图2 CPHA="0是SPI总线数据传输时序" 图3 CPHA="1时SPI总线数据传输时序" |