SD/SDIO/eMMC

Versal 自适应 SoC PCB 设计 用户指南 (UG863)

Document ID
UG863
Release Date
2023-09-14
Revision
1.7 简体中文

eMMC

  • 根据 JEDEC 规范 JESD84-B451《嵌入式多媒体卡 (eMMC)》,上拉电阻器在 EMMCx_DATA[7:0] 和 EMMCx_CMD 上都是必需的。
  • EMMCx_DATA[7:0]/EMMCx_CMD 与 EMMCx_CLK 之间的偏差应在 50 ps 范围内。
    • 为实现最优性能,自适应 SoC 与 eMMC 器件之间的走线延迟应限制为 ~1 ns
  • 对于所有频率,确保满足 Versal 和 eMMC 器件的建立和保持时间要求。为了验证是否满足建立和保持时间要求,并确定最大工作频率,请参阅以下公式:
    • 定义:
      • Clock_Period = eMMC 接口时钟 EMMCx_CLK (1/FEMMCSCLK) 的时钟周期
      • TEMMCCKO max/min = Versal 自适应 SoC eMMC 时钟到输出延迟
      • TEMMCDCK = Versal 自适应 SoC eMMC 建立时间
      • TEMMCCKD = Versal 自适应 SoC eMMC 保持时间
      • CTO max/min(闪存)= 闪存器件时钟到输出延迟(请参阅 eMMC 器件数据手册)
      • Tsetup(闪存)= eMMC 器件建立时间(请参阅 eMMC 器件数据手册)
      • Thold(闪存)= eMMC 器件保持时间(请参阅 eMMC 器件数据手册)
      • Max_PCB_trace_delay = EMMCx_CLK、EMMCx_DATA[7:0] 之间的最大 PCB 走线延迟
      • Min_PCB_trace_delay = EMMCx_CLK、EMMCx_DATA[7:0] 之间的最小 PCB 走线延迟
    • 公式:
      • 写入:
        • eMMC 标准 DDR 模式:Tsetup(闪存)≤ Clock_Period/2 – TEMMCCKO max –(EMMCx_CLK PCB 走线延迟与最大 EMMCx_DATA[7:0] PCB 走线延迟之间的偏差)
        • 所有其他模式:Tsetup(闪存)≤ Clock_Period – TEMMCCKO max –(EMMCx_CLK PCB 走线延迟与最大 EMMCx_DATA[7:0] PCB 走线延迟之间的偏差)
        • Thold(闪存)≤ TEMMCCKO min –(EMMCx_CLK PCB 走线延迟与最小 EMMCx_DATA[7:0] PCB 走线延迟之间的偏差)
          注释: 请参阅本节项目符号列表第三项,以获取有关偏差准则的信息。
      • 读取(非 DLL 模式):
        • eMMC 标准模式:Tsetup (Versal 自适应 SoC) ≤ Clock_Period/2 – CTO max(闪存)+ 2 x Max_PCB_trace_delay
        • Thold(Versal 自适应 SoC) < CTO min(闪存)+ 2 x Min_PCB_trace_delay
        • 注释:两个公式中的 2X PCB 走线延迟表示往来闪存器件的往返时间
      • 对于 25 MHz 以上的频率(DLL 模式),由于 RX 时序,最大频率并非 PCB 走线延迟的函数。可以执行 RX 调谐仿真,以确保满足 Versal 和闪存器件的建立/保持时间要求。
  • 确保 PCB 上适当的信号完整性:
    • Versal 器件的近端或远端无反射
      • 30Ω 串联终端可以布局在 EMMCx_CLK、EMMCx_CMD 和 EMMC_DATA[7:0] 线路上,并尽可能靠近自适应 SoC 管脚。
        • 这是大多数建立时间的最佳选择
        • 通过仿真确保良好的信号完整性
    • 确保满足 Versal 与闪存器件的 VIH/VIL 和 VOH/VOL 电平要求。
    • 值可以在 Versal 自适应 SoC 数据手册的“PSIO 电平”章节中找到。
      • 务必为所使用的电压选择正确的电平(即 LVCMOS18、LVCMOS33)。

