作者:帮家丶韩少--力顶7752 | 来源:互联网 | 2023-10-11 15:25
DMA的应用场景较为广泛,其源地址和目的地址可以是我们的RAM,也可以是我们的外设寄存器,如各种FIFO寄存器或者结构寄存器。本文主要介绍DMA的一种使用场景,将GTM的TIM通道
DMA的应用场景较为广泛, 其源地址和目的地址可以是我们的RAM, 也可以是我们的外设寄存器, 如各种FIFO寄存器或者结构寄存器。
本文主要介绍DMA的一种使用场景, 将GTM的TIM通道的FIFO数据通过DMA搬运到RAM中进行处理。
基本功能
客户在汽车软件开发过程中经常会遇到需要实时采集PWM信号(边沿时刻和个数)的情况,本文就是基于该应用场景介绍DMA在其中的实际应用。利用AURIX™强大的GTM_TIM模块可以实现对各种复杂的PWM输入信号的捕获,采集其边沿触发时刻,并对边沿个数进行计数。出于降低CPU负荷的角度考虑,采用DMA对TIM中的FIFO数据进行实时搬运, 供软件进行处理。
配置方法
开发环境
1、开发板布置
Board A用于产生PWM的输入信号。
Board B用于实际工作的ECU对PWM信号的处理, TIM0 Channel(采用P0.9), DMA通道选择DMA Channel 60, 使用的MCU为TC277TP, 黄色的导线是GND, 对两个开发板进行工地, 灰色的线是PWM的信号线。