Quad SPI的DLP优化原理

2024-05-04 15:36
文章标签 优化 原理 spi dlp quad

本文主要是介绍Quad SPI的DLP优化原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 前言

1.1 Quad SPI Flash

        QSPI的I/O接口如图1所示,其中:

        ① CS:片选信号,低电平有效(FLASH被选中);

        ② CK:时钟信号,由主设备产生;

        ③ SI/SO: SI,即MOSI(master out slave in);SO,即MISO(master in slave out);

        对于master(一般为芯片)来说,MOSI通常为数据发送口,MISO为数据接收口;

        对于slave(一般为flash)来说,MOSI通常为数据接收口,MISO为数据发送口。

        ④ WP:写保护接口;

图1 QSPI  I/O接口示意图

        SI/SO组成了SPI(Serial Peripheral Interface)全双工通信的基础,可同时收发。对于传统SPI来说,SI对于主设备只能是输出,用于发送数据;SO对于主设备只能接收数据,即这两个I/O口是单向的。QSPI将这两个I/O口作为普通I/O口来使用,即数据可以双向传输,同时将WP和RESET口也用作数据传输的I/O口,组成了DQ0~DQ3双向四通道,数据传输速度直接起飞。

1.2 数据有效窗口(Data Valid Window)

1.2.1 传统DDR频率较低情形

        如图2所示,DDR Quad在时钟的上升沿和下降沿读取数据。

图2 传统低频DDR时序示意图

        其中:

        ① tv: clock-to-data-out time,表示从时钟上升沿或下降沿开始,到数据变得有效的这一过程所经历的时间;

        ② tHo: hold time,表示在一次时钟变化沿后,数据保持有效的时间;

        ③ Pck:clock period,时钟周期,对于DDR来说,显然是以半周期进行数据采样的;

        ④ tDV: 数据有效窗口的最小值(the minimum data valid window);

        当DDR的频率较低时,若tv小于Pck,且tv和tho的值不变时,则由tdv = Pck/ 2- tv + tho可知,DDR的时钟(CK)频率越高,Pck越小,tv就越小。所以,DDR的CK频率存在上限(66 MHz),举例来说:

• Pck = 15 ns (66 MHz)
• tv [max] = 6.5 ns
• tho [min] = 1.5 ns
• tdv = Pck / 2 - tv + tho: 15 ns / 2 - 6.5 ns + 1.5 ns = 2.5 ns

1.2.2 高频率下数据有效窗口

        当DDR的频率较高时,tv和tho正相关,这就使得数据有效窗口与tv和下一个时钟沿的到来时间强相关;才外,由于CK很高,这使得tv会很接近Pck,甚至会超过Pck,从而需要新的方法来确定数据有效窗口(如图3所示),并在窗口中找到合适的数据采样点(DLP正致力于此,by using the DLP feature an optimal strobe point can be found within the data window)。

 图3 高频DDR时序示意图

2 DLP原理

2.1 DLP的作用及基本原理

        如前文所述,SPI接口已经从单向单比特SDR I/O接口发展到SDR/DDR双向四比特Qaud接口,单向变双向,单车道变四车道, I/O效率显著提升。

        随之而来的问题是,由于Quad SPI Flash 66MB /s (SDR@133 MHz)和80MB /s (DDR@80 MHz)的高时钟速率,使用tv(max)作为数据窗口内的数据采样点(strobe point)的传统方法不再奏效;DLP(data learn pattern)则闪亮登场,用于优化QSPI的数据读取性能。

        DLP在每个数据信号上提供一个已知的数据序列(通常表现为在指定位置放置指定DLP数据,以用于主控制器的训练),使得主控制器(主设备)可以确定收数时最佳捕获数据时序。简单来说,可以理解为DLP是对读数据操作进行了标定,或者说时监督式的训练,从而帮助主控制器确定合适的数据读取时序。

        总的来说,在数据读取过程中,主设备会使用DLP进行过采样,从而确定最佳的数据捕获点;此外,DLP会对读操作进行校准,对由于工艺、电压、温度等因素带来的误差进行补偿,使得DDR频率轻松上80MBps不是梦。

