主题中讨论的其他器件: AM4376
您好专家团队。
我们有两个基于 AM3351和 AM4376 CPU 的开发平台。 这两个平台都有一个与 JEDEC 兼容的 eMMC、此 eMMC 被连接至 CPU 的 MMC 接口。 目前、我们在理解 MMC 总线的时序和系统行为方面存在一些问题。
对于这两种平台、MMC 总线在 CPU@OPP100的情况下以48MHz 的频率运行。 相关时序参数(从数据表中获取)如下:
| PCB | |
| 信号延迟: | 320ps (近似值) |
| eMMC (符合 JEDEC 标准) | |
| 最低设置要求: | 3ns |
| 最低保持要求: | 3ns |
| 输出延迟(最小/最大): | 2.5 ns/13、7 ns |
| AM3351 | |
| 最低设置要求: | 4、1 ns |
| 最低保持要求: | 3、76 ns |
| 标准模式下的输出延迟(最小/最大): | -4ns/14ns |
| 高速模式下的输出延迟(最小/最大): | 3ns/14ns |
| AM4376 | |
| 最低设置要求: | 4、1 ns |
| 最低保持要求: | 3、76 ns |
| 标准模式下的输出延迟(最小/最大): | -7、4ns/4、4ns |
| 高速模式下的输出延迟(最小/最大): | 0.8ns/7.4ns |
输入时序
对于输入时序、数据在时钟信号的上升沿输出和采样。 由于两种 CPU 类型的设置和保持要求相等、因此设置和保持裕度可按如下方式计算:
设置裕度:[MMC 时钟周期]–[eMMC 最大值 输出延迟]–[CPU 保持要求]–[2 x PCB 信号延迟]=
对于 AM3351/AM4376:20、83ns–13、7ns–4、1ns–0、64ns = 2、39ns
保持裕度:[eMMC 最小输出延迟]+[2 x PCB 信号延迟]=
对于 AM3351/AM4376: 2.5ns + 0.64ns = 3、14ns
输出时序(标准模式)
在标准模式下、CPU 在一个时钟周期的下降边沿上改变数据。 eMMC 在上升沿对数据进行采样。
设置裕度:[MMC 时钟周期/2]–[CPU 最大值 输出延迟]–[eMMC 设置要求]=
对于 AM3351:10、415ns–14ns–3ns =-6、515ns
对于 AM4376:10、415ns–4、4ns–3ns = 3、015 ns
保持裕度:[MMC 时钟周期/2]+[CPU 最小输出延迟]–[eMMC 保持要求]=
对于 AM3351:10、415ns +(-4ns)–3ns = 3、415ns
对于 AM4376:10、415ns +(-7、4ns)–3ns = 0、015ns
输出时序(高速模式)
在高速模式下、CPU 在一个时钟周期的上升沿上改变数据。 eMMC 也会在上升沿对数据进行采样。
设置裕度:[MMC 时钟周期]–[CPU 最大值 输出延迟]–[eMMC 设置要求]=
对于 AM3351:20、83ns–14ns–3ns = 3、83ns
对于 AM4376:20、83ns–4、4ns–3ns = 13、43ns
保持裕度:[MMC 时钟周期]+[CPU 最小输出延迟]–[eMMC 保持要求]=
对于 AM3351:3ns–3ns = 0ns
对于 AM4376:0、8–3ns =-2、2ns
结论
输入时序为两个 CPU 平台提供足够的裕量。
输出时序取决于运行模式(HSPE 位的设置):对于 AM3351、只有高速模式(HSPE = 1)提供足够的裕量。 对于 AM4376、只有标准模式(HSPE = 0)提供足够的裕量。
您是否同意上述时序分析和最终结论?
令人惊讶的是、AM3351也在标准模式下运行、而不会出现任何访问错误。 我们对此非常困惑、因为违反了设置要求。 你有什么想法吗、为什么?
提前感谢您、致以诚挚的问候
Stefan