APM32F4 的 TIM1-CCER寄存器有bug
板子是一个一拖二的驱动器,这两天要新增一个传统六步换向的功能。因为线圈是需要两两导通的,所以必须得暂时关闭三个半桥的其中一个半桥,所以使用CCER寄存器的TIM1-CHxN TIM1-CHx的暂时关闭输出功能。
TIM8连接的电机一直都是能正常工作的,而TIM1连接的电机剧烈震动。
排查了2天的程序,最后怀疑到芯片头上。
刚刚去把APM32F4换成了STM32F4,问题迎刃而解。
原本想省个10块钱的芯片钱,这下泡汤了。
联系FAE,应该有变通的办法 厂家承诺了百分百可以 bin兼容ST的?否则一定就是芯片BUG吗?
其实我觉得主打bin兼容别人厂家都挺无耻的。
Landmark 发表于 2023-11-24 14:06
厂家承诺了百分百可以 bin兼容ST的?否则一定就是芯片BUG吗?
其实我觉得主打bin兼容别人厂家都挺无耻的。 ...
(引用自3楼)
之前论坛上问过,别人说一行代码都不用改。
https://www.amobbs.com/thread-5782814-1-1.html
目前也是直接在APM32F4上运行STM32F4的FOC程序,整个程序涉及的外设很多,运行起来并未发现异常。
TIM1 CCER寄存器是最近要添加BLDC六步换向法时是首次发现的异常。
qwe2231695 发表于 2023-11-24 13:52
联系FAE,应该有变通的办法
(引用自2楼)
这几天一直在跟原厂FAE沟通解决,那边还寄过来新版本的芯片让我替换测试,还是老样子。
要使用传统六步换向就只能使用原厂STM32了。
sy8501 发表于 2023-11-29 13:22
这几天一直在跟原厂FAE沟通解决,那边还寄过来新版本的芯片让我替换测试,还是老样子。
要使用传统六步 ...
(引用自5楼)
传统BLDC六步换向,我看到是有APM32在出货。 关闭输出可以通过比较通道赋值的办法? qwe2231695 发表于 2023-11-29 14:02
传统BLDC六步换向,我看到是有APM32在出货。 关闭输出可以通过比较通道赋值的办法? ...
(引用自6楼)
两种方法,一种是下桥直接IO控制,但这种占空比到80~90%就嗝屁了。
另一种方法是,全程互补PWM,不使用的那个半桥通过CCER寄存器关掉输出。APM32的TIM1就是这里用不起来,TIM8正常。 sy8501 发表于 2023-11-29 14:06
两种方法,一种是下桥直接IO控制,但这种占空比到80~90%就嗝屁了。
另一种方法是,全程互补PWM,不使用 ...
(引用自7楼)
可以使用GPIO模式配置,暂时关闭那个互补通道的GPIOAF功能来实现引脚不被定时器控制。 qwe2231695 发表于 2023-11-29 14:09
可以使用GPIO模式配置,暂时关闭那个互补通道的GPIOAF功能来实现引脚不被定时器控制。 ...
(引用自8楼)
理论上应该可以。
这个方法你试过吗?
sy8501 发表于 2023-11-29 14:24
理论上应该可以。
这个方法你试过吗?
(引用自9楼)
没有在这个情况下用,试过关闭复用就可以单独控制了。
页:
[1]