STM32-adc

adc : analog digital converter : 模拟信号转换成数字信号

变化的电压信号,,, 转换成数字信号

12位,,逐次逼近型adc

采样深度:用多少位2进制来表示采样转换结果

12位二进制数 表示 采样的转换结果,,,

一般adc,,都是10位,12为,,一些高端的adc是用的14位,16位

逐次逼近型:

逐次逼近型: 里面有比较器,,, 从最高的一位开始,,依次往后加,,类似天平慢慢增加砝码

采样保持电路:


adc多路复用 : 只使用一个adc,,同时去转换多个模拟输入

adc1对应的引脚

常规序列: 后面开关,采样的闭合时间,,,,,,,,,

regular sequence

常规序列: 依次往后执行,,往后闭合开关,采样

外部触发一次之后,, 常规序列就会被一次采样一遍

注入序列:

结果寄存器

通道更少,,,注入序列数字为4,,,4个通道,, 每一个通道有一个单独的寄存器,,,

常规序列只有一个结果寄存器、

注入序列优先级比 常规序列高

常规序列: regular channel group

电位器,光敏电阻,,温度,,电压检测

注入序列 :injected channel group

电机控制 : pwm某时刻,,精确采样电流

电机,数字电源,高频控制


采样时间

转换时间

adc时钟频率,,要小于 14MHz... 这是stm32F1系列,对adc时钟的要求,,

adc内部不是瞬间转换的,,,

它内部有: 采样保持电路,比较器,,SAR逐次逼近逻辑,,这些都需要时间稳定,,

如果adc时钟太快,,

采样时间 = cycles × 时钟周期

采样时间是55.5个时钟周期,,,

教程里面说的us,,是根据一个固定的时钟周期,,计算出来的

12MHz ===》 4.6us ===》 6分频 ,,, 72/6

转换时间

转换时间一共要计算12个bit位,,每一个bit位需要消耗一个时间周期

总时间 = 采样时间 + 12.5 cycles

SAR ADC 逐次逼近型ADC,,内部不是一下子算出结果,,而是一位一位比较

0.5个周期: 启动比较器,锁存结果,SAR状态切换,,数据同步等


信号源内阻:

内阻越大,充电时间越长,,采样时间越长

·光敏传感器:

转换时间 12.5cycle

采样时间 10.24cycle

常规序列的单通道转换 : 就是只测一个通道,,,

常规序列

注入序列

控制采样开关,闭合的顺序和闭合的时间

eoc: end of convert 转换完成,,, 常规序列转换完成之后,标志位为1

JEOC: inject end of convert ,,, 注入序列转换完成,,标志位为1

DR :data register

JDR : inject data register

一般使用右对齐,,,右对齐好算


adc的参数:

  • 连续模式 continue mode : adc转换完了一次后,会自动再次开始转换,,不用你手动触发,,,采完一次,,立即开始下一次

    想实时监测,,比如电位器,电压,波形,传感器

  • 对齐方式

    默认取右对齐,,有时候只想取高8为,,可以设置为左对齐

  • 扫描模式 :scan mode : adc会自动按顺序转换多个通道,,,不开扫描模式,,,adc只会转换一个通道,,, 开启扫描模式会一个一个检查

  • 自动注入 auto injected

    注入组: injected group

    常规组转换完成后,,,自动触发 注入组转换,,,即regular完成,,,自动开始injected

    如果不开启自动注入,,regular和injected 完全独立,,,自动注入,,一般 电击FOC才大量使用

  • 外部触发信号 : external trigger

    由外部事件来启动adc转换,,,而不是cpu手动启动

    • 普通方式: 软件触发,,,, cpu手动让adc开始
    • 外部触发 : adc不再自己开始,,而是等待某个事件,,比如:定时器,,pwm,,exti,,TIM_CC,TIM_TRGO
      比如,定时固定拍照

复制代码
校准,, adc会自己测量内部误差,,自动补偿

,,官方推荐,,上电后校准一次

芯片里面只能存01的数字量,,不能直接存浮点数的电压,,adc会自动转换成 01数字量,,,,可以根据01的数字量还原多少电压

相关推荐
G***技7 小时前
告别“云端依赖”:LH707 如何重构 AI 视频监控的底层逻辑?
人工智能·嵌入式硬件
ShallWeL11 小时前
Orin 上多模型常驻与显存预算
人工智能·嵌入式硬件·nvidia·orin
亮工硬件11 小时前
1-11 STM32内部FLASH(数据掉电保存)
笔记·stm32·单片机·嵌入式硬件·学习
集和诚JHCTECH11 小时前
案例分享 | BRAV-7721助力印刷电路板(PCB)智能缺陷复判系统
人工智能·嵌入式硬件·边缘计算
恒锐丰科技林技术员12 小时前
EG27524 双通道栅极驱动芯片:高速功率变换系统的驱动利器
经验分享·嵌入式硬件·硬件工程
恒锐丰科技林技术员14 小时前
EG2003:200V 半桥 MOS/IGBT 栅极驱动芯片解析
经验分享·嵌入式硬件·硬件工程
LCG元14 小时前
STM32 硬件SPI驱动W25Q Flash实战:从CubeMX配置到DMA高速读写
stm32·单片机·嵌入式硬件
HRTOS15 小时前
HRTOS应用示例:信号量机制详解
c语言·人工智能·嵌入式硬件·51单片机
从零开始的嵌入式之旅15 小时前
day36
linux·c语言·经验分享·笔记·嵌入式硬件
HRTOS15 小时前
HRTOS应用示例:Mutex互斥锁机制详解
c语言·单片机·嵌入式硬件·51单片机