DMA的应用场景较为广泛, 其源地址和目的地址可以是我们的RAM, 也可以是我们的外设寄存器, 如各种FIFO寄存器或者结构寄存器。

本文主要介绍DMA的一种使用场景, 将GTM的TIM通道的FIFO数据通过DMA搬运到RAM中进行处理。

基本功能

客户在汽车软件开发过程中经常会遇到需要实时采集PWM信号(边沿时刻和个数)的情况,本文就是基于该应用场景介绍DMA在其中的实际应用。利用AURIX™强大的GTM_TIM模块可以实现对各种复杂的PWM输入信号的捕获,采集其边沿触发时刻,并对边沿个数进行计数。出于降低CPU负荷的角度考虑,采用DMA对TIM中的FIFO数据进行实时搬运, 供软件进行处理。

配置方法

  • 利用GTM的某个TIM通道对PWM输入信号进行采集, TIM Channel工作在TPWM模块,相应的时间戳存储在GPR0和GPR1寄存器当中,边沿的Counter信息存储在GPR0和GPR1的ECNT bits当中(ECNT的数据存储范围是0-255)。

  • 通过DMA对该通道的GPR0和GPR1中的数据进行搬运, 存储到固定的RAM空间(某个数组当中)。

开发环境

1、开发板布置

Board A用于产生PWM的输入信号。

Board B用于实际工作的ECU对PWM信号的处理, TIM0 Channel(采用P0.9), DMA通道选择DMA Channel 60, 使用的MCU为TC277TP, 黄色的导线是GND, 对两个开发板进行工地, 灰色的线是PWM的信号线。

AUTOSAR从入门到精通100讲(131)-AURIX中DMA模块对TIM的FIFO数据搬运相关推荐

  1. AUTOSAR从入门到精通100讲(八十一)-AUTOSAR基础篇之FiM

    前言 你清楚以下几个问题吗? 当系统发生故障时,系统应该怎样做出反应呢? 如何实现当故障发生时,系统做出相应的可预知行为呢? 我们经常讲的系统降级跟FiM到底是什么关系? FiM与其他基础软件模块是如 ...

  2. AUTOSAR从入门到精通100讲(125)-详解车载网络 OTA系统的开发

    01 系统功能设计 OTA 系统功能示意如图1示,系统包含网关. 智能天线.车用防火墙. ADAS 摄像头. ADAS 域控制器. 座舱域控制器.以及 OTA 平台. OTA 平台端具备车辆管理.车型 ...

  3. AUTOSAR从入门到精通100讲(三十三)-AutoSar架构中的诊断事件管理

    Dem在AutoSar架构中的角色和位置 Dem(Diagnostic Event Manager)诊断事件管理,属于Autosar BSW(Basic Software)中的系统服务,在整个架构中所 ...

  4. AUTOSAR从入门到精通100讲(二十)-特斯拉、高通、华为AI处理器深度分析

    很多人会问,为什么没有英伟达?目前所有主流深度学习运算主流框架后端都是英伟达的CUDA,包括TensorFlow.Caffe.Caffe2.PyTorch.mxnet.PaddlePaddle,CUD ...

  5. AUTOSAR从入门到精通100讲(二十)-AUTOSAR通信篇—CanIf模块

    1  位置和作用 如图1所示,CAN接口模块(下文简"CanIf")位于底层CAN驱动(CanDrv).CAN收发器(CanTrcv)和上层通信服务层(CanSm.CanNm).C ...

  6. AUTOSAR从入门到精通100讲(二十一)-AUTOSAR通信篇—IpduM模块

    1  位置和作用                  图1  IpduM在BSW通信中的位置 从图1可以看出,在AUTOSAR分层架构中,IpduM靠近PDUR,且两者处于同一层. I-PDU多路复用意 ...

  7. AUTOSAR从入门到精通100讲(二十二)-AUTOSAR通信篇—CANTP模块

    1  CANTP的位置和作用 CanTp是PduR和CANIf模块之间的模块,如图1所示.CANTp模块的主要作用是对CAN I-PDU进行分段和重新组装,使得I-PDU的长度不大于8个字节,对CAN ...

  8. AUTOSAR从入门到精通100讲(二十四)-AUTOSAR通信篇—AUTOSAR COM模块

    AUTOSAR COM是AUTOSAR通讯的重要组成部分,它是从OSEK COM标准的基础上发展而来的.它提出了一个不同速率的总线网络之间进行数据交换的方法,为汽车控制单元应用软件提供了统一的通信环境 ...

  9. AUTOSAR从入门到精通100讲(二十三)-AUTOSAR通信篇—PduR模块

    今天介绍COM的下层模块:PduR-协议数据单元路由. 1   PduR的位置和作用 PDU Router(下文简称"PduR")模块位于AUTOSAR通讯架构的中间位置,其上层主 ...

最新文章

  1. 【通俗理解线性代数】 -- 矩阵与空间的基和坐标
  2. MYSQL的初级使用
  3. 百度小程序--支付功能
  4. matlab“机器学习和深度学习”系列工具箱作用总结
  5. Shell脚本传递带有空格的参数
  6. 进度条设置_项目功能分解4:MATLAB GUI如何设计有特色的进度条。
  7. 系统调用回答为什么要用buffer写
  8. Unity使用独立配置文件的方法
  9. python 爬虫 音乐下载 歌手_python爬虫批量下载全民K歌音乐
  10. python的cmd下小白开发应用教程
  11. ln -s命令 linux_浅谈linux中ln命令,附带案例
  12. 30.磁盘 I/O 问题
  13. AJAX请求中payload和formdata两种方式
  14. postSQL hash分表
  15. java每日学习回忆录
  16. 数据库关闭的四种方式
  17. mysql8.0.17 汉化
  18. Hadoop HA 搭建
  19. 集合全套以及知识点整合
  20. backtrace和backtrace_symbols函数原理解析

热门文章

  1. [渝粤教育] 广东-国家-开放大学 21秋期末考试中国近现代史纲要(A)10881k1
  2. java 秒杀多线程_秒杀多线程系列 - 随笔分类 - Joyfulmath - 博客园
  3. webpack 异步加载配置文件_详解webpack异步加载业务模块
  4. martingale、markov chain、Monte Carlo、MCMC
  5. 什么是卫星的有效载荷?
  6. nginx请求转发被拒绝_nginx反向代理(请求转发-URL匹配规则)
  7. 廖雪峰讲python高阶函数求导公式_一文读懂Python 高阶函数
  8. Win10窗口侧边栏设置Win7模式
  9. workflow java_workflow java实现的activity工作流实例 Develop 238万源代码下载- www.pudn.com...
  10. c++ 一维数组长度_每天一点C / 一维数组和指针