lanjackg2003 发表于 2021-4-27 21:01

关于CH573的PWMx分频寄存器R8_PWM_CLOCK_DIV取值问题

本帖最后由 lanjackg2003 于 2021-4-27 22:36 编辑

从规格书中有如下描述


请问一下,R8_PWM_CLOCK_DIV如果取值为0的话,会有什么结果?
Fpwm = Fsys / 0那么Fpwm的值此时是多少?

这个感觉有点怪,麻烦原厂工程师解答一下



kingsleych 发表于 2021-4-27 22:43

本帖最后由 kingsleych 于 2021-4-28 09:40 编辑

一般来说,wch官方提供的sdk中,CH573的主频是由于32M 进行15倍频后再进行8分频后得到60Mhz:

所以这时候你这个Fsys = 6E6.
R8_PWM_CLOCK_DIV = 0 ,实际上是0x100,就是256 分频

lanjackg2003 发表于 2021-4-28 14:06

kingsleych 发表于 2021-4-27 22:43
一般来说,wch官方提供的sdk中,CH573的主频是由于32M 进行15倍频后再进行8分频后得到60Mhz:

所以这时候你这 ...

其实无论PLL或者怎么弄,Fsys = 60Mhz就是了
但是,我没有理解你说的Fsys = 6E6的意思,它指的是什么意思?可以详细解释一下这个值吗?
另外 R8_PWM_CLOCK_DIV = 0 ,实际上是0x100,就是256 分频,可以通过哪里知道呢?




lanjackg2003 发表于 2021-4-28 14:13

另外关于Ncyc的取值也有一些疑惑

该取值不应该是这个表格的内容吗

怎么会是 Ncyc 结果在 63~256 之间

kingsleych 发表于 2021-4-28 21:17

lanjackg2003 发表于 2021-4-28 14:06
其实无论PLL或者怎么弄,Fsys = 60Mhz就是了
但是,我没有理解你说的Fsys = 6E6的意思,它指的是什么意思? ...
官方的例程中设置, 逻辑分析仪抓的6E6 科学计数法呀.

lanjackg2003 发表于 2021-4-29 12:48

kingsleych 发表于 2021-4-28 21:17
官方的例程中设置, 逻辑分析仪抓的6E6 科学计数法呀.

逻辑分析仪抓取Fsys?
那逻辑分析仪要接到芯片的哪个引脚?
感觉不对

lanjackg2003 发表于 2021-4-29 22:37

按照感觉走,4路PWMx出来了。不过仍然觉得是文档有问题,原厂技术支持可以解释一下吗?


1425404718 发表于 2021-5-21 09:58

看他这个系统时钟就知道,都是这个调调,0等于最大值

lanjackg2003 发表于 2021-5-21 11:08

1425404718 发表于 2021-5-21 09:58
看他这个系统时钟就知道,都是这个调调,0等于最大值

我说的是R8_PWM_CLOCK_DIV这寄存器,不是系统时钟
你可以看一下官方对R8_PWM_CLOCK_DIV的描述及计算PWM的频率公式 Fpwm = Fsys / R8_PWM_CLOCK_DIV
R8_PWM_CLOCK_DIV取值范围0~0xFF,
照公式计算的话R8_PWM_CLOCK_DIV的值作为除数,
那么如果取值为0的时候,会不会出现芯片报异常(0可以为除数)?
或者告知当R8_PWM_CLOCK_DIV为0情况下Fpwm取值的是多少?



1425404718 发表于 2021-5-21 12:27

lanjackg2003 发表于 2021-5-21 11:08
我说的是R8_PWM_CLOCK_DIV这寄存器,不是系统时钟
你可以看一下官方对R8_PWM_CLOCK_DIV的描述及计算PWM的 ...

我的意思就是,他这个芯片时钟分频都是这种尿性,手册上写的不详细,看系统时钟的说明就可以推出来他的0等于最大值,基本上都是同类的,看串口分频和SPI分频就知道就是这种

lanjackg2003 发表于 2021-5-21 13:39

1425404718 发表于 2021-5-21 12:27
我的意思就是,他这个芯片时钟分频都是这种尿性,手册上写的不详细,看系统时钟的说明就可以推出来他的0 ...

我明白你的意思。
如果是0使Fpwm取最大值,那最大值是多少呢
我只是疑惑没有告诉0情况下的取值
页: [1]
查看完整版本: 关于CH573的PWMx分频寄存器R8_PWM_CLOCK_DIV取值问题