APP下载

基于延迟线的超高速SD卡动态相位调整技术

2018-10-13刘艳丽冯彦朝郭御风

网络安全与数据管理 2018年9期
关键词:粗调延时时钟

刘艳丽,张 璐,冯彦朝,郭御风

(天津飞腾信息技术有限公司,天津 300300)

0 引言

早期的SD卡时钟频率较低,支持的传输速率不高,SD2.0最高带宽为25 MB/s。随着SD卡物理层规范标准的不断更新,其传输速度不断提高。2010年SDA发布的SD3.01,在保留原有结构(CMD,RES,States,Errors等)的基础上,首次定义UHS(Ultra High-Speed Phase-I)高速总线传输模式,信号电压从3.3 V降低到1.8 V,最大工作频率从50 MHz提升到208 MHz。

目前SD UHS模式已更新到UHS-III。不同模式级别支持的最大传输速率也差别颇大,UHS-III最大传输速率可达624 MB/s。但在实际电路系统中,SD卡能否达到标准限定的峰值性能,主要取决于SD卡控制器对标准的支持特性。性能优秀的SD卡控制器主要由部分国外企业所掌握[1-3],国内企业推出的主控制器性能和所采用的技术普遍落后于国外,不能满足高端需求[4-7]。控制器对SD-UHS高速性能模式支持的关键在于从越来越小的有效数据窗口中精确获取传输数据,并在电压、温度等条件变化时仍能保持采样的准确性,这需要完善的采样时钟相位调整技术,为此,提出了一种基于数字延迟线来动态调节采样时钟的方法,满足UHS高速时钟信号的相位调制需求。

1 SD卡高速传输模式简述

SD卡工作在不同模式时对于时钟频率的需求不同。例如:SDSC最高时钟频率为25 MHz,SDHC最高时钟频率为50 MHz,UHS-I的SDR50、SDR104两种模式的最高时钟频率分别为100 MHz、208 MHz。由于在高频模式下,时钟周期变短,受噪声、延迟偏差等影响,多位数据的有效窗口更小。尤其在SDR104 208 MHz高速传输时,还会存在数据窗口漂移,输出延时Top(从SDCLK输入到CMD和DAT输出的延时)可能大于一个时钟周期,初始化后Top范围一般在0~2 UI。在该模式下,数据相位采样点获取必须考虑数据窗口漂移因素,同时数据窗口的位置还受温漂影响[8]。图1给出了SDR104 模式下数据窗口变化时序图。

图1 数据输出的有效窗口及延迟参数

电压、温度变化对信号延迟时间的影响,在高频系统中对能否准确采样数据,具有决定性的影响。图2给出了采样时刻与延迟偏差的关系,当延迟变化超过半个采样窗口时,系统会采样到错误的数据。因此,SD控制器设计必须考虑到上述温漂影响的数据窗口偏移问题。同时还要考虑传输线延迟影响,例如在写操作时,由于时钟驱动方向和数据驱动方向相同,写数据可以传输同步于SDCLK信号,可不考虑传输线的延迟现象;但高速读操作时,必须考虑,因为时钟驱动方向和数据方向正好相反,存在数据往返延时、卡输出延时。同时还需要考虑噪声、多位信号间的延迟偏差等因素。因此控制器端需要通过调整采样相位来决定在正确的采样点接收响应、CRC状态和读数据块。

图2 延迟变化与有效数据窗口

SD3.0协议提出的强制调节(tuning)采样点调制流程,目的也是用于补偿电压浮动、噪声干扰、温漂等因素对高速数据传输的影响,避免因时钟相位变化而导致控制器和卡对于传输信号的采样失败。通过tuning操作可获取到同频采样时钟下主控制器与卡通信信号的最佳采样时机。调节块(tuning block)采样相位调制,通过在总线上创造一个特殊的信号传输情况(可能引起最大的噪声、确定性抖动、ISI和时序错误),构造主控制器与卡系统通信的最差情况,调节算法从中算得此情况下的最优采样时机,调节块涵盖以下极限情况:

(1)4-DAT同时正脉冲,模拟最大的同时开关噪声情况。

(2)2-DAT正脉冲,同时2-DAT负脉冲,模拟地弹和阻抗失配的组合,通常给出最大Tpd传输延迟。

(3)1-DAT正脉冲,同时其他线静止,模拟阻抗失配效应,通常给出最小Tpd。

主控制器通过专用调节命令CMD19读取此调节块。针对多种时钟延迟设置情况,在不超过150 ms时间内,完成40次读取调制块的处理流程,确定最佳采样位置和时钟延迟设置。

在UHS高速传输模式中,时钟周期缩短,但是寄存器的建立和保持时间并没有发生变化。因此在前后级电路之间,留给组合逻辑的时间变短。控制器的设计实现需要考虑如下因素:

(1)限制组合逻辑级数,降低组合逻辑延迟,为相位调整时间窗口留有足够的余量。

(2)减少组合逻辑的翻转比特数,降低竞争冒险的概率,提升系统稳定性。

(3)采用流水方式处理,通过采用多级流水线,将任务分割,提高整体电路的工作频率,满足高频模式。

