aurix中DMA使用

原创 2015年07月06日 19:40:23

首先请注意:DMA的源/目标地址必须是64位对齐
这里写图片描述
DMA就是从数据源到DMA控制器,再从DMA控制器到目标源。
DMA硬件请求包括自身的请求或其他的DMA请求通道。
DMA控制器主要由这三部分组成:DMA channel 、 move engine 、 bus switch
设置DMA通道,DMA shadow reg的作用是体现在link DMA使用的时候,指定Shadow Addr,等上一段搬完后,能自动把shadow addr赋值到源或者目标地址,开始搬运下一段。
DMA通道请求控制
这里写图片描述
然而触发dma请求,可以通过硬件或软件
硬件可以由ICU中断单元触发,硬件请求通过TSRz.HTRE.使能或不使能,需要dma转化后,软件reset该位。
软件请求则是直接设置 CHCSRz.SCH位

软件操作模式:
这里写图片描述
软件操作时通过TSRz.HTRE位不使用硬件操作。
硬件操作模式:
ICU中断触发,TSRz.ECH位需要使能硬件模式。
如果要使用硬件中断请求DMA,一定要注意中,中断优先级SRPN的设置!原话
这里写图片描述
说白了,也就是外设的中断如果是向DMA请求,则设置中断优先级一定要等于待处理的DMA的通道ID号,如果不一致,这触发不了该DMA的通道工作。
还有就是,如果要使用硬件中断控制DMA,进行DMA配置的部分一定要在enable interrupt之前。

下面则详细说一下DMA整个控制顺序,如下:
这里写图片描述
Pending的通道通过DMA仲裁后,选择优先级高的active,给move engine去搬运,其中搬运的时候经过SRI总线,有bus switch来转换。
这里写图片描述
其中在bus switch这里的优先级已经确定,Cerberus是作为bus switch的看门狗
这里写图片描述
这是在SRI中优先级,然而对于move engine访问spb资源,则move engine 的优先级则需要设置:
这里写图片描述

google tag manager(GTM)常用的基础模块

GTM包含很多的内容,但参考了其他大牛的例子,常用的基础模块有这些 1.变量 第一方Cookie http引荐来源网址 对照表 常量 自定义js 网址 javascript变量 ...
  • dulinanaaa
  • dulinanaaa
  • 2017年04月14日 16:50
  • 569

aurix中AD采样

ADC的频率也是连接SPB频率的。 AD转换过程通过background 请求、Timer单元请求、外部请求三种来请求AD转换。如下: 而来自Backgroud的请求,只能是在没有任何...
  • garycp2031
  • garycp2031
  • 2015年07月06日 21:16
  • 1093

aurix编译环境

aurix作为infineon全新系列的32位单片机,采用tricore架构,相对价格低廉,打算广泛应用在汽车、工业等领域。 目前infineon也在从audo系列逐渐往aurix系列进行转变。 ...
  • garycp2031
  • garycp2031
  • 2015年05月29日 19:56
  • 1214

AURIX系列GTM模块中的PWM部分

在AURIX中的GTM 模块是一种普遍时钟模块,它是作为一种可以随意配置的时钟模块。时钟基于AURIX中的CCU(时钟和时钟控制单元)提供时钟源,实际上所有的外设都是通过这个来提供时钟呢。 同时...
  • garycp2031
  • garycp2031
  • 2015年06月02日 20:13
  • 1172

用GTM中的TIM实现捕获

尝试用TIM实现capture捕获功能。 TIM作为输入模块,每个TIM有8个通道,在捕获处理前有滤波模块,如下: 关于输入源可以选择: 其中AUX_IN(x)是I/O复用模式,GT...
  • garycp2031
  • garycp2031
  • 2015年06月23日 20:25
  • 496

s5pv210 datasheet_system_DMA

1 DMA CONTROLLER 1.1 OVERVIEW OF DMA CONTROLLER S5PV210 supports two Direct Memory Access (DMA) to...
  • qq_18973645
  • qq_18973645
  • 2016年05月17日 08:04
  • 185

STM32之SPI从机DMA例程

#include "stm32f10x.h" /* RCC时钟配置 */ void RCC_config(void) {  ErrorStatus HSEStartUpStatus; ...
  • lushoumin
  • lushoumin
  • 2018年01月06日 02:10
  • 59

dma使用

1. DMA : 直接存储访问. 在不带MPU或者DSP的情况下,外设和内存之间高性能数据传输. 2. 一个DMA传输器可以通过一个逻辑DMA通道来编程, 以适应应用需求. 3. 专用DMA控制器...
  • joans123
  • joans123
  • 2012年04月11日 13:50
  • 4206

aurix中mutlican的使用

mutlican的整体架构 TC23x中有三个node,连出来就是三对收发,在通过连接内部的Message object,最多128个。每个node可以共享这128个Message object...
  • garycp2031
  • garycp2031
  • 2015年07月07日 20:40
  • 393

Linux内核中DMA分析

 DMA---直接内存访问 用来在设备内存与主存RAM之间直接进行数据交换,这个过程无需CPU干预, 对于系统中有大量数据交换的设备而言,如果能够充分利用DMA特性,可以大大提高系统性能。 ...
  • jun_8018
  • jun_8018
  • 2017年09月04日 20:39
  • 160
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:aurix中DMA使用
举报原因:
原因补充:

(最多只允许输入30个字)