【TI MSPM0】ADC进阶学习

一、学习内容

二、ADC配置讲解

转换时钟来源于本地的80mhz的振荡器,使得高速的12bits的转换可以达到4mhz的采样率

ADC转换过程分两个步骤,一是采样,二是转换

因此,配置中的是采样时钟

真正决定采样速率的是conversion clock 决定

转换时钟并不能手动配置,是由80mhz的振荡器来获取时钟的

所以不必担心采样时钟的采样率,维持默认设置即可


对于start和enable的配置,syscong 工具配置完成后,会将enable置1,然后转换一次后置零


模式一 单通道单词转换

第一个是置1,第二个是置0

对应配置如下


模式二 单通道连续转换

这种模式下,enable始终为1,start在触发转换后会被置0,但是,通道内部在转换之后会提供触发信号,从而会连续转换

模式三 多通道单次转换

模式四 多通道连续转换

Sampling Mode

自动模式

sample window 由定时器控制,通过设置定时器时间来决定采样多长时间。

手动模式

不再由定时器决定,需要再设置开始和结束时间

Trigger Source

触发方式

软件触发和事件触发(通过定时器控制)

Conversion Data Format

1无符号二进制右对齐(默认使用)

2有符号二进制左对齐(补码)

ADC Conversion Memory Configurations

下面可以对不同通道设置不同引脚和时钟

共有两个采样时钟0和1

这里可以对不同时钟进行配置,从而达到不同采样时间


Advanced Configuration

可以对转换精度进行配置,一般用12bits ,这样更加精准


Mannul模式下会耗电更多

但是电赛对这个要求不多,可以配置在改模式下


三、DMA 讲解

通过中断触发DMA,因此不使用中断去读取数据,中断选择不做处理

如果是单通道,就每次传1个,我们就用MEM0结果读进来就会触发DMA


此种场景下,选择第二种

第一种使用场景:ADC读取值,DAC 输出值

第三种使用场景:串口DMA,有一串数组,将数组传给另一个数组

后面几种不常用,这里不做介绍


因为是存储在16位的寄存器中,均选择半字节


递增数组第0个开始递增

递减从大向小递减


勾选并输入每次要搬运的数据个数


然后可以使能一个中断

当DMA 传输完成后进行的中断


  • 第一个是采集1000个数一次传一个
  • 第二个是采集1000个数一次传1个传1000次,使得数组里1000个位置都是这一个数

repeat 是传输完以后再进入继续传输,符合设想要求


这里的是传输起点的递增,不是过程

这里不需要改动

四、DMA使用

配置方面


代码编写

第一步

设置存放结果的寄存器的地址(即DMA要传输 的起始地址)

然后开辟新的数组空间存放DMA传输的数据,设置终点地址

查看寄存器地址的方法

点击register,出现相关寄存器地址的值

第二步

使能DMA中断

开启ADC

第三步

DMA中断服务程序

另外,由于选用repeat模式,还会不断进行DMA 传输,可能导致数组发生变化,因此调用函数关闭ADC通道

第四步

编写数据处理函数

第五步

打开ADC中断

开启ADC

五、FIFO学习

先进先出

先进后出


使用FIFO 的意义是可以降低对DMA和中断调用的频率,提升资源利用率,优化系统性能

六、FIFO的使用

勾选FIFO

更改DMA触发方式和传输数据个数

更改 数据格式

代码更改

七、多通道使用

多通道连续采集模式下是强制使用FIFO 的

八、使用定时器实现可控采样率

ADC配置

改为事件触发

使用DMA中断

关闭自动触发

选择第二个

定时器配置

定时器通道和事件

这是在ADC里面

代码编写

不需要start ADC

九、实现最高4mhz采样率

软件触发

DMA传输

采样时间

相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
Lester_11014 天前
STM32霍尔传感器输入口设置为复用功能输入口时,还能用GPIO函数直接读取IO的状态吗
stm32·单片机·嵌入式硬件·电机控制
LCG元4 天前
低功耗显示方案:STM32L0驱动OLED,动态波形绘制与优化
stm32·嵌入式硬件·信息可视化
三佛科技-187366133974 天前
120W小体积碳化硅电源方案(LP8841SC极简方案12V10A/24V5A输出)
单片机·嵌入式硬件
z20348315204 天前
STM32F103系列单片机定时器介绍(二)
stm32·单片机·嵌入式硬件
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2