1.1.2. 主机接口
主机通过使 CS 信号保持在高电平来选择 SPI 主器件。 当 CS 为高电平时,地址总线位决定主机指向的 SPI 寄存器。 主机通过使 RD 保持在高电平来读取特定的寄存器,并通过使 WR 保持在高电平来写入寄存器。 在完成 SPI 字传输之后,状态寄存器中的中断标志的电平将走高。 主机频繁地监测状态寄存器。
信号 | 说明 |
---|---|
芯片选择 (CS) | 当此信号处于高电平时,主机至 SPI 主器件接口处于启用状态。 |
地址总线 (address [1:0]) | 一个 2 位地址总线,用于选择 SPI 主器件具有相应地址的寄存器。 |
数据总线 (data bus [7:0]) | 一个 8 位双向数据总线,用于将主机连接到 SPI 主器件。 |
读 (RD) | 当此信号处于高电平时,主机读取地址总线上正在发送的地址对应的 SPI 寄存器。 |
写 (WR) | 当此信号处于高电平时,主机向地址总线上正在发送的地址对应的 SPI 寄存器执行写操作。 |
时钟 (CLK) | 主机时钟信号。 |
地址 | 寄存器 | 宽度(位) |
---|---|---|
00 | 控制寄存器 | 8 |
01 | 状态寄存器 | 8 |
10 | 发送寄存器 | 8 |
11 | 接收寄存器 | 8 |
图 2. 控制和状态寄存器映射下图显示了控制寄存器映射和状态寄存器映射。
当检测到中断时,主机将读取接收缓冲器,在需要时写入一个新的命令字,并更新发送缓冲器。 当发送缓冲器更新时,将对状态寄存器中的中断标志进行复位并发送一个新的 SPI 字。 接收缓冲器由在该 SPI 字中接收到的数据进行更新,并且在该字的结尾再次生成一个中断。 SPI 从器件选择、时钟极性、时钟相位和 SPI 时钟频率可通过控制寄存器设置进行控制。
图 3. 典型的 SPI 时序特征下图显示了典型的 SPI 时序特征。