sy8501 发表于 2023-11-24 13:11:11

APM32F4 的 TIM1-CCER寄存器有bug

板子是一个一拖二的驱动器,这两天要新增一个传统六步换向的功能。

因为线圈是需要两两导通的,所以必须得暂时关闭三个半桥的其中一个半桥,所以使用CCER寄存器的TIM1-CHxN TIM1-CHx的暂时关闭输出功能。

TIM8连接的电机一直都是能正常工作的,而TIM1连接的电机剧烈震动。

排查了2天的程序,最后怀疑到芯片头上。

刚刚去把APM32F4换成了STM32F4,问题迎刃而解。

原本想省个10块钱的芯片钱,这下泡汤了。


qwe2231695 发表于 2023-11-24 13:52:04

联系FAE,应该有变通的办法

Landmark 发表于 2023-11-24 14:06:36

厂家承诺了百分百可以 bin兼容ST的?否则一定就是芯片BUG吗?

其实我觉得主打bin兼容别人厂家都挺无耻的。

sy8501 发表于 2023-11-24 14:49:28

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六步换向法时是首次发现的异常。

sy8501 发表于 2023-11-29 13:22:31

qwe2231695 发表于 2023-11-24 13:52
联系FAE,应该有变通的办法
(引用自2楼)

这几天一直在跟原厂FAE沟通解决,那边还寄过来新版本的芯片让我替换测试,还是老样子。

要使用传统六步换向就只能使用原厂STM32了。

qwe2231695 发表于 2023-11-29 14:02:26

sy8501 发表于 2023-11-29 13:22
这几天一直在跟原厂FAE沟通解决,那边还寄过来新版本的芯片让我替换测试,还是老样子。

要使用传统六步 ...
(引用自5楼)

传统BLDC六步换向,我看到是有APM32在出货。 关闭输出可以通过比较通道赋值的办法?

sy8501 发表于 2023-11-29 14:06:06

qwe2231695 发表于 2023-11-29 14:02
传统BLDC六步换向,我看到是有APM32在出货。 关闭输出可以通过比较通道赋值的办法? ...
(引用自6楼)

两种方法,一种是下桥直接IO控制,但这种占空比到80~90%就嗝屁了。

另一种方法是,全程互补PWM,不使用的那个半桥通过CCER寄存器关掉输出。APM32的TIM1就是这里用不起来,TIM8正常。

qwe2231695 发表于 2023-11-29 14:09:53

sy8501 发表于 2023-11-29 14:06
两种方法,一种是下桥直接IO控制,但这种占空比到80~90%就嗝屁了。

另一种方法是,全程互补PWM,不使用 ...
(引用自7楼)

可以使用GPIO模式配置,暂时关闭那个互补通道的GPIOAF功能来实现引脚不被定时器控制。

sy8501 发表于 2023-11-29 14:24:18

qwe2231695 发表于 2023-11-29 14:09
可以使用GPIO模式配置,暂时关闭那个互补通道的GPIOAF功能来实现引脚不被定时器控制。 ...
(引用自8楼)

理论上应该可以。

这个方法你试过吗?

qwe2231695 发表于 2023-11-29 14:41:26

sy8501 发表于 2023-11-29 14:24
理论上应该可以。

这个方法你试过吗?
(引用自9楼)

没有在这个情况下用,试过关闭复用就可以单独控制了。
页: [1]
查看完整版本: APM32F4 的 TIM1-CCER寄存器有bug