文章目录
- 1. 介绍
- 2. 时钟源
- 2.1 scillator Circuit (OSC)
- 2.1.1 外部时钟输入模式
- 2.1.2 外部晶体/陶瓷谐振器模式
- 2.1.3 振荡器的配置
- 2.1.4 Oscillator Watchdog
- 2.2 Back-up Clock
- 3. 锁相环(PLL)
- 3.1 系统锁相环
- 3.1.1 Features
- 3.1.2 框图
- 3.2.外设锁相环
- 3.2.1 Features
- 3.2.2 框图
- 4. Clock distribution (CCU)
- 4.1 框图
- 4.2 时钟分频限制
- 4.3 各模块时钟
- 5. 其他
1. 介绍
Ifx时钟系统由多个不同的小模块组成,具体如下:
- Basic clock generation (Clock Source)
- Clock speed up-scaling (PLLs)
- Clock distribution (CCU)
接下来按模块进行讲解,对于用户主要关心CCU模块即可。
2. 时钟源
系统内部可以并行使用多个时钟源,但每个外设的主要功能在任何时候都只与一个时钟源相关。
2.1 scillator Circuit (OSC)
振荡器电路,皮尔斯振荡器,设计用于外部晶体/陶瓷谐振器或外部稳定时钟源。该电路由XTAL1作为输入的反相放大器和XTAL2作为输出的集成反馈电阻组成。
2.1.1 外部时钟输入模式
当使用外部时钟信号时,它必须连接到XTAL1。XTAL2保持打开状态(未连接)。
当直接提供时钟信号时,不使用外部晶体/陶瓷谐振器并绕过振荡器,如果在正常模式下使用,输入频率需要等于或大于锁相环的DCO输入频率(该值列在数据表中)。
2.1.2 外部晶体/陶瓷谐振器模式
下图显示了两种工作模式的推荐外部电路:带和不带外部元件的外部晶体/陶瓷谐振器模式。
2.1.3 振荡器的配置
在使用外部晶体/陶瓷谐振器作为时钟源之前,总是需要振荡器的配置。
在任何上电复位后,振荡器被禁用,需要按照手册的描述进行配置。在任何其他复位期间和之后,振荡器不受影响,并按先前配置操作,这种情况下不需要重新配置。
对于这个启动配置,支持两个选项:
- 通过SSW进行配置
- SSW执行后的配置,具体配置流程见Part1,P741
2.1.4 Oscillator Watchdog
通过配置SYSPLLCON0.INSEL = 01B,选择振荡器时钟作为看门狗的源。结合系统锁相环实现监控功能。该特性用于检测外部晶体/陶瓷谐振器的严重故障。该系统可以检测时钟输入的丢失或输入频率过高(操作在更高的谐波上)。
振荡器看门狗监视来自osc的输入时钟频率fosc。稳定和定义的输入频率是运行的强制性要求。因此每次系统复位后都会自动选择该模式。
期望的输入频率fOSC是通过位场OSCCON.OSCVAL选择的。OSC_WDT检查过低或过高的频率。
在配置OSC_WDT功能之前,需要关闭SMU振荡器看门狗告警响应选项,以避免SMU产生意外告警。之后,可以修改OSCCON.OSCVAL的值。然后应该通过设置OSCCON.OSCRES重置OSC_WDT。这要求用新配置开始OSC_WDT监视。当预期的监测结果为时。当设定OSCCON.PLLLV和/或OSCCON.PLLHV的预期positive监测结果时,输入频率在预期范围内。当设置OSCRES清除两个位PLLLV和PLLHV时,两个状态标志都要设置。因此,在再次使能SMU告警响应之前,需要清除这两个标志。如果没有修改OSCVAL,只设置了位OSCRES,也应该使用SMU告警disable -clear - enable顺序。
2.2 Back-up Clock
如果SMU检测到振荡器看门狗告警,则必须执行与锁相环丢失锁事件相同的恢复过程。有备用时钟源作为备用时钟源。此时钟源提供了稳定可靠的时钟源可以作为系统时钟的时钟源。它提供的精度不如外部晶体或陶瓷谐振器。备份时钟不能被启用或禁用,也不能被控制以阻止其正常运行。因此,除了选择备用时钟作为时钟源(CCUCON0.CLKSEL = 00B作为时钟分布的时钟源,SYSPLLCON0.INSEL = 00B作为两个锁相环的时钟源)之外,没有可用的控制位。
3. 锁相环(PLL)
利用外部输入的参考信号控制环路内部振荡信号的频率和相位。因锁相环可以实现输出信号频率对输入信号频率的自动跟踪,所以锁相环通常用于闭环跟踪电路。
此处是将将低频外部时钟信号转换为高速稳定内部时钟信号。
3.1 系统锁相环
3.1.1 Features
- DCO lock detection
- 3-bit input divider P (divide by PDIV+1)
- 7-bit feedback divider N (multiply by NDIV+1)
- 3-bit output divider K2 (divide by K2DIV+1)
- Oscillator Watchdog
- Detection of input frequencies that are too low
- Detection of input frequencies that are too high
- Frequency Modulation with low jitter
备注:最后两项外设PLL没有。
3.1.2 框图
此处仅提供输入输出关系,具体原理等内容,自行了解。
输出频率计算公式为:
3.2.外设锁相环
3.2.1 Features
- DCO lock detection
- 3-bit input divider P (divide by PDIV+1)
- 7-bit feedback divider N (multiply by NDIV+1)
- 3-bit output divider K2 (divide by K2DIV+1)
- 3-bit output divider K3 (divide by K3DIV+1)
3.2.2 框图
此处仅提供输入输出关系,具体原理等内容,自行了解。
输出频率:
4. Clock distribution (CCU)
使用时钟系统的前两个部分,定义了系统运行所依赖的所有根时钟。在下面,这些根时钟需要单独调整频率(划分)并分发到所有MCU的模块。
在时钟分配方面,系统被分成若干个子时钟域,每个子时钟域的时钟速度可以单独配置。从内部接口导出的每个子时钟域也有限制。从时钟的角度来看,每个子时钟域定义一个逻辑单元。
时钟分发通过CCU完成。CCU接收由两个锁相环(fPLL0和fPLL1/2)、备份时钟fBACK和fOCS0创建的时钟,这些时钟通过分配器后提供给子时钟域。
4.1 框图
CCU时钟选项
4.2 时钟分频限制
4.3 各模块时钟
Ifx提供了20M和25M外部时钟示意图,主要区别是前面的PLL输出频率不同,最终通过分频器输出给各子模块的时钟均相同。
5. 其他
时钟系统还提供了外部时钟输出,时钟监控等功能,具体见Ifx手册,此处不详细描述。