简清 发表于 2025-12-8 14:33:06

请问AI8G1K08A的PCA使用PWM时频率不能改嘛?

请问AI8G1K08A的PCA使用PWM时频率固定不能改嘛?比如要实现PWM扫频,18-68Khz,如何实现比较好

简清 发表于 2025-12-8 14:45:23

AI8G1K08A的PCA使用高速脉冲输出时对应的IO是不是不能使用推挽输出只能用于准双向呢

梁工 发表于 2025-12-8 14:54:46

简清 发表于 2025-12-8 14:45
AI8G1K08A的PCA使用高速脉冲输出时对应的IO是不是不能使用推挽输出只能用于准双向呢 ...

PCA输出多数使用推挽输出,很少用准双向口。

梁工 发表于 2025-12-8 14:58:41

PCA用作PWM输出时,其PWM频率=PWM时钟 / PWM位长:
6位PWM频率 = PWM时钟 / 64;
7位PWM频率 = PWM时钟 / 128;
8位PWM频率 = PWM时钟 / 256;
10位PWM频率 = PWM时钟 / 1024;

而PWM时钟可以选择 fosc/1,/2,/4,/6,/8,/12,Timer0溢出,外部时钟输入。

DebugLab 发表于 2025-12-8 16:54:40

PCA的最大计数值是2的n次方,n=6、7、8、10,固定不可调,所以不能连续变频
非要用AI8G1K08A的话,可以尝试用IRC BAND和IRC TRIM调主频,这样可以连续调
但要注意这是非线性的,改变主频会影响所有的频率,会影响其他外设的工作,比如串口波特率
还有,需要注意27M附近有盲区,可降低精度或跳过
也可尝试用定时器或软件实现



乘风飞扬 发表于 2025-12-9 10:55:33

设置Timer0溢出频率作为PCA时钟。
通过修改Timer0溢出频率,同样可以调整PCA输出频率。

简清 发表于 2025-12-9 14:50:31

梁工 发表于 2025-12-8 14:54
PCA输出多数使用推挽输出,很少用准双向口。

好的,谢谢了
页: [1]
查看完整版本: 请问AI8G1K08A的PCA使用PWM时频率不能改嘛?