2 SD主控制器时钟管理方案

时钟管理单元负责提供控制器和SD卡工作时钟。其设计需要兼容SD卡原有结构及满足UHS多种操作模式需求,提供多种SD卡工作频率选择及工作模式的动态调整,同时支持UHS-I tuning相位调制机制。对于主控时钟频率,尽管理论上控制器可以使用低于UHS-I支持频率的任何频率,但是考虑到时钟周期和输出延时之间的关系,UHS-I的最小频率一般不低于100 MHz。本文推荐的时钟控制方案如图3所示。

图3 时钟控制单元

时钟管理单元负责对主时钟分频得到SD卡工作时钟,以及驱动、采样相位调整的同步信号,并分别产生脉冲宽度为系统时钟周期的驱动脉冲信号和采样脉冲信号。延时线(Delayline)调整单元是实现最优时序控制的关键部件,调整单元内部是多路延时元件的组合,通过对通路的选择得到多种延时值,直接对时钟或数据延时进行调整。主控制器的延迟调节逻辑按照tuning调制机制,对覆盖延时线的不同相位采样点进行调制分析,确定最佳采样时机和延迟配置。

2.1 延时线调整单元

延时线调整单元包括粗粒度延时产生模块和细粒度延时产生模块。粗粒度延时产生模块为具有多个抽头输入和对应的抽头选择输入的信号延迟链,粗延时脉冲通过全局时钟驱动网络模块送入信号延迟链的各个抽头输入;细粒度延时编程模块根据所需细延时,产生相应的独热码送到信号延迟链的各个抽头选择输入,进而控制粗延时信号是否经过信号延迟链上的各细延时单元,并在信号延迟链的尾端输出结束脉冲。

延迟线对于信号传输路径的延时调节,通过将粗调(coarse)与精调(frac)相结合来满足延时精度需求:粗调每级延时约530 ps,精调每级延时约70 ps。每种延时结构共有八级,两种结构串联组合使用,延时模块最大延时时间约为5 ns。延时模块整体结构如图4所示。

图4 延时模块整体结构

图中Din为信号输入端口,frac_en[2:0]为精调控制信号,coarse_en[2:0]为粗调控制信号,DelayOut为数据输出端口。

延时选择控制信号frac_en/coarse_en通过三八译码器解码后输出8个选择端,选择被传输信号经过的延时单元个数。所有被选择的延时模块以串联结构连接,总延时时间是精调和粗调相加的结果。

frac模块可实现总延时为725 ps的0~8级均匀延时调节,coarse模块为最大延时为4.494 ns的0~8级均匀延时调节。frac模块结构如图5所示,coarse模块与之类似。

2.2 静态时序分析

影响单元延迟的因素主要有工艺、电压和温度三种,三者组合会构成多种情况,物理设计中将每种情况称为一个corner,表1给出了物理设计在典型corner下,对延迟单元进行静态时序分析所获得的延迟结果。

该设计最大延时为frac7+coarse7组合。同时,针对不同corner进行时序综合,图6给出了在典型(tc)、coarse列dout[0]~dout[7]为延迟递增的粗调等级。

表1 典型corner下的延时数据(单位:ns)

注:frac行dout[0]~dout[7]为延迟递增的精调等级;

最坏(wc)、最好(bc)三种corner下延时的变化趋势,延时线调整单元在初始配置完成后,于工作中将借助此变化趋势和实际运行情况来动态调节延迟设置值。

图6 tc、wc、bc三种corner下延时曲线

3 FPGA验证

为验证前述延迟调节方法,在Xilinx VU440验证平台上搭建了基于MicroBlaze软核的嵌入式系统平台,添加SD控制器,延迟线以FPGA上的查找表延迟来模拟,验证平台的整体架构如图7所示。实验中调节了SD卡与控制器间的多种延迟情况,然后通过延迟线调节单元,按前述方案动态调整了时钟与数据信号的延迟,经DDR4 SDRAM与SD卡间的数据搬移测试表明,本文所提出的方法能够很好地适应延迟变化,确保数据采样的准确无误。图8为该平台加载Linux系统下SD卡初始化进程部分状态信息。

图7 FPGA验证平台

图8 SD卡驱动进程加载状态信息

4 结论

本文提出了一种面向SD卡控制器的信号相位动态调整方法,该方法支持SDSC、SDHC、SDXC、SDXC-

UHS I四种模式下的读写数据传输操作,动态应对噪声、温漂等导致的信号延迟变化。实现延迟调节的核心模块为时钟管理部件和其中基于延迟线的延迟调节单元,采用粗调与精调相结合的调整方法,实现了采样时机在有效窗口内的精确调节。FPGA实验结果表明,所提设计方法能够很好地应对信号延迟的动态变化。

猜你喜欢

粗调延时时钟
别样的“时钟”
基于级联步进延时的顺序等效采样方法及实现
古代的时钟
CRTS-I型双块式无砟轨道快速粗调施工技术
一种用于分光仪初始状态调整的小型实用装置
卧式钢琴粗调技术的探析
有趣的时钟
时钟会开“花”
分光计调节方法的优化
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration