同步队列串行接口QSPI的应用
时间:2023-09-25 22:56来源: 作者: 点击: 次1 工作原理
模块的结构如图1所示。与SPI相比,结构最大的特点是以80字节的RAM取代了SPI的发送和接收数据寄存器。80字节的RAM分成3部分:16字的发送RAM,16字的接收RAM和16字节的命令RAM。这3部分形成了具有16个QSPI传输控制组的传输,每个QSPI传输控制组由1个命令RAM、1个发送RAM和1个接收RAM组成。每个QSPI传输的数据长度、片选等信息可由该QSPI传输控制组的命令RAM单独决定。
由于SPl只有1个8位的发送数据寄存器,所以CPU每次最多只能准备一个字节的待发送数据。而QSPI拥有具有16个QSPI传输控制组的传输,所以CPU每次最多可以准备16个待传输的数据,并且可以通过命令RAM设置每个待传输数据的长度。
在QSPI模块的QWR寄存器中,NEWQP和ENDQP域分别决定了传输的起始点和结束点。起始点和结束点可以是16个QSPI
传输控制组的任意一个。当QSPI传输启动时,QSPI模块将从起始点开始依次发送准备好的数据直到结束点,整个过程无需CPU干预。典型的QSPI传输流程如图2所示,其中QP为传输队列指针,指向即将传输的数据。
QSPI模块具有7个引脚:QSPI_DIN为数据输入引脚;QSPI_DOUT为数据输出引脚;QSPI_CLK为时钟输出;QSPI_CS[3:0]为片选信号,通过外接译码器可以选择多达16个设备。一次典型的16位QSPI传输时序如图3所示。该时序假设片选信号低电平有效,时钟空闲时为低电平,在时钟的下降沿采样串行数据。其中,时钟空闲电平和采样时钟沿由QMR寄存器的CPOL和CPHA域决定。