STM32 L412KB之ADC控制及应用
因为毕设中用到浊度传感器,对本传感器较为熟悉,在拿到板子后就计划用使用过的传感器进行测试会较为容易点,对于一个小白来说,浊度传感器处理模块的GND、信号线、电源线连接L412KB上的电源和ADC1_IN8引脚。

组合.png
利用模块自带的ADC控制器对浊度传感器采集的模拟量进行处理,采集开始,初始化浊度传感器,对采集到的模拟量进行AD转换,将得到结果根据公式计算后转换成十进制格式周期性串口发送到串口助手,如果发送未成功,程序继续进行结果的周期性发送。
硬件.png
浊度传感器硬件图
浊度传感器度采集程序流程图如下。
流程.png
浊度采集流程图
浊度传感器采集到物理量,浊度传感器处理模块将采集到的浊度引起不断变化的物理量转换成动态变化电压信号。由于浊度值是动态值,一般会在动态环境中进行采集检测,需要外接L412KB模块进行A/D转换。
vssd.png
AD转换就是模数转换。A/D转换器是用来通过芯片内部电路设计将模拟电压量转变为芯片可传输的数字量。压力、位移、声音等非电信号都可以先转化为电压信号之后再输入进A/D转换器进行转换。
图片1.png
介绍一下L412KB的模数转换器(ADC)
该装置嵌入了两个逐次逼近模数转换器ADC1和ADC2,具有以下特点:
•12位本机分辨率,内置校准
•5.33 Msps最大转化率与全分辨率-到18.75 ns采样时间
-提高低分辨率的转化率(6位分辨率高达8.88 Msps)
•多达16个外部通道,其中一些在ADC1和ADC2之间共享。•3个内部通道:内部参考电压、温度传感器、VBAT/3。
a'd'c.png
•在某些封装上有一个外部参考引脚,允许输入电压范围独立于电源
•单端差分模式输入•低功耗设计
-能够在低转化率下低电流运行(消耗随速度线性下降)
-双时钟域架构:ADC速度独立于CPU频率•高度通用的数字接口
-单镜头或连续/不连续序列扫描模式:2组
模拟信号的转换可编程区分后台和高优先级实时转换
-处理两个ADC转换器,用于双模式操作(同时或交错采样模式)
-每个ADC支持多个触发器输入,用于与芯片上的定时器和外部信号同步
-结果存储在2个数据寄存器或RAM与DMA控制器的支持
-数据预处理:左右对齐和每通道偏移补偿-内置过采样单元,提高信噪比
-通道可编程采样时间
-三个模拟看门狗自动电压监测,产生中断和触发选定的定时器
-硬件助理准备注入通道的上下文,以允许快速的上下文切换
L412KB如同CC2530,也有自己的内部温度传感器
温度传感器(TS)产生随温度线性变化的电压VTS。温度传感器内部连接到ADC1_IN17输入通道,即用于将传感器输出电压转换为数字值。传感器提供良好的线性度,但它必须进行校准,以获得良好的整体温度测量的准确度。由于温度传感器的偏移量随芯片的工艺变化而变化,未标定的内部温度传感器只适用于检测温度变化的应用。但是其校准数据出厂时已经封装完成,仅能访问,不可修改。TS ADC原始数据采集温度为130℃(±5℃),VDDA = VREF+ = 3.0 V(±10 mV)