数字接口系列文章之SPI总线
2011-06-03
图 1 基本的 SPI 总线 尽管表 1 中的引脚名称取自 Motorola 公司的 SPI 标准,但特殊集成电路的 SPI 端口名称通常与图 1 中所标示的名称有所不同。
表 1 SPI 引脚名称分配
SPI 数据速率通常介于 1 到 70 MHz 之间,字节长度范围从 8 位和 12 位到这些数值的倍数位。
数据传输通常会包含一次数据交换。当主节点向从节点发送数据时,从节点也会向主节点发送数据。为此,主节点的内部移位寄存器和从节点被设置成环形(请参见图 2)。
图 2 两个移位寄存器形成一个内部芯片环形缓冲器 在数据交换之前,主节点和从节点使其内部移位寄存器加载存储器数据。产生时钟信号时,主节点会通过 MOSI 线同步输出其移位寄存器。同时,从节点在 SIMO 处从主节点读取第一位,并将其存储到存储器中,然后通过 SOMI 输出 MSB。主节点会在 MISO 处读取从节点的第一位,并将其存储到存储器中以待稍后处理。整个过程将一直持续,直至交换完所有数据位,然后主节点使时钟空闲并通过 /SS 禁用从节点。
除设置时钟频率之外,主节点还会配置相对于数据的时钟极性和时钟相位。这两个选项分别称作 CPOL 和 CPHA,能够允许时钟信号实现 180 度相移且数据延迟半个时钟周期。图 3 显示了相应的时序图。
图 3 时钟极性和相位的时序图 CPOL = 0 时,时钟在逻辑 0 处空闲: 如果 CPHA = 0,数据会在 SCK 的上升沿上读取,在下降沿上变化。
如果 CPHA = 1,数据会在 SCK 的下降沿上读取,在上升沿上变化。
CPOL = 1时,时钟在逻辑高电平处空闲: 如果 CPHA = 0,数据会在 SCK的下降沿上读取,在上升沿上变化。
如果 CPHA = 1,数据会在 SCK 的上升沿上读取,在下降沿上变化。
在 SPI 中,主节点可以与单个或多个从节点进行通信。在使用单个从节点的情况下,从选择信号可以关联到从设备的本地接地电位以允许永久接入。对于使用多个从节点的应用,可能有两种结构:独立和菊花链式从节点(请参见图 4)。
图 4 主节点与独立从节点(左)以及菊花链式从节点(右)进行通信 从节点独立寻址时,主节点必须提供多个从选择信号。该结构一般用在数据采集系统中,其中的多个模数转换器 (ADC) 和数模转换器 (DAC) 都必须单独接入。
菊花链式从节点需要主节点提供唯一的从选择信号,因此该结构要求同时启用所有从节点,以确保菊花链内通过所有移位寄存器的数据流不会中断。典型的应用为工业级 I/O 模块中的级联多通道输入串行器和输出驱动器。
- Vishay推出采用数字输入输出接口的25 MBd光耦,简化设计并降低成本
- 高速数字接口测试,让容限测试更高效
- 使用一个GPIO数字接口测量温度的简单方法
- Diodes 公司面向RGB 和单色固态照明LED,推出双数字接口、多通道 LED 驱动器
- 是德科技推出 224G 以太网测试解决方案,助力片上系统制造商验证新一代高速数字接口技术
- 教你如何用一个GPIO数字接口也能测量温度的简单方式
- 传感器选择数字接口还是模拟接口?
- 针对电机位置编码器的不同数字接口选择
- 带数字接口的离线式开关电源InnoSwitch3-Pro 实现更灵活配置
- elmos推出带有SENT数字接口的多功能信号调理芯片E520.44