[蓝牙芯片]

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

[复制链接]
3050|14
手机看帖
扫描二维码
随时随地手机跟帖
lanjackg2003|  楼主 | 2021-4-27 21:01 | 显示全部楼层 |阅读模式
本帖最后由 lanjackg2003 于 2021-4-27 22:36 编辑

从规格书中有如下描述
205904mr6mx63ro69rqxr3.png

请问一下,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:
38603608822e14b882.png
所以这时候你这个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 分频,可以通过哪里知道呢?


533786088f70cd189f.png

使用特权

评论回复
lanjackg2003|  楼主 | 2021-4-28 14:13 | 显示全部楼层
另外关于Ncyc的取值也有一些疑惑
120206088fb8d832fd.png
该取值不应该是这个表格的内容吗
909826088fbf177fe9.png
怎么会是 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出来了。不过仍然觉得是文档有问题,原厂技术支持可以解释一下吗?
64464608ac45261fb4.png 36497608ac418aeccf.png

使用特权

评论回复
评论
lanjackg2003 2021-5-9 09:45 回复TA
@WCHTech2 :好的,谢谢 
WCHTech2 2021-5-6 09:39 回复TA
您好,可以联系技术支持咨询:025-52635389 
1425404718| | 2021-5-21 09:58 | 显示全部楼层
看他这个系统时钟就知道,都是这个调调,0等于最大值 1.png

使用特权

评论回复
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:31 回复TA
虽然我就试过串口,但可以猜到这芯片的外设分频寄存器模式就是0等于最大值,1无效,2最小值 
1425404718| | 2021-5-21 12:27 | 显示全部楼层
lanjackg2003 发表于 2021-5-21 11:08
我说的是R8_PWM_CLOCK_DIV这寄存器,不是系统时钟
你可以看一下官方对R8_PWM_CLOCK_DIV的描述及计算PWM的 ...

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

使用特权

评论回复
lanjackg2003|  楼主 | 2021-5-21 13:39 | 显示全部楼层
1425404718 发表于 2021-5-21 12:27
我的意思就是,他这个芯片时钟分频都是这种尿性,手册上写的不详细,看系统时钟的说明就可以推出来他的0 ...

我明白你的意思。
如果是0使Fpwm取最大值,那最大值是多少呢
我只是疑惑没有告诉0情况下的取值

使用特权

评论回复
评论
1425404718 2021-5-21 15:57 回复TA
默认八位寄存器,最大值255,串口分频的就是单独说了七位有效,最大值127,当然,试一下就知道,实践出真知 
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

425

帖子

7

粉丝