【经验】武汉芯源微控制器CW32F030系列芯片如何运用DMA功能实现高级定时器和ADC的同步触发采样
在做BLDC电机控制时,需要ADC的采样时刻和定时器产生的PWM波形相配合,才能获取准确的采样值,本文介绍了武汉芯源半导体微控制器CW32F030系列芯片通过运用DMA功能实现高级定时器和ADC的同步触发采样的功能。
PWM输出实现
1.1输出端口的配置
根据GPIO复用功能分配表,选取期望输出互补PWM波形的引脚,如本例中PA8、PA9、PA10、PB13、PB14、PB15,如下表所示:
PA8和PB13组成一对互补输出通道CH1,PA9和PB14组成一对互补输出通道CH2,PA10和PB15组成一对互补输出CH3。
步骤如下:
1.将相关的GPIO设置为输出;
2.将GPIO配置为ATIM的比较输出复用功能。
代码如下:
1.2ATIM的配置
ATIM包含一个16位的计数器/定时器和7个比较单元。7个比较单元中,有六个具有捕获功能,并且这6个捕获/比较单元可以成对使用,组成互补输出的功能。
本文以产生一个驱动BLDC电机所需的20kHz的三路互补输出的PWM波形为例,选取ATIM的时基信号为PCLK。
本例中PCLK为64MHz,并通过ATIM的预分频器进行16分频后,以4MHz频率进行计数。
为方便设定ADC的采样时间ATIM采用中央对齐模式计数,设置ATIM的自动重载寄存器(ARR)为100,则ATIM的将先从0累加至99,再从100递减至1,故计数周期为2倍的ARR寄存器的值,即PWM的频率为20kHz。
通过设置ATIM的控制寄存器(CR)的COMP位为1,使得PWM以互补的方式输出,CH1A和CH1B的脉宽由通道1比较/捕获寄存器A(CH1CCRA)决定,CH1B的输出脉宽不再由通道1比较/捕获寄存器B(CH1CCRB) 决定,CH1CCRB仍可用于设定CH1B比较匹配的值。CH2A和CH2B,CH3A和CH3B与之类似。
在设置输出PWM互补输出时,可以对互补通道加入死区时间,由死区时间寄存器(DTR)控制。
ATIM配置输出3对互补带死区的PWM波形,详细配置代码如下:
▼ 产生的 PWM 波形如下:
1.3ADC的配置
1.3.1序列采样
当需求的采样通道小于等于4路时,可以通过ADC的序列采样模式实现,并且可以通过ATIM的通道1~3比较/捕获寄存器B中任意一个寄存器设定ADC的采样时刻,这些操作都可以由硬件自动完成,减轻了CPU的工作量。
以采样AIN0~AIN3这4路输入为例,设定采样时刻为ATIM计数达到ARR时,其参考代码如下:
上述方法完全由硬件实现,不需要CPU和中断的参与,执行效率非常高,不足的地方是采样通道限制为4路。
1.3.2DMA扩展采样
如果需要对超过4路的模拟量进行采样,则需要结合DMA的功能,以实现较少的CPU参与。其思路如下:
1.ADC配置为单通道单次转换,完成转换后硬件触发DMA;
2.DMA的CH1用于将ADC的转换结果传输到RAM中,本例中将采样6个ADC通道,因此传输次数CNT为6,源地址固定为ADC的RESULT0寄存器,目的地址需要递增;
3.DMA的CH2用于更改ADC的采样通道,当ADC转换完成后,从RAM中取ADC的通道配置参数,自动配置ADC的寄存器值,因此源地址为RAM,地址递增,目的地址为ADC的通道控制寄存器;
4.DMA的CH3用于再次启动ADC,因为ADC配置为单次转换,当转换完成后,ADC自动停止转换,所以需要通过DMA向ADC的转换启动寄存器置位,以再次启动ADC转换;
5.DMA的CH1传输完成后,ADC的6路转换也完成了,并且转换结果也被传输到RAM,可通过CH1的传输完成中断,将DMA的参数重新配置,就实现了多路ADC的循环采样;
6.通过ATIM的比较通道4,去触发DMA的CH4,向ADC的转换启动寄存器置位,启动ADC。
其参考代码如下:
• ADC的配置:
ADC配置为单次单通道采样,采样完成后可触发DMA。
• DMA的配置:
这种方法可以实现多于4个模拟通道的采样,采样结果自动保存在内存中,并且仅在最后一个通道采样完成后, 进入一次中断服务程序对DMA的配置进行复位,所以CPU的开销是比较小的,而且可以通过ATIM的比较通道4灵活设置采样时机。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自武汉芯源,原文标题为:应用笔记(三)| 运用DMA 功能实现高级定时器和ADC 的同步触发采样,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
CW32数字电压电流表软件教程之ADC采样及显示
本文介绍了ADC基础知识。ADC(模拟数字转换器)是一种将模拟信号转换为数字信号的电子元件。常见的模数转换器是将一个输入电压信号转换为一个输出的数字信号。CW32F003万用表内部集成了一个 12 位精度、最高 1M SPS 的逐次逼近型模数转换器 (SAR ADC),最多可将 16 路模拟信号转换为数字信号。
设计经验 发布时间 : 2024-07-11
【经验】武汉芯源半导体CW32系列微控制器如何进入ISP模式以及ISP协议详解
武汉芯源半导体CW32系列微控制器片上FLASH存储器有一部分区域用于存储BootLoader启动程序,用户可利用BootLoader启动程序提供的ISP模式,通过UART串口方便地实现对CW32微控制器片上FLASH主存储器的擦除和烧写。
设计经验 发布时间 : 2022-08-15
【经验】武汉芯源半导体CW32微控制器的烧录器CW-Writer介绍及使用方法
本文介绍了武汉芯源半导体CW32微控制器的烧录器CW-Writer以及与之配合的软件CW-Programmer的使用方法。烧录器CW-Writer通过ISP协议,可实现对CW32微控制器FLASH的离线或在线的程序烧录。
设计经验 发布时间 : 2022-08-14
【应用】智芯推出基于车规微控制器Z20K148M和无刷电机预驱芯片Z20A8300的热管理域控整体解决方案
智芯推出基于车规微控制器Z20K148M和无刷电机预驱芯片Z20A8300的热管理域控整体解决方案,为客户提供硬件设计、基础软件以及电机控制算法,加速客户的开发速度。
应用方案 发布时间 : 2023-09-01
喜讯!雅特力科技荣获“2024年BLDC电机控制器行业创芯突破奖”
2024年11月1日,由大比特主办的“2024年BLDC电机控制器优秀企业年度评选”在深圳登喜路国际大酒店隆重举行。雅特力AT32M412/M416电机专用微控制器凭借其卓越的效能,荣获“2024年BLDC电机控制器主控芯片创新突破奖”。
原厂动态 发布时间 : 2024-11-06
武汉芯源(CW)CW32系列微控制器选型表
描述- 武汉芯源半导体目前已推出CW32F003系列、CW32F030系列以及CW32L083系列MCU产品,可以满足各行业的需求,客户行业广泛涉及通信电子、工业电子、消费电子、新能源、安防监控、物联网以及汽车电子等多个行业,并且已经在无线充方案、电子烟方案、水表方案、燃气表方案、BLDC电动工具、BMS方案、三轴云台、无线传感器方案等项目中得到实际应用,未来将能够满足更多的市场需求。
型号- CW32F030K8T7,F002,F003,CW32F030F8V7,CW32L083MCT6,CW32W031R8U6,CW32L031C8T6,A030 系列,L052,L083 系列,F030,L052 系列,CW32F030K8U7,L031 系列,CW32L052R8S6,CW32A030C8T7,A030,CW32L031K8U6,CW32L031C8U6,CW32L031F8P6,CW32L083RCT6,R031 系列,CW32R031C8U6,CW32L052C8T6,CW32L083VCT6,CW32 系列,CW32F020K6U7,F020,CW32,CW32F030F6P7,CW32L052R8T6,CW32F002F3U7,F002 系列,CW32L083RCS6,CW32F020C6U7,R031,CW32L031F8U6,CW32F003F4P7,L031,F030 系列,F003 系列,CW32F020F6U7,CW32F030C8T7,CW32F002F3P7,F020 系列,CW32F003F4U7,CW32L083RBT6,L083,CW32F003E4P7,W031 系列,W031
航顺芯片HK32MCU荣获2024年BLDC电机控制器行业年度领创大奖
2024年11月1日,《半导体器件应用》杂志承办的第24届(深圳)电机驱动与控制技术研讨会圆满举办,航顺芯片凭借HK32MCU以卓越的品牌影响力和持续的技术创新行业竞争优势,斩获“年度领创大奖”。
原厂动态 发布时间 : 2024-11-06
CW32L031 ARM® Cortex®-M0+ 32 位低功耗微控制器,64K 字节 FLASH,8K 字节 RAM数据手册
型号- CW32L031,CW32L031 系列,CW32,CW32L031C8T6X,CW32L031X8,CW32L031XX,CW32L031C8,CW32L031K8U6,CW32L031K8V6,CW32L031K8,CW32L031F8P6,CW32L031C8U6,CW32L031F8,CW32L031F8U6,CW32L031C8T6
高速风筒采用HK32M060 BLDC MCU方案,可提高电机的工作效率和控制精确度
航顺芯片推出的HK32M060高速风筒BLDC MCU解决方案,具有高级定时器带3路互补PWM、 高精度ADC、6MHz带宽轨到轨运放、比较器、32位针对霍尔传感器的捕获时钟、硬件除法器以及电机算法加速引擎等功能。可广泛应用于工业控制、家用电器、电动工具和交通运输等领域。
应用方案 发布时间 : 2023-12-30
多资源,高灵活:WAYON高主频8051内核WY8S9003系列通用微控制器来袭!
近日,WAYON正式宣布推出新一代高主频8051内核WY8S9003系列通用微控制器,该MCU集成了双路运放和比较器以及丰富的通讯接口,高度匹配BLDC类电机控制应用,同时也合适无线充、BMS、安防、消费电子等应用领域。
产品 发布时间 : 2024-06-29
雅特力AT32F421 MCU具有出色的产品性能和市场表现,荣获“2023年BLDC电机控制器行业创芯突破奖”
AT32F421 MCU的CPU主频达120MHz,内存为16~64KB Flash和8~16KB SRAM,外设扩展了1个高速轨到轨输入/输出电压比较器,1个采样率高达2Msps的12位15通道高速ADC,最短采样时间仅54ns,全部转换时间仅0.5ms,非常适合应用于单电阻电流采样的驱动器。
原厂动态 发布时间 : 2023-11-14
无人机关键的电机控制设计你必须懂!
无人机设计中“电机控制”的设计精准度及系统体积小型化扮演极重要的角色,近期强势加入无人机战场的小米,特选用Silicon Labs的高集成度、小尺寸封装的8位微控制器C8051F85x,以达成高速PWM调试和小型化的设计。
新应用 发布时间 : 2016-07-06
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论