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接口框图:

图12-1 DMAC接口框图

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

S5PC100下DMAC模型


图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的行数,一行的字数

●读指令队列的深度

●写指令队列的深度

●外设请求接口的个数

●中断输出信号的个数

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值