2026/1/2 11:16:18
网站建设
项目流程
2014苏州建设银行招聘网站,广告公司的业务范围,可以自己做论坛网站吗,北京通州区网站建设ADC模数转换的精度与稳定性依赖于硬件电路的合理设计与软件控制的精准实现。硬件设计需解决信号完整性、参考源稳定性及抗干扰问题#xff1b;软件开发需优化采样时序、数据校准及算法处理。本文将从硬件电路设计到软件实现流程#xff0c;系统梳理ADC模数转换的关键技术要点…ADC模数转换的精度与稳定性依赖于硬件电路的合理设计与软件控制的精准实现。硬件设计需解决信号完整性、参考源稳定性及抗干扰问题软件开发需优化采样时序、数据校准及算法处理。本文将从硬件电路设计到软件实现流程系统梳理ADC模数转换的关键技术要点为系统开发提供参考。本文将分享硬件参考设计及LuatOS开发相关API带你快速了解ADC的软硬件实现要点。01. 模组相关管脚Air780EPM系列模组与ADC相关的管脚包括ADC0PIN9ADC1PIN96ADC2PIN77ADC3PIN7602. 主要功能说明虽然我们在沟通和交流中习惯称为ADC但更为准确的称呼应该是AUXADCAUXADC是芯片内部的辅助ADC通道主要用于温度监测、电池电量检测等。Air780EPM系列模组共有4个AUXADC通道包含以下三个主要功能1外接模拟电压信号检测通路选择内部分压电路适用于外接信号电压范围为0~3.3V选择直通AUXADC输入端的通路适用于电压范围0~1.6V或经外部分压后在1.6V分压后电压范围需控制 0~1.6V。2VBAT电压检测通路VBAT电压经过分压电路到达AUXADC输入口。3温度传感器检测通路模组芯片内部温度检测芯片温度发生变化时片内Thermal Sensor的电压信号也会随之变化将THM_VBE信号送至AUXADC测试。▼ ADC内部框图 ▼相关注意事项如下图中用AIO表示从外部输入到模组内部AUXADC的部分可以理解为直接连接到模组ADC管脚的电平片内电阻绝对偏差MAX ±8.5%(-40~85 ℃)片内电阻的相对偏差阻值比误差MAX/-0.15%(-40~85 ℃)AUXADC可以选择内部分压也可以选择外部分压不管选择外部分压还是内部分压都需要调整合适的分压比保证AUXADC输入端电压在0~1.6V范围当被测电压低于1.6V时外部无需分压内部也无需分压LuatOS ADC函数对应选择adc.ADC_RANGE_MIN当被测电压低于3.3V时外部无需分压内部需要分压至1.6V以内LuatOS已将该部分在底层做好ADC函数对应选择adc.ADC_RANGE_MAX当被测电压大于3.3V时内部无需分压外部需要分压至1.6V以内LuatOS已将该部分在底层做好ADC函数对应选择adc.ADC_RANGE_MIN读取模组芯片温度的常量为adc.CH_CPU可检测温度范围为-40 °C~85 °C 外部硬件电路上无需任何操作读取VBAT电压的常量为adc.CH_VBAT电压范围为2.2~4.8V在VBAT输入电压范围3.3~4.35V之内外部硬件电路上无需任何操作。03. ADC性能参数分辨率12bit时钟频率Fc1.625MHz~6.5MHz采样频率Fc/16典型功耗500μA更多参数说明详见下方图表04. 注意事项及硬件参考设计AUXADC的有效输入范围为0.1~1.5V在0~0.1V和1.5~1.6V范围可能存在较大误差不建议使用外部分压时如果AUXADC输入电压无法满足低于1.6V以NTC电阻为例可使用如下图右侧所示电路进行分压设计如果不希望ADC变化太快可以通过软件算法处理过滤掉变化较大的数值也可以在硬件电路上增加滤波电路比如外部分压时可以增加滤波电容增加ADC输入稳定性但缺点是ADC的细微变化会被过滤掉请根据实际需要谨慎选择。特别说明R300可以增加ESD能力阻值建议为510Ω不建议使用K级阻值的电阻。参考设计如下图示05. 与ADC相关的LuatOS API关于LuatOS中ADC相关API的介绍详见https://docs.openluat.com/osapi/core/adc/特别说明所有ADC共用一个通道同时只能调用一路ADC采样包括芯片温度、VBAT电压ADC打开( adc.open() )后会产生约500μA的功耗如需低功耗控制请将ADC关闭( adc.close() )示例代码今天的内容就分享到这里了~