RTCは、ピンアップウェイクとすることができない、したがって該当しない関連するレジスタのビット(例えばRTC_CR [WPS]、RTC_CR [WPE]、RTC_IER [WPON])。
さらに、デバイスは、ソフトウェアの構成によって(水晶発振器を含む)コンデンサできない可変キャパシタを統合されていません。
デバイスは内部32.768kHz水晶発振器を有していません。32.768 kHzのクロック・リファレンスこの章では全てRTC_CLKです。利用可能なクロック・ソースの場合、表27-9 RTCは、クロッキング参照してください。
画面キャプチャ時間クリップ:2019年3月9日10時19分
RTC割り込みはRTC_IERレジスタとして、リセット時に有効になります。一度NVIC割り込みでは有効になって、割り込みが発生します。
RTCを有効にする前に、RTCは、ソフトウェアリセットを提供する必要があります。
RTCは、フリップフロップ及びVLPS STOP(TRIGMUXによって)複数の生成することができません。それは複数のトリガを必要とするため、例えば、トリガーLPITは、アキュムレータモードでは動作しません。他の電力モードの場合、それは通常のトリガを複数生成してもよいです。
プロパティ
RTCの機能モジュールを含みます。
•32ビットの第2のカウンタ、横転保護およびアラーム機能32を有します
3906 ppmで0.12 ppmの間•16ビットプリ復調器、補正機能付き、訂正可能なエラー
•選択1kHzのLPOの前処理は、(事前復調器のクロックエッジごとに32の増加)が大きくなります
•ライトプロテクトレジスタ
•ロックPORまたはソフトウェア・リセット・レジスタは書き込みアクセスを有効にする必要があります
•設定1,2,4,8,16,32,64又は128ヘルツの方形波出力、選択可能な割り込み
動作モード
RTCは、すべての低消費電力モードで動作することができ、および任意の低電力モードを終了するには、割り込みを生成することができます。
画面キャプチャ時間クリップ:2019年3月9日10時38分
定義を登録します
すべてのレジスタは、すべてのレジスタへのアクセスが3つの待ち状態につながる、32ビットの書き込みアクセスを使用する必要があります。
レジスタへの書き込みアクセスのための非管理ソフトウェア明確なアクセス制御レジスタのビットを管理する場合、それはバスエラーを終了します。
正常に完了した非管理ソフトウェアへのアクセスをお読みください。
登録は、バスエラーが発生しないレジスタにより保護書きますが、書き込みが完了しませんロックします。
屏幕剪辑的捕获时间: 2019/3/9 10:43
电源、时钟和复位
RTC总是上电,在所有低功率模式下保持可用。
RTC的时间计数器默认时钟是32.768 kHz。
或者,时间计数器可以由一个LPO 1khz时钟计时,预调器将为每个LPO时钟增加32。
上电复位信号初始化所有RTC寄存器到它们的默认状态。软件复位位也可以初始化所有的RTC寄存器。
振荡器控制
32.768kHZ的晶体振荡器在上电复位是禁用的,必须通过软件启用。
启用晶体振荡器后,设置SR[TCE]或使用RTC外部的振荡器时钟前等待振荡器启动时间。
该晶体振荡器包括可调谐电容器,可通过软件配置。除非振荡器被禁用,否则不要改变电容。
软件复位
将1写入CR[SWR]就相当于把RTC模块重新上电复位。
CR[SWR]不受软件复位的影响,必须由软件清除。
supervisor access
当the control bit 置0时,只有supervisor mode软件才能写入RTC寄存器,non-supervisor mode软件将产生总线错误。无论是管理员模式还是非管理员模式的软件都可以读取RTC寄存器。
Time counter
时间计数器由每秒钟递增一次的32位秒计数器和每32.768 kHz时钟周期递增一次的16位预分频寄存器组成。还可以选择使用一个1 kHz的LPO对预调度器进行计时,该LPO在每个时钟周期内将预调度器增加32。
在计时计数器(秒或预调器)递增时读取计时计数器可能会由于读取数据总线的同步而返回无效数据。如果软件需要在预调器或秒计数器可以递增时读取它们,建议执行两次读取访问,并且软件验证两次读取返回的数据是否相同。
只有当SR[TCE]置0,才可以写秒寄存器和时间预分频器。在写入秒寄存器之前,始终要先写入预计算寄存器,因为秒寄存器在预计算寄存器的第14位下降沿上递增。
如果设置了SR[TCE]置1、SR[TIF]置0、SR[TOF]置0和32.768 kHz(或1 kHz)时钟源,则时间预调寄存器增量。启用振荡器后,等待振荡器启动时间,然后再设置SR[TCE],使振荡器时钟输出的时间稳定下来。
如果时间秒寄存器溢出,那么SR[TOF]将被置1,时间预分配器寄存器将停止递增。通过初始化时间秒寄存器来清除SR[TOF]。当SR[TOF]为1时,时间秒寄存器和时间预估寄存器读取为零。SR[TIF]在POR和软件重置上设置,并通过初始化时间秒寄存器来清除。每当设置SR[TIF]时,时间秒寄存器和时间预调寄存器读取为零。
SR[TIF]在上电复位和软件复位会被置1,通过初始化时间秒寄存器来清0。当SR[TIF]为1,时间秒寄存器和时间预调寄存器读取为零。
补偿
补偿逻辑提供了一个准确和广泛的补偿范围,可以纠正高达3906 ppm和低至0.12 ppm的错误。补偿因子必须由外部计算到RTC,并由软件提供给补偿寄存器。RTC本身并不计算所需的补偿量,通过1hz时钟输出到外部引脚以支持外部校准逻辑。
晶体补偿可以通过使用固件和晶体特性来确定补偿量。温度补偿可以由固件支持,固件定期通过ADC测量外部温度,并根据指定晶体频率随温度变化的查找表更新补偿寄存器。
补偿逻辑改变了预分配器寄存器溢出和增加时间秒计数器所需的32.768 kHz时钟周期数。时间补偿值用于调整-127到+128之间的时钟周期数。
当预编程序寄存器等于0x3FFF时,从预编程序寄存器中添加或减去循环,然后递增。补偿区间用于调整使用时间补偿值的频率,即从每秒一次调整到每256秒一次。
如果上一个补偿间隔已经过期,则对时间补偿寄存器的更新将直到下一次时间秒寄存器增量时才生效。
当补偿间隔设置为每秒一次以外的时间间隔时,补偿应用于第一个秒间隔,其余秒间隔不接受补偿。
通过将时间补偿寄存器配置为零,可以禁用补偿。
当预调器配置为使用1 kHz LPO递增时,有效补偿值除以32,只能调整-4到+3之间的时钟周期数。
Time alarm
时间报警寄存器(TAR)、SR[TAF]和IER[TAIE]允许RTC在预定义的时间生成中断。32位TAR每次递增都会与32位时间秒寄存器(TSR)进行比较。SR[TAF]将在TAR = TSR和TSR增量时置1。
通过写TAR清除SR[TAF]。这通常是下一个报警值,尽管写一个小于TSR的值,比如0,将阻止SR[TAF]再次设置。否则不能禁用SR[TAF],尽管它生成的中断由IER[TAIE]启用或禁用。
更新模式
控制寄存器(CR[UM])中的更新模式字段配置对时间计数器Enable (SR[TCE])字段的软件写访问。当CR(嗯)是明确的,可以编写SR (TCE)只有当LR (SRL)。当CR(嗯),SR (TCE)也可以写当SR (TCE)是明确的或当SR (TIF)或SR (TOF)。这使得时间秒,预定标器寄存器初始化时时间是无效的,而防止时间秒,预定标器注册动态改变。当
设置LR[SRL], CR[UM]对SR[TCE]没有影响。
寄存器锁
锁寄存器(LR)可以用来阻止对某些寄存器的写访问,直到下一次POR或软件重置。锁定控制寄存器(CR)将禁用软件重置。锁定LR将阻止将来对LR的更新。
对锁定寄存器的写访问将被忽略,并且不会生成总线错误。
中断
RTC中断在状态标志和相应的中断启用位同时置1时被启用。它总是在POR和软件重置上被启用。通过启用特定于芯片的RTC时钟门控制位,可以在芯片级启用RTC中断。RTC中断可以用来唤醒芯片从任何低功耗模式。
RTC秒中断是一个边缘敏感的中断,它有一个专用的中断向量,每秒生成一次,不需要软件开销(没有相应的状态标志需要清除)。它在RTC中通过时间秒中断启用位启用,在芯片级通过设置芯片特定的RTC时钟门控制位启用。秒中断的频率默认为1hz,但是可以将其配置为每2、4、8、16、32、64或128 Hz触发一次。
Time Prescaler Register
当时间计数器启用时,只读取TPR,并且每32.768 kHz时钟周期递增一次。
当设置SR[TOF](Time Overflow Flag)或SR[TIF](Time Invalid Flag)时,时间计数器读取为零。当禁用时间计数器时,可以读取或写入TPR。当TPR的第14位(32767)从逻辑1转换到逻辑0时,TSR[TSR]递增。
由一组可编程计数器组成,分成两个模块。第一个模块是RTC的预分频模块,它可编程产生最长为1秒的RTC时间基准TR_CLK。RTC的预分频模块包含了一个20位的可编程分频器(RTC)TR_CLK 周期中RTC产生一个中断(秒中断)。第二个模块是一个32位的可编程计数器,可被初始化为当前的系统时间。系统时间按TR_CLK周期累加并与存储在RTC_ALR寄存器中的可编程时间相比较,如果RTC_CR控制寄存器中设置了相应允许位,比较匹配时,将产生一个闹钟中断。