愛普生新款RX8901CE即時時鐘模組,內建時間戳記功能與應用說明 (上)
【RX8901規格功能概述】
Epson RX8901CE是一個RTC模組,具有整合的32.768 kHz數位溫度補償晶體振盪器(Digital Temp. Compensation X’Tal Oscillator)。它包括各種功能,如時間戳記功能,可以在「外部」或「內部事件」發生時記錄多達32組日期和時間,以及基本的RTC功能,如時間日曆、時間警報、喚醒計時器和時間更新中斷。RX8901CE結合了電源自動切換功能,包括防止主電源反向電流的控制電路,維持自動溫度校正的精準32.768 kHz振盪器時間源,以及愛普生的低電流消耗技術,在各種系統上實現了更長的電池使用或待機壽命。
【時間戳記相關功能介紹】
RX8901CE支援時間戳記功能,用於記錄因EVINn引腳輸入訊號變化而產生的外部事件或內部事件(如自監控功能檢測到的電壓下降或振盪停止狀態)而產生的日期/時間和事件因素等資訊。時間戳記功能的主要特點概述如下:
時間戳記觸發來源
1. 外部事件偵測輸入:
- 最多可支援EVINn,n=3組通道(EVIN1, EVIN2, EVIN3)
- 內部可設定上拉/下拉電阻
- 信號觸發方法可以選擇: 前緣觸發,後緣觸發或同時
- 內建雜訊濾波器(可選濾波時間:0 ~ 5000 mS, 每一階為125mS)
- 事件計數器
- 可以監控輸入引腳狀態
2. 內部狀態事件偵測:
- VBAT電壓下降偵測
- VDET1電壓下降偵測
- VDET2電壓下降偵測
- 內部振盪器停止振盪偵測
3. MPU寫入觸發:
- 寫入特定暫存器位址可以觸發寫入時間戳記
時間戳記緩衝區:
- 256-byte的SRAM
- 支援3種緩衝區操作模式:
FIFO模式: 將SRAM用做FIFO記錄資料
Direct模式: 將SRAM劃分為3個區域,用於3組事件通道單獨記錄資料
SRAM模式: 允許讀寫SRAM
- FIFO模式允許所有類型的事件,最多可記錄32組時間戳記資料,以事件觸發時間將時間戳記資料以先進先出方法記錄於內建SRAM記憶體中。
- Direct模式允許每一組通道最多可記錄10組時間戳記資料(通道2可記錄12組時間戳記資料)
- 當內建256Bytes SRAM記憶體溢滿時,透過OVWEN bit (Over-Write Enable),可設定二種寫入模式
可自動覆寫模式(OVWEN = 1b) : 不需確認,允許自動覆寫SRAM啟始資料區塊
未經許可,禁止自動覆寫模式(OVWEN = 0b) : 未經覆寫許可,禁止覆改SRAM
數據紀錄:
1/1024秒至1秒、分鐘、小時、日、月、年、EVINn的引腳狀態、電壓下降、振盪狀態以及上述時間戳觸發因素
即使在備份模式下也可以記錄時間戳數據
當外部或內部事件發生時可以產生中斷
下圖一為RX8901CE時間戳記內部電路配置圖:

