近期在进行emmc数据读写程序调试时,逼迫自己从一个时序小白跨进了时序约束的大门,这里记录一下供大家学习参考。 需求 emmc hs200模式下,允许最高时钟频率为200M。其中emmc和FPGA之间的引脚有单向EMMC_CLK,双向CMD和DATA[7:0]。根据emmc手册,要求建立时间为1.4ns,保持时间为0.8ns。EMMC_CLK是FPGA提供给emmc的,因此...
首先在硬件设计上为了让HS200与HS400模式兼容,要给emmc 进行1.8V供电,连接 DS 引脚,原理图如下: HPM6750 对应IO部分进行1.8V供电 程序上,参考下图时序进行配置: 在board.h 文件中开启 emmc 1.8v 电压支持,关闭 SD卡检测引脚,配置如下:(注:该配置方式只适合sdk1.3.0版本) pinmux.c 文件补充不完整的8个数据...
对应kernel中host的MMC_TIMING_UHS_DDR50时序。 --HS200 mode 单边采样(SDR),支持1.8V/1.2V的信号电压,总线宽度支持4、8bit模式。 最大频率支持到200Mhz 对应kernel中host的MMC_TIMING_MMC_HS200时序。 --HS400 mode 双边采样(DDR),支持1.8V/1.2V的信号电压,总线宽度支持8bit模式。 最大频率支持到200Mhz。
DS时钟:DS时钟由eMMC发送给Host,用于Host与eMMC进行数据接收同步。只有在HS400模式下,才需要使用DS引脚。 注意:HS200模式下,需要使用CLK、CMD、D[3...0];HS400模式下,需要使用CLK、CMD、D[7...0]、DS。 数据信号引脚 D[7...0]:Dx信号主要用于 Host 和 eMMC 之间的数据传输。在 eMMC 上电或者软复位后...
6.5.1 HS200 模式下的采样tuning 序列。 当EMMC切换到HS200模式时,host可以通过采样tuning 序列来补偿由于不同的硅工艺、PCB负载、电压、温度和其他因素引起的时序变化。tuning过程的采用的时钟频率和实现方式取决于host系统的实现方式。 根据host命令,EMMC在128 个时钟周期内,分别在4位或8位的数据传输模式下,向host...
eMMC 里 DDR52 HS200 HS400 这些名词指的是不同的速度 DDR52就是最高 52M clock,数据速率就是 52 x 2 = 104 HS200 就是最高 200M clock,单通道,数据速率也是 200 HS400 也是最高 200M clock,但是是双通道,所以数据速率是 200 x 2 = 400 ...
- Data transfer rate: up to 400 MB/s (HS 400) - MMC I/F Clock frequency: 0~ 200 MHz 1.2 时间界定 关于时间起点和终点,参考《FlexSPI NOR启动时间》里的1.2节,虽然此次测试用得是客户板卡,但是时间起点我们只需要选好 POR_B 测量点即可。
因此,我决定分享我的学习经验和实践例程,帮助大家更好地掌握eMMC驱动的编写,聚焦于实际应用,同时避免一些常见的误区。本指南基于JESD84-B50手册,即eMMC5.0标准,同时也适用于最新的eMMC5.1版本,其支持的高速模式包括HS200和HS400。 二、eMMC核心功能解析 (1) eMMC接口概述...
本例基于JESD84-B50手册进行学习,也就是eMMC5.0,目前最新的好像是eMMC5.1,但差距应该不大。该版本支持高速,HS200和HS400。 最终实现 驱动 支持 高速,HS200和HS400三种模式 需要手册可以关注 FPGA之旅 回复 JESD84-B50手册 获取 回复eMMC代码V1 获取完整工程,目前支持高速和HS200.HS400有点问题,可能是我PCB的问...
DataStrobe:这是数据的锁存线,它主要用于eMMC5.0提出的HS400模式下,设备要锁存输出信号。 eMMC5.0协议是向之前版本的协议兼容,在速度方面是兼容低速度模式。 eMMC5.0协议规定了5种总线数据模式,前三种速度模式可以兼容协议4.5版本之前的协议,后面两种可以支持HS200和HS400模式,本文系统设计的时候没有设计到,也不进行具...