【经验】灵动微电子MM32F5270微控制器ADC注入通道的单周期采样的实现
灵动微电子MM32F5270微控制器的ADC可配置4个注入通道来扩展转换通道,那么可进行转换的通道最多可达20个。本文介绍MM32F5270平台ADC注入通道的单周期采样的实现。
特点
1、通道优先级
注入通道转换顺序从JSQ0 ~ JSQ3优先级由高到底依次转换。
2、通道转换方式
支持单端转换、差分转换和伪差分转换。
3、数据补偿
注入通道转换的值减去对应注入补偿寄存器的值,补偿后的结果可能为负值,因此配置了注入补偿寄存器的注入通道转换结果是有符号数据,根据数据对齐方式不同符号位SEXT不同。图3.1描述了数据分辨率与数据补偿左对齐关系,图3.2描述数据对齐及注入通道符号位位置。
4、注入通道中断
注入通道序列转换结束中断(JEOSIF)、注入通道转换结束中断(JEOCIF)和注入通道采样结束中断(JEOSMPIF)。
5、注入通道启动转换
主要有两种方式,第一种是在任意通道工作模式下,使能自动注入ANYCR_JAUTO,当任意通道序列转换完成后,注入通道会自动紧跟着转换;第二种是自行设置注入转换使能ANYCR_JADST,即可转换注入通道。注意注入通道转换完成后ANYCR_JADST,将被硬自动清除。
例程介绍
在任意通道工作模式下,配置规则组转换序列,再配置注入组转换序列,使能自动注入,查看注入通道是否转换完成。
具体配置步骤:
1、配置ADC初始化结构体,配置分辨率12位、单周期转换、数据右对齐、单端转换、参考内部电压
2、配置规则组转换序列和每个规则通道的采样时间,注入组转换序列和每个注入通道的采样时间
3、使能注入通道自动转换
4、使能ADC
参数定义如下:
#define APP_ADC_SEQ_LEN 3u
#define APP_ADC_EXT_SEQ_LEN 2u
/* channels in any sequence. */
uint32_t app_adc_seq_channels[APP_ADC_SEQ_LEN] =
{
BOARD_ADC_CHN_NUM_1,
BOARD_ADC_CHN_NUM_4,
BOARD_ADC_CHN_NUM_5,
};
/* channels in inject sequence. */
uint32_t app_adc_extseq_channels[APP_ADC_EXT_SEQ_LEN] =
{
BOARD_ADC_CHN_NUM_5,
BOARD_ADC_CHN_NUM_1
};
配置代码如下:
/* setup the converter. */
ADC_Init_Type adc_init;
adc_init.Resolution = ADC_Resolution_Alt0;
adc_init.ConvMode = ADC_ConvMode_SeqOneTime;
adc_init.Align = ADC_Align_Right;
adc_init.SingleDiffMode = ADC_SingleDiffConvMode_SingleEnd;
adc_init.SingleVolt = ADC_SingleConvVref_Internal;
ADC_Init(ADC1, &adc_init);
/* setup the conversion any sequence. */
/* config regular sequence channel */
for (uint32_t i = 0u; i < APP_ADC_SEQ_LEN; i++)
{
ADC_EnableSeqSlot(ADC1,i,app_adc_seq_channels[i]);
ADC_SetChnSampleTime(ADC1,app_adc_seq_channels[i], ADC_SampleTime_Alt7);
}
/* config inject channel. */
for (uint32_t i = 0u; i < APP_ADC_EXT_SEQ_LEN; i++)
{
ADC_EnableExtSeqSlot(ADC1, i, app_adc_extseq_channels[i]);
ADC_SetChnSampleTime(ADC1,app_adc_extseq_channels[i], ADC_SampleTime_Alt7);
}
/* enable the inject atuo conversion. */
ADC_EnableAutoExtSeqSlot(ADC1, true);
/* power on the converter. */
ADC_Enable(ADC1, true);
注:ADC转换前必须获取校验因子,否则无法转换。
结果如下图:
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自灵动MM32MCU公众号,原文标题为:灵动微课堂 (第257讲)|MM32F5270平台ADC注入通道的单周期采样的实现,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】灵动微电子MM32F0160微控制器开源项目:如何实现一套低成本带RGB灯效的机械键盘
灵动的软件与系统工程SE团队,基于带有 USB 外设模块的 MM32F0160 微控制器,实现了一套低成本带RGB灯效的机械键盘。这里将设计机械键盘的全过程开源出来,感兴趣的开发者,可以向灵动申请 MM32F0160 微控制器的样片,复刻一把自己专属的机械键盘,也可以继续进行二次开发,实现更加有趣的作品。
设计经验 发布时间 : 2023-07-01
【经验】单独下载可执行文件到灵动MM32F5系列微控制器的几种简易方法
本文将以下载MicroPython固件文件到灵动MM32F5微控制器为例,总结了几种简单易用的方法,专门针对使用DAP-Link调试器的情况,通过常用图形界面工具,实现单独下载可执行文件的功能。
设计经验 发布时间 : 2023-06-21
【经验】如何验证不同Flash对灵动微微控制器执行程序性能的影响
本文通过在QSPI Flash,片内Flash 与片内SRAM中分别运行测试工程Arm CMSIS-DSP FFT、Mbed-TLS RSA1024与Helix MP3 Decoder,获取微控制器性能数据,从而对比在不同Flash位置的执行速度的差异。
设计经验 发布时间 : 2023-07-01
基于灵动MM32F0130微控制器的智能插排方案,实现远程开关控制、定时开关、随时了解家电设备的使用状况
智能插座又可以称为WIFI插座,在普通插座的功能基础上延伸了许多功能,如防雷击,防短路,防过载,防漏电,配合智能手机的APP应用,可以实现远程开关控制、定时开关、随时了解家电设备的使用状况。基于灵动MM32F0130微控制器的插排,具有以下特点:-内置Timer进行解码红外输入-通过串口与云端连接,进行远程控制,以及电量监控等-通过I2C与计量芯片通讯,进行异常检测,过流,过/欠压等保护
应用方案 发布时间 : 2024-03-13
MM32F0140 基于 Arm® Cortex®-M0 内核的 32 位微控制器数据手册
型号- MM32F0141B1T,MM32F0141C1T,MM32F0144C4PV,MM32F0144C4QV,MM32F0144C1TV,MM32F0144C4P,MM32F0141B6P,MM32F0144C3N,MM32F0144C4N,MM32F0144C6P,MM32F0140,MM32F0144C6PV,MM32F0144C3NV,MM32F0144C1T,MM32F0141B4Q,MM32F0141C4P,MM32F0141C4Q,MM32F0141C4N,MM32F0141C6P,MM32F0141B3N,MM32F0144C4Q,MM32F0141B4P,MM32F0141C3N
MM32G0001 基于 Arm® Cortex®-M0 内核的 32 位微控制器数据手册
型号- MM32G0001A1T,MM32G0001A6T1V,MM32G0001,MM32G0001A1NV,MM32G0001A6TV,MM32G0001A6T,MM32G0001A6T1,MM32G0001A1TV,MM32G0001A1N
MM32F0160 基于 Arm® Cortex®-M0 内核的 32 位微控制器数据手册
型号- MM32F0163D4QV,MM32F0162DAP,MM32F0163DAP,MM32F0163D7PV,MM32F0163D6PV,MM32F0160,MM32F0162D6P,MM32F0163D6P,MM32F0162D7P,MM32F0163D7P,MM32F0164D3N,MM32F0161D3N,MM32F0162D4Q,MM32F0163D4Q
MM32SPIN0280微控制器精准驱动电动自行车的智能核心
MM32SPIN0280微控制器作为电动自行车的主控单元,提供精确的动力控制、电助动与电驱动功能,同时确保骑行安全,满足现代城市出行的需求
产品 发布时间 : 2024-05-28
MM32F5270 32-bit Microcontrollers based on Arm China STAR-MC1 Data Sheet
型号- MM32F5277E8PV,MM32F5277E7PV,MM32F5277E9PV,MM32F5277,MM32F5270
基于微控制器MM32F3270的智能监护仪,实现精准监测与高效护理
MM32F3270微控制器为监护仪提供了从信号采集到数字处理的全方位解决方案,确保了医疗监测的高精度和高效率,助力提高护理工作的智能化水平。
应用方案 发布时间 : 2024-06-08
MM32F103xx 32 位基于 ARM® Cortex® M3 核心的微控制器数据手册
型号- MM32F103XX,MM32F103KET,MM32F103KEU,MM32F103KCT,MM32F103VET,MM32F103VCT,MM32F103RET,MM32F103RCT,MM32F103CCT,MM32F103KCU,MM32F103CET,MM32F103RCT6XXX
【产品】芯录微半导体烧录器AP8000支持灵动微电子32位微控制器MM32F3273G9P
芯录微半导体发布的烧录软件更新及新增支持的芯片型号列表,其中灵动微电子MindMotion的32位微控制器MM32F3273G9P已经被芯录微的通用烧录平台AP8000所支持。
产品 发布时间 : 2023-08-26
MM32系列微控制器优化血氧仪性能与用户体验
MM32微控制器的集成LCD控制器和低功耗特性,为便携式血氧仪带来了更优化的性能和更持久的电池寿命,改善了用户的测量体验。
产品 发布时间 : 2024-06-05
MM32F0020 基于 Arm® Cortex®-M0 内核的 32 位微控制器数据手册
型号- MM32F0020B1NV,MM32F0020,MM32F0020B1T,MM32F0020B1TV,MM32F0020B1N
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论