圖一: RX8901CE時間戳記內部電路配置圖
【RX8901時間戳記觸發相關暫存器介紹】
當外部事件、內部事件或寫入特定暫存器位址時,RX4901/RX8901在該時間點獲取時間戳記資料並寫入緩衝區,這些時間戳記觸發是指EVINn外部事件偵測輸入觸發、內部狀態偵測觸發,與MPU寫入觸發。
外部事件偵測輸入(EVINn引腳)觸發
外部事件輸入觸發訊號從引腳EVIN1 ~ EVIN3,下面顯示了與外部事件觸發輸入相關的功能或應設置的條件。
上拉/下拉電阻 ( PULL Up / Down Resistor )
EVINn引腳可以透過軟體寫入暫存器設定RX8901內部的上拉/下拉電阻,下表一為EVINn引腳設定上拉/下拉電阻暫存器表:
|
暫存器 EVINn_CFG.PUPD[2:0] |
下拉/上拉電阻值 |
|
0x00 |
無 |
|
0x01 |
上拉500kΩ |
|
0x02 |
上拉1MΩ (預設) |
|
0x03 |
上拉10MΩ |
|
0x04 |
下拉500 kΩ |
|
其他 |
無 |
表一: EVINn引腳設定上拉/下拉電阻暫存器表
雜訊濾波器
EVINn 引腳有一個雜訊濾波器電路,可消除輸入訊號上的雜訊。EVINn 引腳輸入訊號以每125 mS的週期進行採樣,當採樣結果持續匹配EVINn_FLT.FLT[5:0] 位中設置的次數時,即會確定輸入採樣的邏輯值。
EVINn noise filter: EVINn_FLT.FLT[5:0] bits (Filtering time [ms] = FLT[5:0] × 125)
下表二為EVINn有效輸入波形與暫存器EVINn_FLT.FLT[5:0]設定
|
EVINn_FLT.FLT[5:0] |
EVINn波形寬度不確定 (是否偵測到邊緣輸入訊號取決於邊緣輸入的時間點和每125mS週期的取樣時間) |
有效EVINn波形寬度 (總之偵測到邊緣輸入訊號) |
|
0x00 |
- |
≧ 1mS |
|
0x01 (禁止設定) |
- |
- |
|
0x02 |
125 mS ~ 250 mS |
≧ 250 mS |
|
0x03 |
250 mS ~ 375 mS |
≧ 375 mS |
|
… |
… |
… |
|
0x27 |
4750 mS ~ 4875 mS |
≧ 4875 mS |
|
0x28 |
4875 mS ~ 5000 mS |
≧ 5000 mS |
|
0x29和之後的數值禁止設定 |
- |
- |
下圖二為範例暫存器設定為EVINn_FLT.FLT[5:0] bit = 0x03,會在375mS之後開始判斷為有效波形:

圖二:EVINn 雜訊濾波器功能,EVINn_FLT.FLT[5:0] bit = 0x03
備註:
*要確定EVINn引腳輸入訊號有效,它必須具有1mS或更多的波形寬度,即使EVINn FLT.FLT|5:0]位設定為0x00。
*輸入訊號在5mS後從輸入偵測中獲取,因此在獲取時間戳記資料之前,會發生5mS的延遲。
前緣、後緣信號觸發偵測設定
下表三為設定偵測EVINn輸入引腳的邊緣訊號
|
EVINn_CFG.POL[1:0] |
偵測邊緣訊號 |
|
0x00 |
下降(預設) |
|
0x01 |
上升 |
|
0x02 |
上升或下降 |
|
0x03 |
表三:輸入邊緣訊號偵測
事件計數器
每組 EVINn 輸入引腳都有一組6-bit計數器,用以計算0~63範圍內的輸入事件觸發,計數器可以從下列暫存器讀取:
EVINn事件計數器: EVINn_EVCNT.EVCNT[5:0]
監控器
RX4901CE/RX8901CE提供監控當前EVINn的引腳狀態
EVINn監控器: EVINMON.EVINnMON
Command寫入觸發
WRCMD_CFG.CMDTRGEN設定為1後,可以寫入任意值予暫存器WRCMD_TRG即可命令觸發時間戳記。
【RX8901時間戳記緩衝區相關暫存器介紹】
RX4901/RX8901包含了256-byte SRAM用來儲存獲取的時間戳記資料,在寫入實體對應SRAM記憶體區塊位置前,時間戳記和事件觸發資料,將會先寫入如下表四緩衝區資料,可以透過暫存器位址0x60到0x67讀取時間戳記,另透過0x68和0x69可讀取該筆事件觸發訊息。

表四: 時間戳記資料與緩衝區讀取位址
下個章節會開始介紹緩衝區的工作模式,例如FIFO模式與Direct模式,還有緩衝區相關暫存器、SRAM覆寫機制與獲取時間戳記的操作等等。