前言:SPI逻辑测试,信号完整性 测试
硬件基础SPI总线定义两个及以上设备间的数据传输,提供时钟的设备为主设备(Master),接收时钟的设备为从设备(Slave)。信号定义SPI协议定义四根信号线,分别为:·SCK : Serial Clock 串行时钟 ·MOSI : Master Output, Slave Input 主发从收信号 ·MISO : Master Input, Slave Output 主收从发信号 ·SS : Slave Select 片选信号 其中MISO方向为从设备到主设备,其余三个信号均为主设备到从设备。说明:1. 对于主设备,如果设置SS作为从设备的片选信号(常用的场合),则它就不能用于多主设备应用的模 式错误检测(参考SSOE和MODFEN寄存器设置,表1) 2. SPI单个数据管脚支持双向模式。在双向模式下,主设备的MOSI,从设备的MISO作为双向IO(参考SPC0和BIDIROE寄存器设置,表2)电路连接图2表示基本的SPI设备连接示意图。片选信号SS通常低电平有效。SPI数据传输原理是基于主从设备内部移位寄存器的数据交换。在主设备SCK的控制下,待传数据由各自设备的数据寄存器(Data Register)传输到移位寄存器(Shift Register),再通过MOSI和MISO信号线完成主从设备间的数据交换。图2. SPI主从模式传输示意图(电路)主从设备间数据交换逻辑示意图如下图3所示:图3. SPI主从模式传输示意图(逻辑)硬件拓扑单个主设备和单个从设备的SPI连接比较简单,以上图2和图3表示的就是这种拓扑结构。 通过多个片选信号(SS)或菊花链方式(Daisy Chain Configuration),单个主设备可以同时控制多个不同从设备。·片选方式 如图4示,每个从设备都需要单独的片选信号,主设备每次只能选择其中一个从设备进行通信。因为所有从设备的SCK、MOSI、MISO都是连在一起的,未被选中从设备的MISO要表现为高阻状态(Hi-Z)以避免数据传输错误。由于每个设备都需要单独的片选信号,如果需要的片选信号过多,可以使用译码器产生所有的片选信号。图4. 主设备以片选方式控制多个从设备·菊花链方式 如图5示,数据信号经过主从设备所有的移位寄存器构成闭环。数据通过主设备发送(绿色线)经过从设备返回(蓝色线)到主设备。在这种方式下,片选和时钟同时接到所有从设备,通常用于移位寄存器和LED驱动器。注意,菊花链方式的主设备需要发送足够长的数据以确保数据送达到所有从设备。切记主设备所发送的个数据需(移位)到达菊花链中一个从设备。菊花链式连接常用于仅需主设备发送数据而不需要接收返回数据的场合,如LED驱动器。在这种应用下,主设备MISO可以不连。如果需要接收从设备的返回数据,则需要连接主设备的MISO形成闭环。同样地,切记要发送足够多的接收指令以确保数据(移位)送达主设备。图5. 主设备以菊花链方式控制多个从设备企业新闻