您好,欢迎来到智榕旅游。
搜索
您的当前位置:首页QSPI的研究

QSPI的研究

来源:智榕旅游


同步队列串行接口QSPI的研究与应用

MCU同外部设备的数据传输有两种方式,一种是并行数据传输方式,另一种是串行数据传输方式。

串行数据传输方式信号线少,协议简单,在长距离、低速率的传输中得到广泛应用,常用的有SPI、I2C、UART等串行数据传输协议。其中,SPI协议为Motorola公司推出的同步串行外围接口协议,Motorola公司的低端MCU上基本都集成了SPI模块。在SPI协议的基础上,Motorola公司对其功能进行了增强,增加了队列传输机制,推出了队列串行外围接口协议(即QSPI协议)。使用该接口,用户可以一次性传输包含多达16个8位或16位数据的传输队列。一旦传输启动,直到传输结束都无需CPU干预,极大地提高了传输效率。该协议在随后推出的ColdFire系列MCU中得到广泛应用。

1. QSPI工作原理

QSPI模块的结构如图1所示。与SPI相比,QSPI结构最大的特点是以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单独决定。

图1. QSPI模块的结构框图

由于SPl只有1个8位的发送数据寄存器,所以CPU每次最多只能准备一个字节的待发送数据。而QSPI拥有具有16个QSPI传输控制组的传输队列,所以CPU每次最多可以准备16个待传输的数据,并且可以通过命令RAM设置每个待传输数据的长度。

在QSPI模块的QWR寄存器中,NEWQP和ENDQP域分别决定了传输队列的起始点和结束点。起始点和结束点可以是16个QSPI传输控制组的任意一个。当QSPI传输启动时,QSPI模块将从起始点开始依次发送准备好的数据直到结束点,整个过程无需CPU干预。典型的QSPI传输流程如图2所示,其中QP为传输队列指针,指向即将传输的数据。

图2. 典型的QSPI传输流程

QSPI模块具有7个引脚:QSPI_DIN为串行数据输入引脚;QSPI_DOUT为串行数据输出引脚;QSPI_CLK为串行时钟输出;QSPI_CS[3:0]为片选信号,通过外接译码器可以选择多达16个设备。一次典型的16位QSPI传输时序如图3所示。该时序假设片选信号低电平有效,时钟空闲时为低电平,在时钟的下降沿采样串行数据。其中,时钟空闲电平和采样时钟沿由QMR寄存器的CPOL和CPHA域决定。

图3.典型的16位QSPI传输时序

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- zrrp.cn 版权所有 赣ICP备2024042808号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务