ZHCSZ56A July 2025 – November 2025 DP83TC815-Q1
PRODUCTION DATA
DP83TC815-Q1 具有一个内置 PPM 监测器,用于计算任意两个内部时钟源之间或外部时钟源与任何内部时钟源之间的频率偏移。PPM 监测器是一款连续监测器,可提供两个时钟源之间的实时频率偏移。
PPM 监测器接收基准时钟,并将频率偏移与监控时钟进行比较。可从以下选项中选择基准时钟和监控时钟:
以下软件序列可用于读取频率偏移
计算 12.5MHz 外部时钟(在 GPIO5 上)、25MHz XI 输入时钟之间的 PPM 偏移,刷新周期为 10ms
| 步骤 | 说明 | 编程 | 注释 |
|---|---|---|---|
| 1 | 禁用 PPM 监测器 | 0x01AF = 0x0000 | |
| 2 | 选择基准时钟(GPIO5 输入)和监控时钟(XI 时钟输入) | 0x01AF = 0xC800 | 启用 PPM 监测器和时钟选择使用同一个寄存器。必须注意不要覆盖寄存器的其他字段 |
| 3 | 选择刷新周期 = 10ms | - | |
| 4 | 对监控时钟计数和基准时钟计数进行编程 |
0x01A4 = 0x0003 0x01A3 = 0xD090 0x01A6 = 0x0001 0x01A5 = 0xE848 |
对于 10ms 刷新周期的计数值
|
| 5 | 启用 PPM 监测器 | 0x01AF = 0xE800 | 启用 PPM 监测器和时钟选择使用同一个寄存器。注意不要覆盖寄存器的其他字段 |
| 6 | 在至少一个刷新周期后锁存 PPM 值 | 0x01AF = 0xE810 | 锁存 PPM 值以读取寄存器。 |
| 7 | 读取 PPM 偏移值寄存器 |
读取寄 0x01AE 和 0x01AD |
对于 12.5MHz + 0ppm 的外部时钟,XI 输入为 25MHz+ 100ppm、读出值为 0x01AE = 0x8000 和 0x01AD = 0x0019 |
| 8 | 计算 PPM 偏移 | - | PPM 偏移 = 0x0019/0x0003D090 = 1e-4 (100ppm) |
如果监控时钟的 PPM 超过配置的阈值,PPM 监测器还可用于提供解锁中断。
以下软件序列可用于配置中断阈值
按 表 7-9 中所示,对前面的示例启用中断,其中 PPM 阈值选择为 200ppm
| 步骤 | 说明 | 编程 | 注释 |
|---|---|---|---|
| 1 | 禁用 PPM 监测器 | 0x01AF[13] = 0 | |
| 2 | 选择 PPM 阈值 | - | 为该示例选择 200ppm |
| 3 | 计算计数器寄存器阈值 | - | 计数器寄存器阈值 = 200*10-6* 250000 = 50 |
| 4 | 编程时钟计数器寄存器阈值 |
0x01A8 = 0x0000 0x01A7 = 0x0032 0x01AA = 0x0003 0x01A9 = 0xD090 |
在寄存器 {0x01A8,0x01A7} 和 {0x01AA,0x01A9} 中加载计数器阈值 |
| 5 | 在 INT_N 引脚上启用 PPM 中断指示 | 0x0017 = 0x0008 | |
| 6 | 启用 PPM 监测器 | 0x01AF[13] =1 | |
| 7 | 等待至少 1 个刷新周期并读取状态 | 读取 0x0017[11] |