DM8168EDMA3控制器详解:从CPLD/FPGA到ASIC设计的实践

需积分: 48 14 下载量 179 浏览量 更新于2024-08-09 收藏 1.09MB PDF 举报
"该文档是关于CPLD和FPGA以及ASIC设计实践教程中的一个章节,着重讲解了EDMA(Enhanced Direct Memory Access,增强型直接存储器访问)技术,特别是针对DM8168平台的EDMA3控制器。内容涵盖了EDMA3的基本功能、结构、特性以及在数据传输中的应用实例。" EDMA3是一种高级的直接存储器访问机制,主要用于设备之间的高效数据传输,减轻CPU负担。在DM8168平台上,EDMA3控制器由两个主要模块构成:EDMA3通道控制器(EDMA3CC)和EDMA3传输控制器(EDMA3TC)。EDMA3CC作为用户接口,处理软件请求和外设事件,管理优先级并发布传输请求给EDMA3TC,后者则负责实际的数据读写操作。 EDMA3通道控制器具有全正交传输描述,支持3维传输,并且可以在源和目的端有独立的索引。它还提供了灵活的传输定义,如增量或FIFO传输寻址模式,以及链接特征,允许基于事件的3-D传输。此外,它能产生多种中断,如传输完成和错误条件,并最多支持8个中断输出以适应多核系统。在调试方面,提供了队列水标和错误状态记录。 该控制器包含64个DMA通道和8个QDMA(Queue DMA)通道。DMA通道支持事件同步、人工同步和链接同步等多种同步方式,且通道与PaRAM(Parameter RAM,参数RAM)的映射可编程。QDMA通道则在写入PaRAM集入口后自动触发,同样支持映射功能。PaRAM集是EDMA3中用于存储传输配置信息的关键组成部分,最多可有512个。 在实际应用中,EDMA3广泛服务于软件驱动的数据传输,例如从外部内存到内部内存的页传输,以及服务事件驱动的外设,如串口通信。此外,它还有助于管理优先级,包括通道优先级、触发源优先级、去队列优先级和系统(传输控制器)优先级,确保高效的系统资源调度。 在设计实践中,理解EDMA3的工作原理和特性对于优化系统性能至关重要,尤其是在涉及大量数据传输的场合,如视频处理、网络通信和实时系统中。因此,本章节的详细内容不仅包括EDMA3的基础知识,还涵盖了其操作频率(时钟控制)、复位考虑和电源管理等实用话题,为工程师提供了全面的EDMA3应用指南。