DM8168EDMA3: EDMA3控制器详解与应用实践
需积分: 48 164 浏览量
更新于2024-08-09
收藏 1.09MB PDF 举报
"外设服务例子-cpld和fpga与asic设计实践教程"
这篇教程主要关注的是在外设服务中如何利用EDMA(Embedded DMA)技术,特别是针对DM8168平台上的EDMA3控制器。EDMA(嵌入式直接存储器访问)是一种高效的、自动化的数据传输机制,它可以减轻CPU的负担,处理大量数据传输任务,特别是在实时系统和多处理器环境中。
1. EDMA3控制器介绍
- EDMA3控制器由两个主要模块构成:EDMA3通道控制器(EDMA3CC)和EDMA3传输控制器(EDMA3TC)。EDMA3CC处理软件请求和外设事件,管理优先级并触发传输请求。而EDMA3TC则负责实际的数据传输,执行读写操作,对用户透明。
2. EDMA3特征
- 全正交传输:支持3维传输,包括A-同步和AB-同步,源和目的有独立索引,可以链接多个传输。
- 灵活的传输定义:提供增量或FIFO寻址模式,支持自动更新PaRAM集和基于事件的多次传输。
- 中断生成:包括传输完成、错误条件等,最多8个中断输出,适配多核环境。
- Debug支持:提供队列水标、错误和状态记录,便于调试。
- 频道数量:包括64个DMA通道和8个QDMA通道,支持事件、人工和链接同步,以及可编程的通道与PaRAM映射。
- PaRAM集:512个PaRAM集,用于存储传输配置信息。
3. 实践应用例子
- 块搬移例子:可能涉及到内存到内存的数据移动,如从DDR2外部内存到片上DSPL2SRAM。
- 子帧获取例子:可能是指从某个数据流中提取特定子集的过程。
- 数据排序例子:可能使用EDMA进行高效的数据排序操作,如快速排序或归并排序。
- 外设服务例子:例如,EDMA可以用来服务串口通信,自动接收或发送数据,减少CPU参与。
4. EMDA3寄存器
- 包括EDMA3CC和EDMA3TC的控制寄存器,用于配置和管理EDMA3控制器的行为。
5. 调试检查列表和多功能编程/调试提示
- 提供了详细的调试步骤和优化建议,帮助开发者解决在设计和实现过程中遇到的问题。
6. 设置一次传输
- 这部分可能涵盖了启动一次EDMA传输的详细过程,包括设置源、目标地址,配置传输参数,启动传输等。
通过这个教程,读者将能够深入理解如何利用EDMA3技术来设计高效的数据传输解决方案,并且能够熟练地配置和调试EDMA3控制器,以适应各种复杂的系统需求。无论是CPLD、FPGA还是ASIC设计,了解和掌握EDMA3的使用都是提升系统性能的关键。
617 浏览量
2009-06-24 上传
2024-03-13 上传
点击了解资源详情
点击了解资源详情
2024-03-13 上传
2022-10-27 上传
2020-07-10 上传
150 浏览量
啊宇哥哥
- 粉丝: 35
- 资源: 3862
最新资源
- teacheruz:乌兹别克斯坦地方大学的学生管理系统
- dbdot:为postgres db模式生成DOT描述
- facebook-rockin-最佳自动化-selenium-scrape-no-api-tool-bot-machine-made-to-destroy-facebook:Facebook自动化:登录,喜欢,共享,评论,发布,删除。 包含视频“实际中”。 目的主要是通过在Fakebook平台中填充垃圾内容来破坏Fakebook平台(例如,当您决定离开所有这些Fcking平台时,在其中自杀)。 请安装,测试并提交您自己的改进和功能! 谢谢!
- Trigger
- 意法半导体ST_LinkV2.7z
- banking_app_angular
- kiosk_system_rpi3:Raspberry Pi 3的Nerves QtWebEngine信息亭系统
- Tribeca
- springboot-guide:Not only Spring Boot but also important knowledge of Spring(不只是SpringBoot还有Spring重要知识点)
- maven及其maven本地仓库
- SecretSanta2020:秘密圣诞老人游戏Jam 2020的游戏
- WWH21:我的winterwonderhack2021项目
- assertj-bean-validation:Bean验证的AssertJ扩展
- pytesseract:Google Tesseract的Python包装器
- FifaOnline4Api
- Triadxs