3394|0

1万

帖子

25

TA的资源

裸片初长成(高级)

楼主
 

ADuCM360的DMA [复制链接]

ADuCM360的DMA
ADuCM360的DMA,有12个专用通道,每个外设均有自己的可编程优先级的DMA通道,这样对数据交换提供了很大的方便。
DMA根据目的寄存器(存储器)的特点,可以灵活使用字节、半字、字的传输宽度。
DMA控制器支持外设至存储器、存储器至外设、存储器至存储器的数据传输。当处理器与DMA有相同的目的地址时,处理器将暂停一些对系统总线的控制周期。每一通道有各自的中断控制
DMA通道的优先级,由通道号及优先等级决定,每个通道都可以由DMAPRISET寄存器设置为约定优先级及高优先级。同一优先级,通道号越低,优先级越高。
. DMA Channel Assignment
  
Channel
  
Peripheral
0
SPI1 Tx
1
SPI1 Rx
2
UART Tx
3
UART Rx
4
I2C slave Tx
5
I2C slave Rx
6
I2C master Tx
7
I2C master Rx
8
DAC DMA output
9
ADC0
10
ADC1
11
SINC2  output/step detection
DMA通道控制数据结构,每通道都有原始数据结构及交替数据结构。对于简单传输模式及复合数据传输模式 ,均可使用原始的及交替数据结构。每个数据结构在内在中占居4 x 32bit存储空间,
. Channel Control Data Structure
  
Offset
  
Name
Description
0x00
SRC_END_PTR
Source end pointer
0x04
DST_END_PTR
Destination end pointer
0x08
CHNL_CFG
Control data configuration
0x0C
Reserved
Reserved
控制数据配置:
在CHNL_CFG寄存器中,可对DMA传输时的一些参数进行设置。如源及目的地址的增量、数据大小、控制数据结构、传输类型等
DMA传输类型
CHNL_CFG寄存器的最低三个决定传输类型。
1、无效型 (CHNL_CFG[2:0] = 000)。代表DMA通道没有允许。如果DMA传输结束后,就会置通道无效,以阻止重复相同的传输。
2、基本型(CHNL_ CFG[2:0] = 001)。DMA控制器可以配置为原始数据结构及交替数据结构。
3、自动请求型(CHNL_CFG[2:0] = 010)。它对控制器收到单一的请求时使用,对于象存储器拷贝时特别有用。它不用于外围的DMA传输。
4、乒乓传输(Ping-Pong (CHNL_CFG[2:0] = 011))。乒乓传输时,控制器使用一种数据结构传输,然后切换到另一种数据结构。这种类型很适用于外围到不同缓冲区的内存中。
5、存储器分散收集型(Memory Scatter-Gather (CHNL_CFG[2:0] =100 or 101))。这种类型,控制器必须设置成使用两种(primary andalternate data structures)数据结构。
6、外围分散收集型(Peripheral Scatter-Gather (CHNL_CFG[2:0] = 110 or 111))
地址计算
DMA控制器计算源地址,是基于SRC_END_PTR内容、源地址增量设置CHNL_CFG,及N_MINUS_1 (CHNL_CFG[13:4])的当前值。
同样地,目的地址的计算是基于DST_END_PTR的内容、目的地址增量CHNL_CFG以及N_MINUS_1 (CHNL_CFG[13:4])的当前值。
源地址 = SRC_END_PTR −(N_MINUS_1 << (SRC_INC))
---       SRC_INC = 0,1, 2
源地址 = SRC_END_PTR
----  SRC_INC = 3
目的地址 = DST_END_PTR −(N_MINUS_1 << (DST_INC))
---  DST_INC = 0, 1, 2
目的地址 = DST_END_PTR
---- DST_INC = 3
DMA寄存器及其配置


[ 本帖最后由 dontium 于 2013-5-24 16:23 编辑 ]
点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条
电源解决方案和技术 | DigiKey 应用探索站
当月好物、电源技术资源、特色活动、DigiKey在线实用工具,干货多多~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表