SD/SDIO

  • 根据 Versal 自适应 SoC 和 SD 芯片上使用的特定电压(例如针对 SD 3.0),可能需要电平移位器。
  • 异步信号 SDx_DETECT 和 SDx_WP 与 SDx_CLK 之间不存在时序关系。
  • SDx_DETECT 和 SDx_WP 线路均应通过各自的 4.7 kΩ 电阻上拉至 MIO 电压。使用 microSD 时,无需连接 SDx_WP 和 SDx_DETECT。
  • 对于具有方向管脚的电平移位器的 SD 卡侧的 SDx_DATA[3],应在其中添加 1 个 10 kΩ 上拉电阻器。
  • 使用自动定向电平移位器时,在电平移位器附近的 SDx_DATA[1]、SDx_DATA[2] 和 SDx_DATA[3] 线路处,应添加 15kΩ 上拉电阻器。
  • 使用自动定向电平移位器时,无需连接 SDx_DIR_CMD、SDx_DIR0 和 SDx_DIR1。
  • SDx_DATA[3:0]/SDx_CMD 与 SDx_CLK 之间的偏差应在 ±50 ps 范围内。
  • 为实现最优性能,自适应 SoC 与 SD 卡之间的走线延迟应限制为 1.0 ns。
  • 对于所有频率,确保满足 Versal 与 SD 器件的建立和保持时间要求。为了验证是否满足建立和保持时间要求,并确定最大工作频率,请参阅以下公式:
    • 定义:
      • Clock_Period = SD 接口时钟 SDx_CLK 的时钟周期
      • TSDCKO max/min = Versal 自适应 SoC SD 时钟到输出延迟
      • TSDDCK = Versal 自适应 SoC SD 建立时间
      • TSDCKD = Versal 自适应 SoC SD 保持时间
      • CTO_max/min(闪存)= 闪存器件时钟到输出延迟(请参阅 SD 器件数据手册)
      • Tsetup(闪存)= SD 器件建立时间(请参阅 SD 器件数据手册)
      • Thold(闪存)= SD 器件保持时间(请参阅 SD 器件数据手册)
      • Max_PCB_trace_delay = SDx_CLK、SDx_DATA[3:0] 之间的最大 PCB 走线延迟
      • Min_PCB_trace_delay = SDx_CLK、SDx_DATA[3:0] 之间的最小 PCB 走线延迟
      • SD_Level_Shifter_CLK_Propagation_delay_min/max = 通过电平移位器的时钟线的延迟
        • 其值可能因信号方向(即“主机到卡”和“卡到主机”)而异
      • SD_Level_Shifter_DATA_Propagation_delay_min/max = 通过电平移位器的最短/最长数据线的延迟
        • 其值可能因信号方向(即“主机到卡”和“卡到主机”)而异
      • SD_Level_Shifter_Propagation_delay_min/max = SDx_CLK、SDx_DATA[3:0] 之间的最小/最大电平移位器传输延迟
        • 其值可能因信号方向(即“主机到卡”和“卡到主机”)而异
    • 公式:
      • 写入:
        • SD 默认 DDR 模式:Tsetup(闪存)≤ Clock_Period/2 – TSDCKO max –(SDx_CLK PCB 走线延迟与最大 SDx_DATA[3:0] PCB 走线延迟之间的偏差)– SD_Level_Shifter_Propagation_delay_max
        • 所有其他模式:Tsetup(闪存)≤ Clock_Period – TSDCKO max –(SDx_CLK PCB 走线延迟与最大 SDx_DATA[3:0] PCB 走线延迟之间的偏差)– SD_Level_Shifter_Propagation_delay_max
        • Thold(闪存)≤ TSDCKO min –(SDx_CLK PCB 走线延迟与最小 SDx_DATA[3:0] PCB 走线延迟之间的偏差)– SD_Level_Shifter_Propagation_delay_min
          注释: 请参阅本节项目符号列表第七项,以获取有关偏差准则的信息。
      • 读取(非 DLL 模式):
        • SD 默认模式:TSDDCK ≤ Clock_Period/2 – CTOmax(闪存)– 2 x Max_PCB_trace_delay –(最大电平移位器延迟(卡到主机))– SD_Level_Shifter_Propagation_delay_max(主机到卡)
        • SDR12:TSDDCK ≤ Clock_Period – CTOmax(闪存)+ 2 x Max_PCB_trace_delay –(最大电平移位器延迟(卡到主机))– SD_Level_Shifter_Propagation_delay_max(主机到卡)
        • TSDCKD ≤ CTOmin(闪存)+ 2*Min_PCB_trace_delay + SD_Level_Shifter_Propagation_delay_min(卡到主机)+ SD_Level_Shifter_Propagation_delay_min(主机到卡)
          注释: 两个公式中的 2X PCB 走线延迟表示往来闪存器件的往返时间。
      • 对于 25 MHz 以上的频率(DLL 模式),由于 RX 时序,最大频率并非 PCB 走线延迟的函数。可以执行 RX 调谐仿真,以确保满足 Versal 和闪存器件的建立/保持时间要求。
  • 确保 PCB 上适当的信号完整性
    • Versal 器件的近端或远端无反射
      • 30Ω 串联终端可以布局在 SDx_CLK、SDx_CMD 和 SDx_DATA[3:0] 线路上,并尽可能靠近自适应 SoC 管脚。
        • 这是大多数建立时间的最佳选择
        • 通过仿真确保良好的信号完整性
    • 确保满足 Versal 与闪存器件的 VIH/VIL 和 VOH/VOL 电平要求
      • 值可以在 Versal 自适应 SoC 数据手册的“PSIO 电平”章节中找到。
        • 务必为所使用的电压选择正确的电平(即 LVCMOS18、LVCMOS33)。