- 2023-11-17
-
回复了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告2:中微EPWM发波
附上EPWM的程序,请用探头测R1电阻任意两端
-
回复了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告2:中微EPWM发波
hxm3000 发表于 2023-11-14 11:59
不知道是否使用的是PACK包里的EPWM例程?我用的是这个。
如果是的话,测试的波形是哪个啊?我量了板上所 ...
有接入电源24V了吗
- 2023-11-13
-
回复了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告3波形输出.docx
不对啊,看我写的文章,非常清晰。
- 2023-11-03
-
发表了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告3-番外篇:BLDC板烧录
论坛有人发现论坛的板子烧录不了,是由于CMS32M6534E板子已经被烧写入程序,上电就把SWD服用成普通IO口,所有导致连接不上。但是,可以通过下面两种方法烧录:
第一种:利用外部工具烧录,最直接,最简单,烧录一个普通的GPIO程序HEX就可以,但需要借助中微的烧录器。
[localvideo]2c324c52e1ca5af2cfbe6a753bfd4bd8[/localvideo]
这种应该劝退很多人了把。
第二种:利用SWD模式就可以了,不要先供电,2秒内插入SWD调试线和烧录,理论是可以烧写的。请试试吧
如果可以记得反馈一下哦!
-
发表了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告2:中微EPWM发波
本帖最后由 仙景 于 2023-11-3 21:46 编辑
学习新的MCU,不得不深入学习一下芯片的PWM控制,中微的PWM做的特别好,该有的都有,功能真的很强大。
1、增强型PWM(EPWM)特性:
➢ 支持单次、连续 2 种波形输出。
➢ 支持独立、互补、同步、组控 4 种控制模式。
➢ 计数时钟可选择 1、 2、 4、 8、 16 分频。
➢ 支持边沿对齐、中心对齐 2 种计数模式。
➢ 支持 4 种加载更新方式。
➢ 可设置输出极性。
➢ 支持周期、向上比较、向下比较、零点中断。
➢ 故障刹车保护以及恢复功能。
➢互补的 PWM 中,支持可编程死区发生器。
➢PWM 边沿或周期可触发启动 AD 转换。
对于做电机控制来说,用得最多的是PWM控制,中央对齐模式,互补模式,PWM可编程死区,最重要的是PWM 边沿或周期可触发启动 AD 转换,还是双触发,爱了爱了。
我已经把它整理了一整张图,只需要看懂图片,就可以配置了。
2、实验环节:EPWM寄存器配置
独立,互补,带死区PWM输出
SYS_EnablePeripheralClk(SYS_CLK_EPWM_MSK); //64M
EPWM_ConfigRunMode( EPWM_COUNT_UP_DOWN | /*上下计数模式(中心对齐)*/
EPWM_OCU_SYMMETRIC | /*对称模式*/
EPWM_WFG_COMPLEMENTARYK | /*互补模式*/
EPWM_OC_INDEPENDENT); /*独立输出模式*/
EPWM_ConfigChannelClk( EPWM0, EPWM_CLK_DIV_1);//32M
EPWM_ConfigChannelClk( EPWM2, EPWM_CLK_DIV_1);
EPWM_ConfigChannelClk( EPWM4, EPWM_CLK_DIV_1);
//64M/16000/2 = 2000 周期
EPWM_ConfigChannelPeriod(EPWM0, 2000);
EPWM_ConfigChannelPeriod(EPWM2, 2000);
EPWM_ConfigChannelPeriod(EPWM4, 2000);
EPWM_ConfigChannelSymDuty(EPWM0, 500);
EPWM_ConfigChannelSymDuty(EPWM2, 1000);
EPWM_ConfigChannelSymDuty(EPWM4, 1500);
EPWM_EnableAutoLoadMode(EPWM_CH_0_MSK |EPWM_CH_2_MSK|EPWM_CH_4_MSK); /*自动加载*/
EPWM_EnableDeadZone(EPWM_CH_0_MSK|EPWM_CH_1_MSK|EPWM_CH_2_MSK|EPWM_CH_3_MSK|EPWM_CH_4_MSK|EPWM_CH_5_MSK,64); //死区 64*0.0156=1us
/*重映射端口与驱动对应关系*/
EPWM_EnableChannelRemap(EPWM0, IPG0);
EPWM_EnableChannelRemap(EPWM1, IPG2);
EPWM_EnableChannelRemap(EPWM2, IPG4);
EPWM_EnableChannelRemap(EPWM3, IPG1);
EPWM_EnableChannelRemap(EPWM4, IPG3);
EPWM_EnableChannelRemap(EPWM5, IPG5);
EPWM_EnableZeroInt(EPWM_CH_0_MSK); /*开启零点中断*/
EPWM_EnablePeriodInt(EPWM_CH_0_MSK); /*开启周期中断*/
NVIC_EnableIRQ(EPWM_IRQn);
NVIC_SetPriority(EPWM_IRQn,3); /*优先级0~3, 0最高、3最低*/
/*配置PWM输出口*/
SYS_SET_IOCFG(IOP01CFG, SYS_IOCFG_P01_EPWM0);
SYS_SET_IOCFG(IOP04CFG, SYS_IOCFG_P04_EPWM1);
SYS_SET_IOCFG(IOP05CFG, SYS_IOCFG_P05_EPWM2);
SYS_SET_IOCFG(IOP06CFG, SYS_IOCFG_P06_EPWM3);
SYS_SET_IOCFG(IOP07CFG, SYS_IOCFG_P07_EPWM4);
SYS_SET_IOCFG(IOP47CFG, SYS_IOCFG_P47_EPWM5);
EPWM_EnableOutput(EPWM_CH_0_MSK | EPWM_CH_1_MSK|
EPWM_CH_2_MSK | EPWM_CH_3_MSK|
EPWM_CH_4_MSK | EPWM_CH_5_MSK);
EPWM_Start(EPWM_CH_0_MSK | EPWM_CH_1_MSK|
EPWM_CH_2_MSK | EPWM_CH_3_MSK|
EPWM_CH_4_MSK | EPWM_CH_5_MSK);
通过示波器,可以看到25%,50%,75%的占空比PWM发波,请看图。
[localvideo]6e32b3cc76869111ef579e3a7514c519[/localvideo]
中微CMS32M6534E增强型EPWM分享完毕。
-
回复了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告3:求救:硬件找不到
板子被锁死了,要用其他烧录器才能解锁
-
加入了学习《直播回放: TI MSPM0 应用详解, 家用电器和电机控制》,观看 TI MSPM0 应用详解, 家用电器和电机控制
- 2023-10-29
-
回复了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告1:开箱+GPIO点亮
补上GPIO口翻转视频,补充Systick函数触发图片1ms和10ms。
[localvideo]1ec107a4ad1e25bd8500ed722aabe0ca[/localvideo]
- 2023-10-25
-
发表了主题帖:
中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)测评报告1:开箱+GPIO点亮
本帖最后由 仙景 于 2023-10-25 23:32 编辑
非常感谢论坛,目前刚好有个项目要用到这款芯片,能测评此板子,十分荣幸。
周一刚拿到板子,小板非常好看,芯片CMS32M6534DQFN40集成度非常高,整块板子非常简洁。
MCU(CMS32M6534)资源描述:
硬件电路
中微电钻/扳手(CMS32M6534E)开发板
电路图比较简单,MCU已经集成预驱,外加6个N-mos(CMS130S040P56B),重点说说反电动势检测,Bef_U、Bef_V、Bef_W是利用分压检测电机反电动势,通过对反电动势检测,
可以判定出电机转子的位置。前面的资源描述,此芯片有集成了反电动势虚拟中性点,使其控制更加简单方便。
软件工程
第一步:Kel新建工程
第二步:复制芯片驱动层
第三步:添加自己的源文件,添加头文件,编写代码
uint32_t msCnt; // count value of 1ms
//-----------Systick Config-----------------//
g_ticks = 1000; // 1000Hz
SystemCoreClockUpdate();
msCnt = SystemCoreClock / 1000;
SysTick_Config(msCnt);
//-----------GPIO Config--------------------//
#if(1)/*Input*/
GPIO_Init(PORT0,PIN3,PULLUP_INPUT); //MODE
GPIO_Init(PORT2,PIN6,INPUT); //DIR
#endif
#if(1)/*Output*/
GPIO_Init(PORT2,PIN4,OUTPUT); //DC KEY
GPIO_Init(PORT0,PIN5,OUTPUT); //LED3
#endif
while(1)
{
if(g_Tim1msFlag)
{
g_Tim1msFlag = 0;
PORT_ToggleBit(PORT0,PIN5);
}
}
main加入上代码就可以看到LED闪烁了。到此分享结束,请看下一篇。
- 2023-10-17
-
回复了主题帖:
测评入围名单:中微电钻/扳手开发板(CMS32M6534E+CMS130S040P56B)
个人信息无误,确认可以完成评测计划