主题中讨论的其他器件: AM5728
您好!
我有一个关于 AM3874时钟模块的问题。
我的客户将20MHz 时钟输入到 AMICR 的 DEV_CLKIN。 而用于 RTC 的32.768kHz CLK 由内部时钟模块提供。
我想知道这个时钟模块的精度。 因为我的客户说 AM3874器件每月会延迟几分钟。
我想知道 时钟模块的精度。 请告诉我。
感谢您的快速回复。
此致、
Michi
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我有一个关于 AM3874时钟模块的问题。
我的客户将20MHz 时钟输入到 AMICR 的 DEV_CLKIN。 而用于 RTC 的32.768kHz CLK 由内部时钟模块提供。
我想知道这个时钟模块的精度。 因为我的客户说 AM3874器件每月会延迟几分钟。
我想知道 时钟模块的精度。 请告诉我。
感谢您的快速回复。
此致、
Michi
Michi、
您是否需要了解 AM387x RTC 模块的精度? 如果是、请参阅 AM387x TRM 第20章实时时钟(RTC)。 以下摘录:
实时时钟是一个精确的计时器、可根据用户指定的时间间隔生成中断。 中断可以每秒、每分钟、每小时或每天发生一次。 如果时钟始终具有足够的电源、则时钟本身可以跟踪几年持续时间内的实时通过情况。
实时时钟(RTC)提供以下特性:
•100年日历(xx00至 xx99)
•使用闰年补偿计算秒、分钟、小时、周中某天、日期、月份和年份
•时间、日历和警报的二进制编码小数(BCD)表示
•12小时时钟模式(带 AM 和 PM)或24小时时钟模式
如果您使用外部引脚(CLKIN32、J7)为 RTC 提供32k 时钟、请确保您符合 AM387x 数据表表表表表8-18中所述的 CLKIN32时序要求。 CLKIN32的时序要求
如果您使用器件振荡器(晶体)为 RTC 提供32k 时钟、请确保您符合 AM387x 数据表表表表表8-11中所述的 DEVOSC 要求。 器件振荡器上晶体电路的输入要求(DEVOSC)
如果您使用的是外部时钟振荡器、请确保您符合 AM387x 数据表表表表表8-15中所述的时序要求。 DEVOSC_MXI/DEV_CLKIN 的时序要求
另请参阅以下指针是否将在帮助中:
此致、
帕维尔
Michi、
我发现 AM57x 器件中的 RTC 分频器增加了一些误差、我假设这同样适用于 AM387x 器件。
通常、RTC 参考时钟为32768Hz、可由15位二进制值表示。 20MHz 除以610是32786.8852Hz、不能用二进制值表示。 这种差异表示576.33 PPM 误差、不能提供非常精确的 RTC。
该 PPM 误差会导致 RTC 分频器产生大约0.058%的误差。 这种每月10分钟延迟的原因可能是来自外部晶体的0.058%加1%。
通常、RTC 的精度取决于晶体的精度。 根据数据表、RTC 时钟输入频率的额定最大容差为±200ppm (±0.02%)(请参阅表8-15)。 DEVOSC_MXI/DEV_CLKIN 的时序要求)。 请考虑这是最大值。 您应该选择较低的值以获得更高的精度。
RTC IP 具有晶体补偿功能。 有关更多详细信息、请参阅 AM387x TRM 的"20.2.4.6晶体补偿"部分。
此致、
帕维尔
[报价用户="Michi Yama">我无法访问您发布的三个 E2E 链接。 我是否可以访问这些网站?
此链接适用于内部 E2E 论坛。 您可以通过您当地的 TI FAE 来访问它。 我在这个 e2e 线程中发布了主要信息、再次发布它:
通常、RTC 参考时钟为32768Hz、可由15位二进制值表示。 20MHz 除以610是32786.8852Hz、不能用二进制值表示。 这种差异表示576.33 PPM 误差、不能提供非常精确的 RTC。
尊敬的 Pavel-San:
感谢您的持续合作。
我想确认一些要点。 请参阅以下内容。
1)关于“576.33 PPM 错误”:您指出32786.8852Hz 和32768Hz 之间的差异为576.33PPM。 该值是否由以下公式得出?
32786.8852 / 32768 = 1.000576330564 --> 576.33 ppm
2) 2)是否始终添加此错误? 在另一个病房中、RTC 是否始终延迟?
3) 3)如果输入时钟20MHz 为+-0ppm、则每月的误差如何? 下面是我的估计值。 我认为有两种方法。
a) 32768Hz: 1秒。 = 32768 * 1 / 32768 = 0.999973376秒
32786Hz: 1秒。 = 32768 * 1 / 32786 = 0.99945086976秒
0.999973376 - 0.99945086976 = 0.00054886784 --> 549us 延迟 /秒
549us x (60 x 60 x 24) = 47.4336 延迟/天
47.4336 x 30 = 1423.008秒 = 23.7168分钟延迟/月 --- >延迟约24分钟/月。
b)每秒的差值为576.33ppm --- > 576.33 x 10 (^-6) x 60 x 60 x 24 x 30 = 1493。 84736秒 = 24。 897456 分钟--- >大约延迟24分钟/月
4) 4)您说此信息可在 AM5728的内部 E2E 中找到。 这意味着 AM5728存在相同的问题。 我的理解是否正确?
5) 5)根据 AM3874的 TRM、AM3874具有补偿(LSB 或 MSB)寄存器。 此寄存器是否有助于消除576.33ppm 误差?
6) 6)根据 AM3874的 TRM、RTCDIVIDER 可从20MHz 输入生成32768Hz。 但实际上、它是32786Hz、而不是32768Hz。 这是 TRM 的拼写错误吗?
感谢您的持续支持。
此致、
Michi
[引用用户="Michi Yama"]
1)关于“576.33 PPM 错误”:您指出32786.8852Hz 和32768Hz 之间的差异为576.33PPM。 该值是否由以下公式得出?
32786.8852 / 32768 = 1.000576330564 --> 576.33 ppm
[/报价]
不、这是不正确的。 让我仔细检查一下、然后使用正确的公式返回给您。
2)是否始终添加此错误? 在另一个病房中、RTC 是否始终延迟? [/报价]
是的
[引用 USER="Michi Yama]3)如果输入时钟20MHz 为+-0ppm,那么每月的误差是多少? 下面是我的估计值。 我认为有两种方法。[/引述]
当输入20MHz 时钟为+- 0ppm 时、您将只有来自 RTCDivider 的延迟、+- 0.058%(+- 576.33ppm)
4)您说过此信息可在 AM5728的内部 E2E 中找到。 这意味 着 AM5728 存在相同的问题。 我的理解是否正确?[/引述]
AM57x 有此问题、我怀疑 AM387x 也有此问题
[引用 USER="Michi Yama]5)根据 AM3874的 TRM, AM3874 具有补偿(LSB 或 MSB)寄存器。 此寄存器是否有助于消除576.33ppm 错误?[/quot]
是的、至少达到某个扩展
[引用 USER="Michi Yama]6)根据 AM3874的 TRM、RTCDIVIDER 可以从20MHz 输入生成32768Hz。 但实际上、它是32786Hz、而不是32768Hz。 TRM 的这一拼写错误吗?
否 这是出于目的、请注意、如果您需要精确的 RTC 计时器、则应提供外部32768Hz 时钟、而不是使用 RTCDivider。
[引用 user="Michi Yama"] b)每秒的差异为576.33ppm --- > 576.33 x 10 (^-6) x 60 x 60 x 24 x 30 = 1493。 84736秒 = 24。 897456 分钟--- >大约24分钟延迟/月[/报价]
正确
此致、
帕维尔
[引用用户="Michi Yama"]
1)关于“576.33 PPM 错误”:您指出32786.8852Hz 和32768Hz 之间的差异为576.33PPM。 该值是否由以下公式得出?
32786.8852 / 32768 = 1.000576330564 --> 576.33 ppm
[/报价]
32786.8852 - 32768 = 18.8852
18.8852/32768 = 0.000576331
0.000576331 * 10E-6 = 576.33