S5PC100 DMAC简述

作者:赵孝强,华清远见嵌入式学院讲师。

DMA作为一种CPU与外设传输数据的技术,现在广泛用于各种计算机架构中,它最大的优点就是无需CPU干涉下,完成数据从内存到外设的传递。这一章就给读者讲解一下S5PC100中的DMA控制器的操作方法。

首先简单介绍下什么是DMAC,DMAC 是一个自适应先进的微控制器总线体系的控制器,它由ARM公司设计并基于PrimeCell技术标准,DMAC提供了一个AXI接口用来执行DMA传输,以及两个APB接口用来控制这个操作,DMAC在安全模式技术下用一个APB接口执行TrustZone技术,其他操作则在非安全模式下执行。DMAC包括了一个小型的指令集,用来提供一些灵活便捷的操作,为了缩小内存需求,DMAC则使用了变长指令。

不同于ARM11以及以前系列的芯片,S5PC100使用了基于PrimeCell技术标准的PL330(DMA控制器核心)有了很大的变化,从编程方式上看,它提供了灵活的子指令集,使得你有更多的组合方式用来操作DMA,从硬件上看,它实现了硬件上的多线程管理,一次编写代码即可让它正常的完成所需的工作,因此这一章的学习是有一定困难的。

下图给出DMAC接口框图:

S5PC100 DMAC简述_第1张图片

图12-1 DMAC接口框图

在S5PC100中,三星公司为安全考虑而加入了一套新的技术标准,即多加了一套安全模式,在安全模式下,处理核的寄存器是受到保护并且与非安全模式下是隔离开来的,这样在一般的外设接口都会涉及到两种模式,DMAC也不例外,但是这里我们只关注非安全模式。

S5PC100下DMAC模型

S5PC100 DMAC简述_第2张图片
图12-2 DMAC

AXI总线主机:

●DMAC以及一个ARM处理器

●一个AXI互联以及两个AMBA协议桥

●PrimeCell的从机:

●一个动态的内存控制器

●一个静态的内存控制器

●一个定时器

●一个GPIO 一个UART

1、特性

●DMAC提供了如下的特性:

●一个提供灵活编程接口的DMA指令集

●单个AXI主机接口控制DMA传输

●双APB从机接口下,同时提供基于安全以及非安全两套寄存器

●支持TrustZone技术

●支持多种传输类型

●内存至内存

●内存至外设

●外设至内存

●分散/聚集模式

●可配置的RTL,使得DMAC对于应用有着更佳的性能

●对于每个DMA通道都可以配置其安全模式

●使用中断输出信号用来发生多种DMA事件

2、 DMAC配置特点

●下面这些特性为DMAC的配置特性:

●AXI数据总线宽度

●AXI读处理活动的个数

●AXI写处理活动的个数

●同时的DMA通道个数

●内部数据缓冲的深度

●指令cache的行数,一行的字数

●读指令队列的深度

●写指令队列的深度

●外设请求接口的个数

●中断输出信号的个数

你可能感兴趣的:(S5PC100 DMAC简述)