摘要:在分析传统DMA控制器结构的基础上,针对实时图象处理系统的数据传输要求,提出了多端口模块设计、增加RoundRobin通道优先级仲裁算法和优化数据传输通道等优化方法,以提高数据传输速度,并改进了地址产生模式来满足图像算法的要求。
数字图像处理是嵌入式系统最为广泛的应用之一。目前,数字图像处理技术无论在科学研究、工业生产或管理部门中都得到越来越多的应用。而目标跟踪、机器人导航、自动驾驶、交通监视等应用也极大地促进了实时图像处理技术的发展。
数字图像处理的特点是数据量大、运算复杂、实时性强。通常,数据量往往大于片内的存储容量,对于片内存储资源有限的处理系统来说,一般需要借用外部存储空间。为了提高系统的实时处理能力,必须在片内高速存储区和外部存储空间之间使用直接存储方式(DMA)进行数据交换,从而使处理器只专注于数据的计算。
1传统DMA控制器的设计和分析
1.1DMA控制器的模块结构
DMA控制器一般具有如下功能:在不同的存储介质之间实现快速数据传输;独立于处理器进行高速数据交换;提供多个DMA通道以提高数据传输的并行度;支持数据爆发传输模式;具有通道优先级可编程的仲裁机制。
图1是DMA控制器的模块框图。从图中可以看出,DMA控制器主要由以下几个模块组成:
图1DMA控制器的模块图
(1)寄存器控制模块:为软件程序员提供可编程接口,以控制DMA的工作状态;根据各配置位的不同设置,控制各DMA通道和各端口的工作状态。
(2)通道控制模块:DMA控制器中有6个可以独立工作的DMA通道,根据相应控制寄存器的配置位提出DMA申请,通过端口模块访问存储介质。
(3)端口控制模块:它是DMA控制器与存储介质之间的接口模块,提供访问存储介质的地址、数据和控制信号线。
(4)FIFO控制模块:DMA控制器中共有6个32字节的缓存队列,分别为每个通道所占用,在爆发式的传输中,可以缓存慢速存储设备中的数据,从而提高DMA控制器的传输速度。
(5)通道优先级仲裁模块:当多个DMA通道同时提出DMA申请时,需要进行通道的优先级仲裁,在这里使用硬件优先级仲裁。
此外,还有中断和事件响应模块,用以保证DMA的实时传输。
1.2传统DMA在实时图像处理应用中的局限
首先,在传统的DMA设计中,端口模块只采用一组数据线、地址线和控制线,连接DMA需要连接的所有存储介质;并且当多个通道需要同时占用数据线、地址线和控制线时,只采用硬件优先级仲裁的方式来处理。这样,对于大量DMA应用的实时图像处理系统,DMA的传输效率并不高,影响了整个系统的图像处理效果。所以,需要对DMA的端口模块和优先级仲裁模块做一些改进,以便有效地改善DMA的数据传输速率。而且,DMA的数据传输路径也可以改进。
其次,图像数据本身的一些格式特点和所要求的图像处理算法决定了一个实时图像处理系统中的数据传输并不是一种简单的数据传输,而是要求DMA的数据传输同时具有矩阵传输、翻转传输等功能,来加快图像处理的速度和满足一些图像处理算法的要求。而普通DMA的地址产生模块并没有这样的设计。
技术专区
- Alexa语音服务软件扩展STM32Cube
- 结合DNN API驱动未来神经网络应用的解决方案
- 针对于高端移动通信和汽车市场的四集群设计
- 一款基于帧捕捉的开源图形调试器应用设计
- 即将成为标准配置的最新安全技术:后视摄像系统