当前位置: 首页 > news >正文

LP-MSPM0G3507学习--11ADC之二双通道高速DMA采样

关键函数:

DL_DMA_setSrcAddr():

DL_DMA_setDestAddr():

DL_DMA_setTransferSize():

DL_DMA_enableChannel():使能DMA传输

1.概述

DMA(Direct Memory Access)直接存储器存取,是一种实现高速存取数据的方法,配置好后,外设寄存器的数据可以不经CPU,自动搬运到指定存储器位置;指定存储器位置的数据,也可以不经过CPU,自动搬运到外设寄存器。

外设传输至存储器,多为Fixed address to Block address

存储器传输至外设,多为Block address to Fixed address

另外通常读取ADC转换数据是从Conversion Memory中读取的,而ADC包含一个可选的先入先出(FIFO)缓冲区,提供了另外一种方法来存储ADC结果的方式

从上表中可以看出,对于高速重复序列来说,必须启用FIFO

1.配置

ADC转换器选ADC1--PinMux peripheral and Pin Configuration

ADC 时钟源设为32MHz

Conversion Mode选sequence 

两通道采用,因此Conversion Adderess设为1

使能repeat Mode--高速手动来不及

采样模式选自动

触发源选择software--通过精确计算采样时间,实现确定时间间隔采样,DMA会扮演触发的角色

Memory0配置为通道0/PA15,电压基准VDDA,采用时间源为 sampling Timer1

Memory1配置为通道0/PA156,电压基准VDDA,采用时间源为 sampling Timer1

高级配置中的分辨率设为12位,启动FIFO,掉电使能模式选择手动(Manual,选自动的话会自动掉电,导致无法实现高速度采样),期望采样时间分别为320ns、62.5ns,即采样率分别为1MHz,2MHz

采样率计算:

当时钟采用32MHz,选择12位模式时,转换阶段需要14个转换时钟周期,即转换时间为437.5ns,采样时间为62.5ns时,每一路总时长为500ns,即采样率为2MHz;当采样时间为320ns时,每一通道时长为757.5ns,约为1Mz;如采用1通道,想达到4MHz,必须提升频率,必然说时钟频率为80Mhz,则转换时间为175ns,采样时间可以为250-175=75ns

http://www.dtcms.com/a/297215.html

相关文章:

  • rtpengine的docker化
  • Linux进程信号——信号保存
  • 在幸狐RV1106板子上用gcc14.2本地编译安装ssh客户端/服务器、vim编辑器、sl和vsftpd服务器
  • OSI 七层模型和五层模型
  • Vue3 学习教程,从入门到精通,Vue3 监听属性(Watchers)语法知识点及案例代码(16)
  • Unity编辑器拓展 IMGUI与部分Utility知识总结(代码+思维导图)
  • JAVA-09(2025.07.25学习记录)
  • MMRotate ReDet ReFPN 报错 `assert input.type == self.in_type`
  • Franky — 边缘计算智能语音助手 / Edge‑Computing Smart Voice Assistant
  • 04-netty基础-Reactor三种模型
  • docker compose xtify-music-web
  • 华为OpenStack架构学习9篇 连载—— 02 OpenStack界面管理【附全文阅读】
  • VR 三维重建:重塑建筑工程全生命周期的数字化革命
  • [NLP]多电源域设计的仿真验证方法
  • Redis 5.0.14安装教程
  • Android 10.0 sts CtsSecurityBulletinHostTestCases的相关异常分析
  • 关于自定义域和 GitHub Pages(Windows)
  • OpenCV(04)梯度处理,边缘检测,绘制轮廓,凸包特征检测,轮廓特征查找
  • [python][flask]Flask-Login 使用详解
  • uniapp小程序上传图片并压缩
  • 吊汤:厨房的鲜味密码
  • 若依框架 ---一套快速开发平台
  • STM32-中断配置教程(寄存器版)
  • 【应急响应】进程隐藏技术与检测方式(二)
  • Gin 框架的中间件机制
  • 三种深度学习模型(GRU、CNN-GRU、贝叶斯优化的CNN-GRU/BO-CNN-GRU)对北半球光伏数据进行时间序列预测
  • win11 使用adb 获取安卓系统日志
  • ESP32学习笔记_Peripherals(4)——MCPWM基础使用
  • C++ : list的模拟
  • Kafka——多线程开发消费者实例