系统切换高频时钟源(32M)
1、让两个时钟源起振
2、等待时钟源稳定
3、延时一小段时间(大于63Us)
4、不分频输出(即输出32M)
5、选择高频时钟源作为主频
6、确认当前系统时钟是不是选定的高频时钟源
共用到4个寄存器
SLEEPCMD、SLEEPSTA、CLKCONCMD、CLKCONSTA
SLEEPCMD 的第2位 如果为0 则开启两个振荡源;如果为1 则关闭CPU没有使用的那个时钟源。
1、所以让SLEEPCMD的第二位为0,开启两个时钟源。
SLEEPSTA的第6位为0,则说明还没有稳定;如果为1,则说明稳定了;
2、要等待时钟源稳定,所以查询SLEEPSTA的第6位是否为1。
3、延时大于63us
CLKCONCMD的低3位是控制分频,000表示不分频输出
| 000 | 32M |
| 001 | 16M |
| 010 | 8M |
| 011 | 4M |
| 100 | 2M |
| 101 | 1M |
| 110 | 500K |
| 111 |

本文详细介绍了如何在zigbee CC2530芯片上进行系统时钟源从16M切换到32M的步骤,包括开启两个时钟源、等待时钟稳定、设置不分频、选择高频时钟源为主频以及确认系统时钟状态。通过操作SLEEPCMD、SLEEPSTA、CLKCONCMD和CLKCONSTA四个寄存器实现该过程。
1万+

被折叠的 条评论
为什么被折叠?