2.2 主设备抓取数据策略(Host Capture Strategy)

        总的来说,主机控制器会将DLP的输入数据作为测试序列(即DLP数据已知),进而根据读该数据序列时系统的反馈确定tv和tDV,而一旦DLP找到合适的数据有效窗口,读数据的时间余量最大的那个采样点会被选为最优采样点(Once the data eye has been identified during the DLP portion of the read sequence, the controller selects the optimal data-capture point to maximize the timingmargin for the read data)。 

图4 Host Capture Strategy DDR

        通常可以用过采样的方法,建立多个贯穿数据有效窗口 (data-valid window)的数据捕获点(data-capture points),以作为样本。如图4所示,单个DQ由五个样本通道组成,每个通道之间由固定的采样延迟。这五个通道延迟的采样点(A到E)可以用延迟锁定环路( delay-locked loop,DLL)或过采样时钟(oversampling clock)生成,过采样时钟又使用内部可用的更高频率时钟生成。当DLP输出时,主控制器对目标DQ进行采样。

        其中,B/C/D三个通道都成功地抓取了DLP输入数据,且通道C的余量最大,因此被选为最佳训练参数。

3 结论

        随着嵌入式应用程序性能要求的不断提高,传统的SPl接口和协议已无法满足读取速度进一步提高的需求。DLP方法的出现,使得基于Quad SPI的Flash可以实现更高的数据速率。这一增强型的解决方案,在合理的成本控制前提下,极大程度地提高了数据读取速率,同时最大限度地减少了引脚数、PCB复杂性、封装尺寸和成本,极大地改善了系统设计和性能。

这篇关于Quad SPI的DLP优化原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959532

相关文章

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

Nacos注册中心和配置中心的底层原理全面解读

《Nacos注册中心和配置中心的底层原理全面解读》:本文主要介绍Nacos注册中心和配置中心的底层原理的全面解读,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录临时实例和永久实例为什么 Nacos 要将服务实例分为临时实例和永久实例?1.x 版本和2.x版本的区别

一文彻底搞懂Java 中的 SPI 是什么

《一文彻底搞懂Java中的SPI是什么》:本文主要介绍Java中的SPI是什么,本篇文章将通过经典题目、实战解析和面试官视角,帮助你从容应对“SPI”相关问题,赢得技术面试的加分项,需要的朋... 目录一、面试主题概述二、高频面试题汇总三、重点题目详解✅ 面试题1:Java 的 SPI 是什么?如何实现一个

apache的commons-pool2原理与使用实践记录

《apache的commons-pool2原理与使用实践记录》ApacheCommonsPool2是一个高效的对象池化框架,通过复用昂贵资源(如数据库连接、线程、网络连接)优化系统性能,这篇文章主... 目录一、核心原理与组件二、使用步骤详解(以数据库连接池为例)三、高级配置与优化四、典型应用场景五、注意事

电脑系统Hosts文件原理和应用分享

《电脑系统Hosts文件原理和应用分享》Hosts是一个没有扩展名的系统文件,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应... Hosts是一个没有扩展名的系统文件,可以用记事本等工具打开,其作用就是将一些常用的网址域名与其对应

Dubbo之SPI机制的实现原理和优势分析

《Dubbo之SPI机制的实现原理和优势分析》:本文主要介绍Dubbo之SPI机制的实现原理和优势,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Dubbo中SPI机制的实现原理和优势JDK 中的 SPI 机制解析Dubbo 中的 SPI 机制解析总结Dubbo中

SpringBoot中HTTP连接池的配置与优化

《SpringBoot中HTTP连接池的配置与优化》这篇文章主要为大家详细介绍了SpringBoot中HTTP连接池的配置与优化的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一... 目录一、HTTP连接池的核心价值二、Spring Boot集成方案方案1:Apache HttpCl

PyTorch高级特性与性能优化方式

《PyTorch高级特性与性能优化方式》:本文主要介绍PyTorch高级特性与性能优化方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、自动化机制1.自动微分机制2.动态计算图二、性能优化1.内存管理2.GPU加速3.多GPU训练三、分布式训练1.分布式数据

MySQL中like模糊查询的优化方案

《MySQL中like模糊查询的优化方案》在MySQL中,like模糊查询是一种常用的查询方式,但在某些情况下可能会导致性能问题,本文将介绍八种优化MySQL中like模糊查询的方法,需要的朋友可以参... 目录1. 避免以通配符开头的查询2. 使用全文索引(Full-text Index)3. 使用前缀索