【经验】SWM20x系列32位MCU的PWM电机框架搭建介绍
SWM201系列32位MCU所有型号PWM操作均相同,不同型号PWM通道数可能不同。使用前需使能PWM模块时钟。PWM模块用于实现芯片输出特定的方波,控制外部元器件,如步进电机等。本文华芯微特将介绍PWM(电机)下如何搭建SWM201系列32位MCU的电机框架。
计数器可以通过APB总线读写寄存器、和外部硬件同时控制,实现计数过程的控制。同时,CPU和外部硬件也可以共同实现对输出PWM信号的控制。
PWM模块提供了2组(PWM0、PMW1)、8路(PWM0A、PWM0B、PWM0AN、PWM0BN、PWM2A、PWM2B、PWM2AN、PWM2BN)独立通道,支持边沿模式、中心对称模式。
中心对称模式下,输出是互补输出。如PWM0A驱动PWM0A和PWM0AN两个输出信号,两个信号周期相等、电平值相反,且可设置死区。
程序中配置如下(SWM201内置PN预驱):
static void PWM_Init (void)
{
PWM_InitStructure PWM_initStruct;
PORT_Init(PORTA, PIN5, PORTA_PIN5_PWM1AN, 0);
PORT_Init(PORTA, PIN4, PORTA_PIN4_PWM1BN, 0);
PORT_Init(PORTA, PIN3, PORTA_PIN3_PWM0AN, 0);
PORT_Init(PORTA, PIN2, PORTA_PIN2_PWM1A, 0);
PORT_Init(PORTA, PIN1, PORTA_PIN1_PWM1B, 0);
PORT_Init(PORTA, PIN0, PORTA_PIN0_PWM0A, 0);
//PWM引脚初始化
PWM_initStruct.Mode = PWM_CENTER_ALIGNED;
//中心对齐模式
PWM_initStruct.Clkdiv = 1;
//分频F_PWM = 60M/1 = 60M
PWM_initStruct.Period =10000;
//周期:60M/6000 = 1KHz,中心对称模式下频率//降低到500Hz
PWM_initStruct.HdutyA = 2500; //占空比:2000/10000 = 25%
PWM_initStruct.DeadzoneA = 50; //死区时间:50/60M
PWM_initStruct.IdleLevelA = 0; //停止状态下PWMxA输出电平
PWM_initStruct.IdleLevelAN= 0; //停止状态下PWMxAN输出电平
PWM_initStruct.OutputInvA = 0; //PWMxA输出未取反
PWM_initStruct.OutputInvAN= 0; //PWMxAN输出未取反
PWM_initStruct.HdutyB = 1500;
PWM_initStruct.DeadzoneB = 50;
PWM_initStruct.IdleLevelB = 0;
PWM_initStruct.IdleLevelBN= 0;
PWM_initStruct.OutputInvB = 0;
PWM_initStruct.OutputInvBN= 0;
PWM_initStruct.UpOvfIE = 0;
PWM_initStruct.DownOvfIE = 0;
PWM_initStruct.UpCmpAIE = 1; //开启上升沿比较器PWM0A匹配中断使能
PWM_initStruct.DownCmpAIE = 0;
PWM_initStruct.UpCmpBIE = 0;
PWM_initStruct.DownCmpBIE = 0;
PWM_Init(PWM0, &PWM_initStruct);
PWM_initStruct.UpCmpAIE = 0; //屏蔽PWM1A中断
PWM_Init(PWM1, &PWM_initStruct);
PWM_Start(PWM0_MSK | PWM1_MSK);
//启动PWM,开始PWM输出
PWM_OutMask(PWM1, PWM_CH_B, PWM_EVT_1, 0, PWM_EVT_1, 1);
//挖坑功能设置:PWM1B和PWM1BN在event1为高时分别输出0和1
PWM_CmpTrigger(PWM0, 750, PWM_DIR_UP, 40, PWM_TRG_1, 1);
//设置ADC采样点(ADC采样设置请查看“SWM20x系列电机框架搭建:ADC篇”)
}
TRIGGER控制:
PWM模块在计数过程中,可以根据配置输出三种trigger信号:
1、PWM计数器比较匹配触发:PWM计数器在计数过程中,当计到TRIG_CNT中配置的参考值时,就会产生一个周期的trig信号。根据配置,可以将该trig信息映射到输出的trig[7:0]信号上,且输出宽度可以配置,以4个计数周期为单位进行设置,最小长度为0个(即不输出PWM_TRIG,只输出ADC_TRIG),最大长度为252个计数当重复计数功能有效时,trig信号会在最后一次重复计数时产生。
2、ADC触发:在PWM_TRIG输出宽度的正中间,会输出一个pclk的ADC_TRIG信号,用于触发ADC采样。
3、PWM计数器溢出触发:当计数器溢出TRIG使能,且计数器发生向上溢出或向下溢出时,会产生一个pclk周期的TRIG信号,与自定义TRIG一致,可以根据配置将该trig信息映射到输出的trig[7:0]信号上。TRIGGER控制波形如下图所示:
触发SARADC采样:
PWM在任意模式下可以触发ADC,每一路输出独立的ADC触发信号,且每个周期可以设置1个ADC触发点,每个PWM只输出一个触发信号,不区分A.B分别触发。将SARADC配置寄存器(CTRL)中TRIG方式设置为PWM触发。每路PWM对应1个ADTRG值,当PWM计数到指定值,可触发ADC进行采样。具体配置方式如下:
●配置PWMx路触发ADC控制寄存器,设置触发点是否有效以及PWM触发ADC时间点。
●配置ADC的触发方式为PWM触发
●使能PWM模块EN位,当计数值到达MATCH设置值时,触发ADC配置寄存器(CTRL)中选中的通道(CHx)进行采样,采样完成后,将产生EOC标志位,并产生ADC中断。
- |
- +1 赞 0
- 收藏
- 评论 0
本文由ll转载自华芯微特,原文标题为:SWM20x系列电机框架搭建:PWM(电机)篇,本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。
相关推荐
【经验】三相无刷直流电机的三种PWM调制方式和PWM占空比的计算
三相无刷直流电机的调制方式:方波120度脉宽调制(120Degree-PWM)、正弦脉宽调制(SPWM)和空间矢量脉宽调制(SVPWM),本文华芯微特将对各自方式的原理、SVPWM7段式与5段式特性、SPWM和SVPWM需要的角度推算以及PWM占空比的计算做出详细介绍。
华芯微特SWM系列MCU KEIL工程建立及DEBUG环境设置说明
SWM系列MCU主要采用ARM CORTEX-M0,CORTEX-M4,安谋科技 “星辰” STAR-MC1内核需要更正为:核心,包括不同大小FLASH及片上资源,本文档主要介绍如何建立KEIL工程及DEBUG 环境设置。
【经验】在OPA(PGA)模式下如何搭建SWM20x系列芯片的电机框架
OPA0基准模式OPA0支持OPA和基准两种工作模式,在OPA模式下,OPA0是一个普通的三端运算放大器。本文华芯微特将介绍在OPA(PGA)模式下如何搭建SWM20x系列芯片的电机框架。
工业增强级MCU优势赋能,国民技术加快布局机器人控制领域“新蓝海”!
作为工业机器人核心控制器件,MCU等控制芯片必将受惠于工业机器人市场的快速增长。 当前,国民技术32位工业增强级MCU,如N32G45X、N32G43X和N32G030等系列,已经在机械臂、机器骨骼、步进电机、伺服电机等工业应用领域获得批量应用。
华芯微特MCU 32 位微控制器产品列表
型号- SWM19SC9T6-50,SWM241PBT7-80,SWM181RCT6-50,SWM211,SWM211G6S7-65,SWM181C9T6-50,SWM22PE8S7-63,SWM241KBT7-80,SWM221EBS7-63,SWM34SRET6-50,SWM21PG6S7-65,SWM221CBT7-50,SWM34SVET6-50,SWM341RET7-50,SWM260KBT7-80,SWM320RET7-50,SWM181DBU6-40,SWM211C8T7-50,SWM21PE6S7-63,SWM341CET7-50,SWM190CBT7-50,SWM166,SWM221,SWM320,SWM341,SWM241,SWM221KBU7-50,SWM260,SWM181,SWM19SCBT7-50,SWM320CET7-50,SWM190,SWM166D8U6-40,SWM32SRET6-50,SWM21DD8U7-40,SWM34SMEU6-40,SWM190RBT7-50,SWM181CBT6-50,SWM21DK6U7-50,SWM341VET7-50,SWM260CBT7-50,SWM34SCET6-50
【产品】32位微控制器SWM341系列SWM34SRET6-50,助力4.3寸800*480 TFTLCD显示的例程应用
华芯微特推出32位微控制器SWM341系列,简单介绍了和系列之一的SWM34SRET6-50驱动4.3寸800*480 TFTLCD显示的例程应用。
华芯微特MCU(ARM Cortex-M0)(ARM Cortex-M4/安谋科技“星辰”STAR-MC1内核) 32 位微控制器产品列表
型号- SWM19SC9T6-50,SWM241PBT7-80,SWM181RCT6-50,SWM34SVET6,SWM211,SWM211G6S7-65,SWM181C9T6-50,SWM241KBT7-80,SWM34SRET6-50,SWM21PG6S7-65,SWM34SVET6-50,SWM341RET7-50,SWM260KBT7-80,SWM320RET7-50,SWM201G6S7-65,SWM181DBU6-40,SWM211C8T7-50,SWM21PE6S7-63,SWM201C6T7-50,SWM341CET7-50,SWM190CBT7-50,SWM201,SWM166,SWM320,SWM20PG6S6-65,SWM341,SWM241,SWM260,SWM181,SWM19SCBT7-50,SWM320CET7-50,SWM190,SWM166D8U6-40,SWM32SRET6-50,SWM21DD8U7-40,SWM34SMEU6-40,SWM190RBT7-50,SWM181CBT6-50,SWM20DC6U7-50,SWM21DK6U7-50,SWM341VET7-50,SWM260CBT7-50,SWM34SCET6-50
华芯微特MCU(ARM Cortex-M0)32位微控制器产品列表
型号- SWM19SC9T6-50,SWM241PBT7-80,SWM181RCT6-50,SWM211,SWM211G6S7-65,SWM181C9T6-50,SWM241KBT7-80,SWM34SRET6-50,SWM21PG6S7-65,SWM34SVET6-50,SWM341RET7-50,SWM260KBT7-80,SWM320RET7-50,SWM201G6S7-65,SWM181DBU6-40,SWM211C8T7-50,SWM21PE6S7-63,SWM201C6T7-50,SWM341CET7-50,SWM201,SWM190CBT7-50,SWM166,SWM320,SWM20PG6S6-65,SWM341,SWM241,SWM260,SWM181,SWM19SCBT7-50,SWM320CET7-50,SWM190,SWM166D8U6-40,SWM32SRET6-50,SWM21DD8U7-40,SWM34SMEU6-40,SWM190RBT7-50,SWM181CBT6-50,SWM20DC6U7-50,SWM21DK6U7-50,SWM341VET7-50,SWM260CBT7-50,SWM34SCET6-50
【应用】32位MCU SWM181用来驱动段码仪表盘屏幕,最高可以支持4COM*32SEGMENT
在两轮车客户群体当中,还有非常大一部分使用的是段码仪表盘屏幕,其中现在市场上多为使用液晶控制IC,与MCU进行8080通信来控制驱动屏幕,而华芯微特的32位 MCU SWM181作为一款屏幕驱动的专用MCU,内置了SLCD控制器,可以代替传统的液晶控制IC,使成本进一步降低。
华芯微特携电机控制、TFT-LCD控制、白色家电等多款32位MCU明星产品亮相上海慕尼黑电子展
在2024上海慕尼黑电子展展会现场,华芯微特展出电机控制、TFT-LCD控制、白色家电等多款32位MCU明星产品。我们的技术团队将现场演示产品的操作过程,设置了互动体验区,让客户亲身感受华芯微产品带来的卓越性能与便捷操作。
基于华芯微特32位MCU SWM34SVET6的会议系统屏驱案例分享
智能会议系统是一种对声、光、电等各种设备进行集中控制的设备。其可实现对会议过程进行签到、表决、多国语言翻译、现场摄像视像跟踪功能,并对进程中处以发言管理,达到人性化高科技水平,使会议可一键掌控。本文介绍华芯微相关特案例。
SWM341 系列 MCU Arm China STAR-MC1 32 位微处理器数据手册
型号- SWM34SV 系列,SWM34SV,SWM341CET7-50,SWM34SRET6,SWM341RET7,SWM34SVET6,SWM34SR,SWM341,SWM34SRET6-50,SWM34SVET6-50,SWM341 系列,SWM34SMEU6-40,SWM341RET7-50,SWM341VET7–50,SWM34SMEU6,SWM341VET7,SWM341VET7-50,SWM341VET6–50,SWM34SCET6,SWM341RET749,SWM341CET7,SWM34SCET6-50,SWM34SR 系列
华芯微特推出MCU SWM34SRET6,应用于86盒智能开关,拥有多钟扩展外设接口
华芯微特推出SWM341系列的SWM34SRET6,本文将介绍SWM34SRET6在86盒智能开关产品中的应用。SWM34SRET6是一款基于ARM Cortex-M33内核,最高主频可达150MHz时钟,提供内置512KB Flash,64KB SRAM。
华芯微特2024慕尼黑上海电子展预告!专注32位MCU研发设计,面向电机控制和TFT-LCD控制等领域
2024年7月8日-7月10日,2024慕尼黑上海电子展在上海新国际博览中心举办。华芯微特展位号:E4.4815,诚意邀请各位莅临参观。华芯微特是一家由留美归国资深技术团队创立的中国芯片设计公司,是国家高新技术企业。2014年进军MCU产业,专注于32位MCU研发设计,并针对细分市场提供参考解决方案。
电子商城
现货市场
服务
可定制显示屏的尺寸0.96”~15.6”,分辨率80*160~3840*2160,TN/IPS视角,支持RGB、MCU、SPI、MIPI、LVDS、HDMI接口,配套定制玻璃、背光、FPCA/PCBA。
最小起订量: 1000 提交需求>
可烧录IC封装SOP/MSOP/SSOP/TSOP/TSSOP/PLCC/QFP/QFN/MLP/MLF/BGA/CSP/SOT/DFN;IC包装Tray/Tube/Tape;IC厂商不限,交期1-3天。支持IC测试(FT/SLT),管装、托盘装、卷带装包装转换,IC打印标记加工。
最小起订量: 1pcs 提交需求>
登录 | 立即注册
提交评论