【ARM CoreLink 系列 6 -- DMC-400控制器简介】

2023-10-09 08:36

本文主要是介绍【ARM CoreLink 系列 6 -- DMC-400控制器简介】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

    • 1.1 DMC-400 简介
      • 1.1.1 DFI(DDR PHY Interface)
      • 1.1.2 DFI 接口组
      • 1.1.3 DMC-400 兼容协议
      • 1.1.4 DMC-400 特性
      • 1.1.5 DMC-400 Interface

1.1 DMC-400 简介

DMC-400是一个由ARM开发、测试和授权的动态内存控制器,同时 DMC-400也是一个符合高级微控制器总线结构(AMBA)的片上系统(SoC)外设。它是一个高性能、区域优化的内存控制器,与 AMBA ACE-Lite 协议兼容。

它支持以下内存设备:

  • 双倍数据速率2(DDR2)同步动态随机存取存储器(SDRAM);

  • 低功耗双倍数据速率2(LPDDR2)-S2 SDRAM;

  • LPDDR2-S4 SDRAM;

  • 双倍数据速率3(DDR3)SDRAM;

  • 低电压 DDR3 SDRAM。

下面是 DMC-400 系统连接示例图:
在这里插入图片描述

DMC-400 实现了 SoC 和芯片外部 DRAM 设备之间的数据传输。它通过一个或多个 ACE-Lite 接口连接到片上系统。它通过其存储器接口块和 DFI 接口 连接到 DRAM 设备。

1.1.1 DFI(DDR PHY Interface)

现代电子系统设计中,经常将DDR内存接口分成内存控制逻辑(MC,Memory Controller)和物理层接口(PHY,Physical Interface)两个部分。这两个部分侧重点不同,往往需要不同的设计技巧和设计经验。

随着IP(intellectual property)厂商的发展,越来越多的工程师选择在设计中采用第三方的IP核,来加速项目进度。这就带了问题,由于MC和PHY两部分的设计者往往并不相同,为了能够实现两者之间的标准互联,需要一种 MC 与 PHY 之间的标准通信接口。而DFI就是这样的一种规范。DFI标准的提出旨在定义一个MC与PHY之间的通用接口,以提高独立模块(IP核等)的复用率,进而降低成本,缩减项目周期。

一般来说,DRAM 是一个焊接在 PCB 上的独立芯片,CPU 向 MC 发出读写命令时,其中的地址使用的是逻辑地址,MC 再将逻辑地址转换为物理地址后向 PHY 发出,MC 与 PHY 之间采用标准化接口 DFI 进行通信,PHY 将 MC 的命令转换为具体的底层信号,驱动 DRAM 的物理 IO 接口。

1.1.2 DFI 接口组

DFI 接口组共有:

  • Command(发送地址命令),
  • write data,
  • read data,
  • updata(请求更新,启动dfi总线idle),
  • status(系统初始化,Feature支持与否, mc给到dram的时钟有效性),
  • phy master(phy 请求控制dfi总线,发起主动能力),
  • Disconnect(传输过程中允许握手打断),
  • error(事务中的错误信息传递给MC),
  • 2N mode(将dram的传输速度减速),
  • Low Power Control(PHY 进入低功耗功能),
  • MC TO PHY MESSAGE(将定义的信息内容从mc传递到phy),
  • WCK Control(控制DRAM 用的WCK时钟开关是否toggle, 以及 同步计时功能)。

DFI 中定义的信号,都是由寄存器配置完,在时钟上升沿驱动起来的。dfi bus上执行命令的时候, 相关时序参数必须一致保持。必要的时候, 比如 频率改变, bus 执行到 idle状态等, 时序参数也可改变。

1.1.3 DMC-400 兼容协议

它实现了与以下协议的兼容:

  • ACE-Lite协议;

  • AMBA3 APB协议;

  • JEDEC LPDDR2 JESD209-2标准;

  • JEDEC DDR3 JESD79-3D标准;

  • JEDEC DDR2 JESD79-2E标准;

  • DFI v2.1.1规范。

1.1.4 DMC-400 特性

DMC-400有以下特性:

  • 可在 Verilog 中使用的软宏单元;

  • 可配置的硬件,支持面积和性能优化;

  • 多个ACE-Lite系统接口;

  • 多个未完成的交易;

  • 系统服务质量(QoS)和请求仲裁,以实现低延迟传输和内存带宽的最佳利用;

  • 对交易障碍的保护;

  • ACE-Lite系统接口的可配置位宽;

  • 独立的读接受能力和写接受能力

  • AMBA ACE-Lite独占访问传输

  • ACE-Lite和APB接口之间的同步 n:1 时钟连接;

  • 多个内存接口(multiple memory interfaces);

  • 优化使用外部存储器总线(optimal use of the external memory bus);

  • DRAM省电(DRAM power saving);

  • 可编程的外部存储器宽度(programmable external memory width);

  • 每个内存接口的可配置的内存芯片选择数量;

  • 用于64位和32位SDRAM的内存纠错码(ECC);

  • 使用 DFI 2.1.1接口的物理层(PHY)接口。

1.1.5 DMC-400 Interface

The DMC-400 provides the following interfaces:
• APB3 interface
• ACE-Lite interface
• PHY interface
• Clocks and resets
• Debug and profile interface
• Hardware power control interface(s)
在这里插入图片描述

推荐阅读
https://zhuanlan.zhihu.com/p/514892042

这篇关于【ARM CoreLink 系列 6 -- DMC-400控制器简介】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring Security 从入门到进阶系列教程

Spring Security 入门系列 《保护 Web 应用的安全》 《Spring-Security-入门(一):登录与退出》 《Spring-Security-入门(二):基于数据库验证》 《Spring-Security-入门(三):密码加密》 《Spring-Security-入门(四):自定义-Filter》 《Spring-Security-入门(五):在 Sprin

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

【生成模型系列(初级)】嵌入(Embedding)方程——自然语言处理的数学灵魂【通俗理解】

【通俗理解】嵌入(Embedding)方程——自然语言处理的数学灵魂 关键词提炼 #嵌入方程 #自然语言处理 #词向量 #机器学习 #神经网络 #向量空间模型 #Siri #Google翻译 #AlexNet 第一节:嵌入方程的类比与核心概念【尽可能通俗】 嵌入方程可以被看作是自然语言处理中的“翻译机”,它将文本中的单词或短语转换成计算机能够理解的数学形式,即向量。 正如翻译机将一种语言

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

Java基础回顾系列-第七天-高级编程之IO

Java基础回顾系列-第七天-高级编程之IO 文件操作字节流与字符流OutputStream字节输出流FileOutputStream InputStream字节输入流FileInputStream Writer字符输出流FileWriter Reader字符输入流字节流与字符流的区别转换流InputStreamReaderOutputStreamWriter 文件复制 字符编码内存操作流(