串行端口读操作
SPI 接口可从芯片内部寄存器读取数据。数据在 SDO 引脚上输出。当器件未被寻址时,该引脚处于三态(高阻态)。然而,当器件被激活并被 SPI 主设备寻址后,HMC960LP4E 将控制 SDO 引脚,并在下一个 SPI 周期中通过该引脚输出数据。
HMC960LP4E 在 SCK 的上升沿改变数据,而主机在 SCK 的下降沿读取来自 HMC960LP4E 的数据。
一个典型的 READ 周期如下图所示,共包含 32 个时钟周期。要具体读取某个寄存器的内容,必须先将该寄存器的地址写入专用的寄存器 0h。这需要两个完整的 SPI 周期:第一个周期用于写入目标地址,第二个周期用于检索数据。随后即可启动一次读操作,步骤如下:

主机拉低 SEN(低电平有效的串行端口使能信号),然后在 SCK 上产生一个上升沿。
HMC960LP4E 在 SEN 之后的第一个 SCK 上升沿读取 SDI 上的最高有效位(MSB)。
HMC960LP4E 在接下来的 23 个 SCK 上升沿中依次接收 D23:D0 数据位(共 24 位数据)。这些数据位的最低有效部分(LSBs)表示即将要读取的目标寄存器地址。
主机在接下来的 5 个 SCK 下降沿上放置 5 位寄存器地址 A4:A0(从 MSB 到 LSB),HMC960LP4E 在对应的 SCK 上升沿读取这些地址位。对于读操作,此地址应固定为 “00000”。
主机在接下来的 3 个 SCK 下降沿上放置 3 位芯片地址 <110>(从 MSB 到 LSB)。注意:HMC960LP4E 的芯片地址固定为 “6d” 或 “110b”。
在第 32 个 SCK 上升沿之后,SEN 由低电平变为高电平,标志着 READ 周期的第一部分完成。
主机再次拉低 SEN( active low Serial Port Enable),然后在 SCK 上产生一个上升沿。
HMC960LP4E 电子元件在每个 SCK 上升沿(从第一个上升沿开始,以 MSB 起始)将 24 位数据、5 位地址位和 3 位芯片 ID 位依次输出到 SDO 线上。
主机在从 SDO 输出读取完 32 位数据后,将 SEN 置为高电平(即取消断言)。这 32 位数据包括:24 位数据 + 5 位地址位 + 3 位芯片 ID 位。至此,整个读操作完成。