注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 28. タイムスタンプ機能を備えた RTCC ハイライト 本書には以下の主要項目を記載しています 28.1 はじめに... 28-2 28.2 レジスタ... 28-3 28.3 動作... 28-17 28.4 アラーム... 28-24 28.5 電源制御... 28-26 28.6 タイムスタンプ... 28-31 28.7 割り込み... 28-31 28.8 リセット... 28-32 28.9 省電力モード中の動作... 28-32 28.10 周辺モジュールディセーブル (PMD) レジスタ... 28-32 28.11 関連アプリケーションノート... 28-33 28.12 改訂履歴... 28-34 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-1
PIC32 ファミリリファレンスマニュアル 28.1 はじめに リアルタイムクロック / カレンダ (RTCC) ハードウェアモジュールは CPU からの介入をほとんど要さずに長期間にわたって正確な計時を維持する必要があるアプリケーションを主な用途とします バッテリ駆動による長期間の計時を可能にするため 本モジュールは低消費電力で使えるよう最適化されています 本モジュールの主な特長は以下の通りです 24 時間形式の時刻 ( 時 / 分 / 秒 ) カレンダ ( 曜日 / 日 / 月 / 年 ) - 2000 ~ 2099 年に対応 ( うるう年に自動対応 ) 設定可能マスクとリピートオプションを備えたアラーム ファームウェアの負担を軽減する BCD フォーマットの出力 低消費電力動作向けに最適化 各種のクロック入力オプション (32.768 khz 水晶振動子 AC 電源ラインを含む ) 32 khz クロック源使用時のユーザ校正 ( 誤差 2 ppm 以下に調整可能 ) アラームおよびタイムスタンプイベント時の割り込み生成 (1) 複数のトリガイベントから日付 / 時刻をキャプチャするタイムスタンプ機能 ユーザ設定可能な電源制御 ( 外部デバイスを周期的に復帰させるための専用出力ピンを提供 ) (1) Note 1: 一部のデバイスはこれらの機能を備えていません 詳細は各デバイスのデータシートを参照してください 本 RTCC モジュールは うるう年に自動的に対応する 100 年間のクロック / カレンダを提供します クロックのレンジは 2000 年 1 月 1 日 00:00:00 ~ 2099 年 12 月 31 日 23:59:59 です 時刻は 24 時間フォーマットで出力されます 時刻のカウントは 1 秒単位ですが ユーザは 1/2 秒単位で時間を監視できます 図 28-1: タイムスタンプ機能を備えた RTCC モジュールの概略ブロック図 RTCC Clock Domain PWRLCLK SOSC LPRC Fcy RTCC Prescaler/ Clock Divider 0.5s RTCC Timer RTCTIME RTCDATE CPU Clock Domain RTCCON1 RTCCON2 RTCCON3 RTCSTAT Alarm and Repeat Logic Comparator with Masks ALMTIME ALMDATE Timestamp Logic TS(A/B)TIME (1) TS(A/B)DATE (1) Interrupt Logic RTCC Interrupt Pin Control RTCC Pin PWC Logic PWCOE RTCOE PWRGT (1) Note 1: 一部のデバイスはこれらの機能を備えていません 詳細は各デバイスのデータシートを参照してください DS60001362A_JP - p. 28-2 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.2 レジスタ 本 RTCC モジュールは 12 個のレジスタを使います これらのレジスタは 4 つのカテゴリに分類されます 28.2.1 制御 / ステータスレジスタ RTCCON1 ( レジスタ 28-1) は RTCC のメイン制御レジスタです 電源制御 ピン制御 アラーム機能はこのレジスタで制御します RTCCON2 ( レジスタ 28-2) は RTCC のプリスケーラを制御します タイマを駆動する 0.5 秒周期の信号を生成するために このレジスタを使ってプリスケーラを設定します RTCC プリスケーラは このレジスタ内の DIV<15:0>(16 ビットのクロック分周比 ) を使って 0.5 秒 ( 公称値 ) 周期のタイマ信号を生成します このレジスタは校正機能も制御します RTCCON3 ( レジスタ 28-3) は 電源制御機能向けのサンプリングウィンドウと安定化ウィンドウを制御します RTCSTAT ( レジスタ 28-4) はタイムスタンプ 校正 タイマ同期に関連するイベントフラグステータスビットを格納しています 28.2.2 時刻 / 日付値レジスタ 以下の2つのレジスタは 現在の時刻 / 日付情報をBCDフォーマットで保存するために使います RTCTIME ( レジスタ 28-5) は現在の時刻 ( 時 / 分 / 秒 ) の値を保持します RTCDATE ( レジスタ 28-6) は現在の日付 ( 年 / 月 / 日 / 曜日 ) の値を保持します 28.2.3 アラームレジスタ 以下の 2 つのレジスタは アラームの時刻 / 日付値を保存するために使います これらのレジスタのフォーマットは RTCTIME および RTCDATE レジスタと同じです ALMTIME ( フォーマットはレジスタ 28-7 参照 ) ALMDATE ( フォーマットはレジスタ 28-8 参照 ) 28.2.4 タイムスタンプレジスタ タイムスタンプにはタイムスタンプ A とタイムスタンプ B があります 各タイムスタンプには それぞれの時刻 / 日付レジスタセットが割り当てられています これらのレジスタには 対応する RTCTIME および RTCDATE レジスタと同じフォーマットでデータが保存されます TSATIME TSBTIME ( フォーマットはレジスタ 28-9 参照 ) TSADATE TSBDATE ( フォーマットはレジスタ 28-10 参照 ) 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-3
DS60001362A_JP - p. 28-4 2017 Microchip Technology Inc. 28.2.5 レジスタマップ RTCC モジュールに関連するレジスタの一覧を表 28-1 に示します 表 28-1: タイムスタンプ機能を備えた RTCC モジュール関連のレジスタマップ ビット名称 31/15 30/14 29/13 28/12 27/11 26/10 25/9 24/8 23/7 22/6 21/5 20/4 19/3 118/2 17/1 16/0 レンジ RTCCON1 31:16 ALRMEN CHIME AMASK<3:0> ALMRPT<7:0> 15:0 ON WRLOCK PWCEN PWCPOL PWCOE RTCOE OUTSEL<2:0> TSBEN TSAEN RTCCON2 31:16 DIV<15:0> 15:0 FDIV<4:0> PWCPS<1:0> PS<1:0> CLKSEL<1:0> RTCCON3 31:16 15:0 PWCSAMP<7:0> PWCSTAB<7:0> RTCSTAT 31:16 15:0 CPLCK ALMEVT TSBEVT TSAEVT SYNC ALMSYNC HALFSEC RTCTIME 31:16 HRTEN<1:0> HRONE<3:0> MINTEN<2:0> MINONE<3:0> 15:0 SECTEN<2:0> SECONE<3:0> RTCDATE 31:16 YRTEN<3:0> YRONE<3:0> MTHTEN MTHONE<3:0> 15:0 DAYTEN<1:0> DAYONE<3:0> WDAY<2:0> ALMTIME ALMDATE TSATIME TSADATE TSBTIME TSBDATE 31:16 HRTEN<1:0> HRONE<3:0> MINTEN<2:0> MINONE<3:0> 15:0 SECTEN<2:0> SECONE<3:0> 31:16 MTHTEN MTHONE<3:0> 15:0 DAYTEN<1:0> DAYONE<3:0> WDAY<2:0> 31:16 HRTEN<1:0> HRONE<3:0> MINTEN<2:0> MINONE<3:0> 15:0 SECTEN<2:0> SECONE<3:0> 31:16 YRTEN<3:0> YRONE<3:0> MTHTEN MTHONE<3:0> 15:0 DAYTEN<1:0> DAYONE<3:0> WDAY<2:0> 31:16 HRTEN<1:0> HRONE<3:0> MINTEN<2:0> MINONE<3:0> 15:0 SECTEN<2:0> SECONE<3:0> 31:16 YRTEN<3:0> YRONE<3:0> MTHTEN MTHONE<3:0> 15:0 DAYTEN<1:0> DAYONE<3:0> WDAY<2:0> PIC32 ファミリリファレンスマニュアル
セクション 28. タイムスタンプ機能を備えた RTCC 28.2.6 RTCC レジスタの書き込み保護 RTCC 制御レジスタまたは RTCC タイマ値レジスタに対する誤った書き込みを防ぐため これらのレジスタに書き込むには最初に WRLOCK ビット (RTCCON1<11>) をクリアする必要があります 既定値により WRLOCK ビットは全てのデバイスリセット時にクリアされます RTCDATE および RTCTIME レジスタを適切に初期化し ON ビット (RTCCON1<15>) をセットした後に WRLOCK ビットをセットする事を推奨します WRLOCK ビットを 1 にセットした後は ON ビット RTCCON2 レジスタ RTCDATE / RTCTIME レジスタに対する書き込みは全て無視されます アラーム 電源制御 タイムスタンプ機能は WRLOCK ビットの状態に関係なく変更できます WRLOCK ビットをクリアするには ロック解除シーケンス (SYSKEY レジスタに 2 つのワードを続けて書き込む ) が必要です ロック解除シーケンスの例を例 28-1 に示します クリアされている WRLOCK ビットを 1 にセットする場合 ロック解除シーケンスは不要です 例 28-1: WRLOCK ビットのクリア SYSKEY = 0xAA996655; SYSKEY = 0x556699AA; RTCCON1bits.WRLOCK = 0; SYSKEY = 0; // write Key1 to SYSKEY // write Key2 to SYSKEY // clear the lock bit // relock SYSKEY Note: タイマに対する予期しない書き込みを防ぐため WRLOCK ビットは常時セットしておき タイマ値レジスタに書き込む時にだけクリアする事を推奨します 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-5
PIC32 ファミリリファレンスマニュアル 28.2.7 RTCC 制御レジスタ レジスタ 28-1: RTCCON1: RTCC 制御 1 レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 ALRMEN CHIME AMASK<3:0> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 ALMRPT<7:0> (1) R/W-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 ON WRLOCK PWCEN (2) PWCPOL (2) PWCOE (2) R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 RTCOE OUTSEL<2:0> TSBEN (2) TSAEN (2) 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31 ALRMEN: アラームイネーブルビット 1 = アラームを有効にする 0 = アラームを無効にする bit 30 CHIME: チャイムイネーブルビット 1 = チャイムを有効にする (ALMRPT<7:0> ビットは 00 から FF へロールオーバーする ) 0 = チャイムを無効にする (ALMRPT<7:0> ビットのデクリメントは 00 で停止する ) bit 29-28 未実装 : 0 として読み出し bit 27-24 AMASK<3:0>: アラームマスクコンフィグレーションビット 11xx = 予約済み ( 使用禁止 ) 101x = 予約済み ( 使用禁止 ) 1001 = 毎年 (2 月 29 日に設定した場合は毎 4 年 ) 1000 = 毎月 0111 = 毎週 0110 = 毎日 0101 = 毎時 0100 = 毎 10 分 0011 = 毎分 0010 = 毎 10 秒 0001 = 毎秒 0000 = 毎 1/2 秒 bit 23-16 ALMRPT<7:0>: アラームリピートカウンタ値ビット (1) 11111111 = アラームを 255 回リピートする 11111110 = アラームを 254 回リピートする 00000010 = アラームを 2 回リピートする 00000001 = アラームを 1 回リピートする 00000000 = アラームはリピートしない bit 15 ON: RTCC イネーブルビット 1 = RTCC モジュールを有効にし 選択されたクロック源を使ってカウントする 0 = RTCC モジュールを無効にする bit 14-12 未実装 : 0 として読み出し Note 1: アラームイベントが発生するたびにカウンタはデクリメントします CHIME を 1 にセットしない限り カウンタは 00 から FF にロールオーバーしません 2: 一部のデバイスはこれらの機能を備えていません 詳細は各デバイスのデータシートを参照してください DS60001362A_JP - p. 28-6 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC レジスタ 28-1: RTCCON1: RTCC 制御 1 レジスタ ( 続き ) bit 11 WRLOCK: RTCC レジスタ書き込みロックビット 1 = 計時に関連するレジスタへの書き込みをロックする 0 = 計時に関連するレジスタへのユーザによる書き込みを許可する bit 10 PWCEN: 電源制御イネーブルビット (2) 1 = 電源制御を有効にする 0 = 電源制御を無効にする bit 9 PWCPOL: 電源制御極性ビット (2) 1 = 電源制御出力をアクティブ HIGH にする 0 = 電源制御出力をアクティブ LOW にする bit 8 PWCOE: 電源制御出力イネーブルビット (2) 1 = 電源制御出力ピンを有効にする 0 = 電源制御出力ピンを無効にする bit 7 RTCOE: RTCC 出力イネーブルビット 1 = RTCC クロック出力を有効にする (OUTSEL<2:0> で選択された信号を RTCC ピンで出力する ) 0 = RTCC クロック出力を無効にする bit 6-5 OUTSEL<2:0>: RTCC 信号出力選択ビット 11x = 未使用 101 = タイムスタンプ B イベント (2) 100 = タイムスタンプ A イベント (2) 011 = 電源制御出力 (PWRGT ピンと同じ機能 ) (2) 010 = RTCC 入力クロック源 001 = 秒クロック 000 = アラームイベント bit 3-2 未実装 : 0 として読み出し bit 1 TSBEN: タイムスタンプ信号源 B イネーブルビット (2) 1 = タイムスタンプ信号源 B でタイムスタンプイベントを生成する 0 = タイムスタンプ信号源 B を無効にする bit 0 TSAEN: タイムスタンプ信号源 A イネーブルビット (2) 1 = タイムスタンプ信号源 A でタイムスタンプイベントを生成する 0 = タイムスタンプ信号源 A を無効にする Note 1: アラームイベントが発生するたびにカウンタはデクリメントします CHIME を 1 にセットしない限り カウンタは 00 から FF にロールオーバーしません 2: 一部のデバイスはこれらの機能を備えていません 詳細は各デバイスのデータシートを参照してください 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-7
PIC32 ファミリリファレンスマニュアル レジスタ 28-2: RTCCON2: RTCC 制御 2 レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 R/W-0 R/W-0 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 DIV<15:8> R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 R/W-1 DIV<7:0> R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 U-0 FDIV<4:0> R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 PWCPS<1:0> (1) PS<1:0> (1) CLKSEL<1:0> 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-16 DIV<15:0>: クロック分周ビットクロック分周器カウンタの分周比を設定します この値は 1/2 秒 ( 公称値 ) 周期でロールオーバーが発生するように設定する必要があります bit 15-11 FDIV<4:0>: クロック小数分周ビット 11111 = 16 秒の間に 31 RTCC 入力クロックサイクルを間引く 11101 = 16 秒の間に 30 RTCC 入力クロックサイクルを間引く 00010 = 16 秒の間に 2 RTCC 入力クロックサイクルを間引く 00001 = 16 秒の間に 1 RTCC 入力クロックサイクルを間引く 00000 = クロックを間引かない bit 10-8 未実装 : 0 として読み出し bit 7-6 PWCPS<1:0>: 電源制御プリスケール選択ビット (1) 11 = 1:256 10 = 1:64 01 = 1:16 00 = 1:1 bit 5-5 PS<1:0>: プリスケール選択ビット (1) bit 3-2 bit 1-0 11 = 1:256 10 = 1:64 01 = 1:16 00 = 1:1 未実装 : 0 として読み出し CLKSEL<1:0>: クロック選択ビット 11 = 周辺モジュール用クロック (FCY) 10 = PWRLCLK 入力ピン 01 = LPRC 00 = SOSC Note 1: 一部のデバイスはこれらの機能を備えていません 詳細は各デバイスのデータシートを参照してください DS60001362A_JP - p. 28-8 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC レジスタ 28-3: RTCCON3: RTCC 制御 3 レジスタ (1) ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 PWCSAMP<7:0> (1) R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 PWCSTAB<7:0> (1) 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-16 未実装 : 0 として読み出し bit 15-8 PWCSAMP<7:0>: 電源制御サンプリング時間ウィンドウビット (1) 11111111 = 入力のサンプリングを常時可能にする ( ゲートなし ) 11111110 = サンプリングの時間ウィンドウを 254 TPWC にする 00000010 = サンプリングの時間ウィンドウを 2 TPWC にする 00000001 = サンプリングの時間ウィンドウを 1 TPWC にする 00000000 = 入力のサンプリングを常時ゲートする bit 7-0 PWCSTAB<7:0>: 電源制御安定化時間ビット (1) 11111111 = 安定化時間ウィンドウを 255 TPWC にする 11111110 = 安定化時間ウィンドウを 254 TPWC にする 00000010 = 安定化時間ウィンドウを 2 TPWC にする 00000001 = 安定化時間ウィンドウを 1 TPWC にする 00000000 = 安定化時間ウィンドウを使わない Note 1: 一部のデバイスはこれらの機能を備えていません 詳細は各デバイスのデータシートを参照してください 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-9
PIC32 ファミリリファレンスマニュアル レジスタ 28-4: RTCSTAT: RTCC ステータスレジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R-0, HSC U-0 R/C-0, HSC R/W-0, HSC R/W-0, HSC R-0, HSC R-0, HSC R-0, HSC CPLCK (2) ALMEVT TSBEVT (1,2) TSAEVT (1,2) SYNC ALMSYNC HALFSEC 凡例 : C = クリアのみ可能ビット HSC = ハードウェアセット / クリア可能ビット R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-8 未実装 : 0 として読み出し bit 7 CPLCK: 校正 PLL ロックステータスビット (2) 1 = 外部校正 PLL はロックしている (1 秒クロック出力が有効 ) 0 = 外部校正 PLL はロックしていない bit 6 未実装 : 0 として読み出し bit 5 ALMEVT: アラームイベントビット 1 = アラームイベントが発生した 0 = アラームイベントは発生していない bit 4 TSBEVT: タイムスタンプ B イベントビット (1,2) 1 = タイムスタンプ B イベントが発生した 0 = タイムスタンプ B イベントは発生していない bit 3 TSAEVT: タイムスタンプ A イベントビット (1,2) bit 2 bit 1 bit 0 1 = タイムスタンプ A イベントが発生した 0 = タイムスタンプ A イベントは発生していない SYNC: 同期ステータスビット 1 = タイマレジスタの値はソフトウェア読み出し中に変更される可能性がある 0 = タイマレジスタの値は安全に読み出せる ALMSYNC: アラーム同期ステータスビット 1 = アラームレジスタ (ALMTIMEとALMDATE) およびRTCCON1レジスタは変更してはならない (ALRMEN および ALMRPT<7:0> ビットがソフトウェア読み出し中に変更される可能性がある ) 0 = アラームレジスタと RTCCON1 レジスタは安全に変更できる HALFSEC: 1/2 秒ステータスビット 1 = 1 秒期間の後半 0 = 1 秒期間の前半 Note 1: ソフトウェアでこのビットに 1 を書き込む事により タイムスタンプイベントをトリガできます イベントキャプチャは このビットが 1 として読み出されるまで有効ではありません 2: 一部のデバイスはこれらの機能を備えていません 詳細は各デバイスのデータシートを参照してください DS60001362A_JP - p. 28-10 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC レジスタ 28-5: RTCTIME: RTC 時刻値レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 HRTEN<1:0> HRONE<3:0> U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 MINTEN<2:0> MINONE<3:0> U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 SECTEN<2:0> SECONE<3:0> U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-30 未実装 : 0 として読み出し bit 29-28 HRTEN<1:0>: 時 の 10 の桁の BCD 値ビット 0 ~ 2 の値を格納します bit 27-24 HRONE<3:0>: 時 の 1 の桁の BCD 値ビット bit 23 未実装 : 0 として読み出し bit 22-20 MINTEN<2:0>: 分 の 10 の桁の BCD 値ビット 0 ~ 5 の値を格納します bit 19-16 MINONE<3:0>: 分 の 1 の桁の BCD 値ビット bit 15 未実装 : 0 として読み出し bit 14-12 SECTEN<2:0>: 秒 の 10 の桁の BCD 値ビット bit 11-8 bit 7-0 0 ~ 5 の値を格納します SECONE<3:0>: 秒 の 1 の桁の BCD 値ビット 未実装 : 0 として読み出し 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-11
PIC32 ファミリリファレンスマニュアル レジスタ 28-6: RTCDATE: RTC 日付値レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 YRTEN<3:0> YRONE<3:0> U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 MTHTEN MTHONE<3:0> U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 DAYTEN<1:0> DAYONE<3:0> U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 WDAY<2:0> 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-28 YRTEN<3:0>: 年 の 10 の桁の BCD 値ビット bit 27-24 YRONE<3:0>: 年 の 1 の桁の BCD 値ビット bit 23-21 未実装 : 0 として読み出し bit 20 MTHTEN: 月 の 10 の桁の BCD 値ビット 0 または 1 を格納します bit 19-16 MTHONE<3:0>: 月 の 1 の桁の BCD 値ビット bit 22-20 MINTEN<2:0>: 分 の 10 の桁の BCD 値ビット 0 ~ 5 の値を格納します bit 19-16 MINONE<3:0>: 分 の 1 の桁の BCD 値ビット bit 15-14 未実装 : 0 として読み出し bit 13-12 DAYTEN<1:0>: 日 の 10 の桁の BCD 値ビット bit 11-8 bit 7-3 bit 1-0 0 ~ 3 の値を格納します DAYONE<3:0>: 日 の 1 の桁の BCD 値ビット 未実装 : 0 として読み出し WDAY<2:0>: 曜日 の BCD 値ビット 0 ~ 6 の値を格納します DS60001362A_JP - p. 28-12 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC レジスタ 28-7: ALMTIME: RTCC アラーム時刻値レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 HRTEN<1:0> HRONE<3:0> U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 MINTEN<2:0> MINONE<3:0> U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 SECTEN<2:0> SECONE<3:0> U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-30 未実装 : 0 として読み出し bit 29-28 HRTEN<1:0>: 時 の 10 の桁の BCD 値ビット 0 ~ 2 の値を格納します bit 27-24 HRONE<3:0>: 時 の 1 の桁の BCD 値ビット bit 23 未実装 : 0 として読み出し bit 22-20 MINTEN<2:0>: 分 の 10 の桁の BCD 値ビット 0 ~ 5 の値を格納します bit 19-16 MINONE<3:0>: 分 の 1 の桁の BCD 値ビット bit 15 未実装 : 0 として読み出し bit 14-12 SECTEN<2:0>: 秒 の 10 の桁の BCD 値ビット bit 11-8 bit 7-0 0 ~ 5 の値を格納します SECONE<3:0>: 秒 の 1 の桁の BCD 値ビット 未実装 : 0 として読み出し 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-13
PIC32 ファミリリファレンスマニュアル レジスタ 28-8: ALMDATE: RTCC アラーム日付値レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 MTHTEN MTHONE<3:0> U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 DAYTEN<1:0> DAYONE<3:0> U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 WDAY<2:0> 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-21 未実装 : 0 として読み出し bit 20 MTHTEN: 月 の 10 の桁の BCD 値ビット 0 または 1 を格納します bit 19-16 MTHONE<3:0>: 月 の 1 の桁の BCD 値ビット bit 15-14 未実装 : 0 として読み出し bit 13-12 DAYTEN<1:0>: 日 の 10 の桁の BCD 値ビット bit 11-8 bit 7-3 bit 1-0 0 ~ 3 の値を格納します DAYONE<3:0>: 日 の 1 の桁の BCD 値ビット 未実装 : 0 として読み出し WDAY<2:0>: 曜日 の BCD 値ビット 0 ~ 6 の値を格納します DS60001362A_JP - p. 28-14 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC レジスタ 28-9: TSxTIME: RTCC タイムスタンプ x 時刻値レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 HRTEN<1:0> HRONE<3:0> U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 MINTEN<2:0> MINONE<3:0> U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 SECTEN<2:0> SECONE<3:0> U-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-30 未実装 : 0 として読み出し bit 29-28 HRTEN<1:0>: 時 の 10 の桁の BCD 値ビット 0 ~ 2 の値を格納します bit 27-24 HRONE<3:0>: 時 の 1 の桁の BCD 値ビット bit 23 未実装 : 0 として読み出し bit 22-20 MINTEN<2:0>: 分 の 10 の桁の BCD 値ビット 0 ~ 5 の値を格納します bit 19-16 MINONE<3:0>: 分 の 1 の桁の BCD 値ビット bit 15 未実装 : 0 として読み出し bit 14-12 SECTEN<2:0>: 秒 の 10 の桁の BCD 値ビット bit 11-8 bit 7-0 0 ~ 5 の値を格納します SECONE<3:0>: 秒 の 1 の桁の BCD 値ビット 未実装 : 0 として読み出し 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-15
PIC32 ファミリリファレンスマニュアル レジスタ 28-10: TSxDATE: RTCC タイムスタンプ x 日付値レジスタ ビットレンジ 31/23/15/7 30/22/14/6 29/21/13/5 28/20/12/4 27/19/11/3 26/18/10/2 25/17/9/1 24/16/8/0 31:24 23:16 15:8 7:0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 YRTEN<3:0> YRONE<3:0> U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 MTHTEN MTHONE<3:0> U-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 DAYTEN<1:0> DAYONE<3:0> U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0 WDAY<2:0> 凡例 : R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット 0 として読み出し -n = POR 時の値 1 = ビットはセット 0 = ビットはクリア x = ビットは未知 bit 31-28 YRTEN<3:0>: 年 の 10 の桁の BCD 値ビット bit 27-24 YRONE<3:0>: 年 の 1 の桁の BCD 値ビット bit 23-21 未実装 : 0 として読み出し bit 20 MTHTEN: 月 の 10 の桁の BCD 値ビット 0 また 1 を格納します bit 19-16 MTHONE<3:0>: 月 の 1 の桁の BCD 値ビット bit 15-14 未実装 : 0 として読み出し bit 13-12 DAYTEN<1:0>: 日 の 10 の桁の BCD 値ビット bit 11-8 bit 7-3 bit 1-0 0 ~ 3 の値を格納します DAYONE<3:0>: 日 の 1 の桁の BCD 値ビット 未実装 : 0 として読み出し WDAY<2:0>: 曜日 の BCD 値ビット 0 ~ 6 の値を格納します DS60001362A_JP - p. 28-16 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.3 動作 28.3.1 レジスタインターフェイス RTCC タイマ値とアラーム値のレジスタインターフェイスには BCD (Binary Coded Decimal) フォーマットを使います 各値は 桁ごとに 4 ビットフィールドに格納されるため ファームウェアを簡潔にできます ( 図 28-2 参照 ) 図 28-2: タイマおよびアラーム値のフォーマット RTCC 時刻 / 日付の BCD 年 月 日 曜日 0~9 0~9 0 1 0~9 0~3 0~9 0-6 時 (24 時間フォーマット ) 分秒 1/2 秒ビット ( バイナリフォーマット ) 0~2 0~9 0~5 0~9 0~5 0~9 0 1 アラームの BCD 月 日 曜日 0 1 0~9 0~3 0~9 0~6 時 (24 時間フォーマット ) 分秒 0~2 0~9 0~5 0~9 0~5 0~9 28.3.2 一般機能 秒 ~ 年 のタイマ値を格納する全てのタイマレジスタは書き込み可能です ユーザは RTCDATE レジスタに年 / 月 / 日の値を書き込み RTCTIME レジスタに時 / 分 / 秒の値を書き込む事によって時刻 / 日付を設定できます タイマは新しく書き込まれた値からウントを始めます RTCC モジュールは ON ビット (RTCCON1<15>) をセットする事により有効にします モジュールを有効にしたままタイマレジスタの値を調整する場合 レジスタを変更している間もタイマはインクリメントし続けます ユーザはカウンタの 1/2 秒フィールド (HALFSEC (RTCSTAT<0>)) を監視できます この値は読み出し専用であり SECONE<3:0>(RTCTIME<11:8>) ビットへの書き込みによってのみリセットできます 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-17
PIC32 ファミリリファレンスマニュアル 28.3.3 同期 CPU と RTCC は異なるクロック領域内で動作するため RTCC レジスタの読み書きには注意が必要です ON ビットを 1 にセットしたままレジスタを変更する場合 変更と同時にそのレジスタでインクリメントが発生しないよう ユーザが配慮する必要があります これは以下のいずれかの方法によって防ぐ事ができます RTCTIME / RTCDATE レジスタを読み書きする前に SYNC ビット (RTCSTAT<2>) の状態を確認する ( 例 28-2 参照 ) RTCTIME / RTCDATE レジスタまたは AMASK<3:0> ビット (RTCCON1<27:24>) を読み書きする前に ALMSYNC ビットの状態を確認する 下の桁からキャリーが発生しそうかどうか確認する 1 秒周期パルス ( またはアラーム割り込み ) の直後にレジスタを更新する SYNC ビットは ロールオーバーを気にせずに RTCC クロック領域のレジスタを安全に読み書きできるタイミングを示します SYNC = 0 の時 CPU からそれらのレジスタに安全にアクセスできます SYNC ビットが 1 であっても 0 であっても データの読み出し中にロールオーバーが発生しなかった事 ( 読み出しが無効または不完全ではなかった事 ) をユーザソフトウェアで確認する必要があります これは 各レジスタを 2 回読み出して値を比較する事で確認します 2 つの値が一致すればロールオーバーが発生しなかったと判断できます 例 28-2: RTCTIME レジスタを安全に読み出すための関数 unsigned int ReadTime(void) { unsigned int timecopy1, timecopy2; if (RTCSTATbits.SYNC == 0) { return (RTCTIME); // return time } else { // read time twice and compare result, retry until a match occurs while ( (timecopy1 = RTCTIME)!= (timecopy2 = RTCTIME) ); } } return (timecopy1); // return time when both reads matched DS60001362A_JP - p. 28-18 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.3.4 デジットキャリーの規則 時刻 / 日付値は ロールオーバーによって以下の影響を受けます 時刻 : 23:59:59 から 00:00:00 へのロールオーバーにより 日 フィールドへのキャリーが発生します 曜日 : 6 から 0 へロールオーバーしてもキャリーは発生しません ( 曜日の値は表 28-2 参照 ) 日 (DAYONEx および DAYTENx フィールド ): 28 29 30 31 からのロールオーバーにより 月 フィールドへのキャリーが発生します ( ロールオーバーが発生する値については表 28-3 参照 ) 月 (MTHONEx および MTHTEN フィールド ): 12/31 から 01/01 へのロールオーバーにより 年 フィールドへのキャリーが発生します 年 : 99から00へロールオーバーします ( これはRTCCの使用レンジを超えた事を意味します ) 表 28-2: 曜日 の値 曜日 WDAY<2:0> 値 日曜 0 月曜 1 火曜 2 水曜 3 木曜 4 金曜 5 土曜 6 表 28-3: 日 から 月 へのロールオーバー条件 月 日 フィールドの最大値 月 日 フィールドの最大値 01 (1 月 ) 31 07 (7 月 ) 31 02 (2 月 ) 28 または 29 (1) 08 (8 月 ) 31 03 (3 月 ) 31 09 (9 月 ) 30 04 (4 月 ) 30 10 (10 月 ) 31 05 (5 月 ) 31 11 (11 月 ) 30 06 (6 月 ) 30 12 (12 月 ) 31 Note 1: 詳細は 28.3.4.1 うるう年 を参照してください 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-19
PIC32 ファミリリファレンスマニュアル 本モジュールは BCD フォーマットを使うため 以下のフィールドの上位 BCD 桁へのキャリーは 16 カウントではなく 10 カウントで発生します SEC MIN HR WDAY DAY MON 28.3.4.1 うるう年 本 RTCC モジュールの 年 のレンジは 2000 ~ 2099 です このレンジ内の 4 で割り切れる年は うるう年 として扱います うるう年は 2 月にだけ影響します 通常年の 2 月は 28 日までですが うるう年の 2 月は 29 日まであります 28.3.5 クロック源 RTCC のクロック源は CLKSEL<1:0> ビット (RTCCON2<1:0>) で選択します RTCC モジュールには以下の 4 種類のクロック源のいずれかを使います 水晶振動子による 32.768 khz セカンダリオシレータ (SOSC) 31 khz の内部低消費電力 RC オシレータ (LPRC) マイクロコントローラの周辺モジュール用クロック ( 命令周波数 (FCY) で動作 ) PWRLCLK ピン入力 ( 通常は AC 電源の周波数 (50/60 Hz) を使用 ) 使用するクロック源に応じて アプリケーション回路に必要な外付け部品と計時精度が異なります セカンダリオシレータ (SOSC) を使うと 最も高い精度が得られ 消費電力も最も低く抑える事ができます 水晶振動子をクロック源として使う場合 本モジュールで校正する事により 誤差を月あたり 3 秒未満に調整できます 詳細は 28.3.6 クロックの校正 を参照してください 図 28-3: クロック源のマルチプレクサと分周回路 CLKSEL<1:0> PS<1:0> DIV<15:0> FDIV<4:0> SOSC LPRC Fcy PWRLCLK (50/60 Hz) 1:1/16/64/256 Prescaler Variable Clock Divider 1/2s Clock (2 Hz) 1/2 sec (1) 1s Clock sec hr:min Day Day of Week Month Year Note 1: RTCTIME レジスタに書き込むと全てのカウンタがリセットします これを利用して秒未満の同期が行えます ON ビット = 0 の間 クロックプリスケーラはリセット状態を保持します DS60001362A_JP - p. 28-20 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.3.5.1 クロック分周器 RTCC タイマには 1/2 秒周期 (2 Hz) のクロック源が必要です このために クロックプリスケーラと可変クロック分周器には適切な値を選択する必要があります クロックプリスケーラは入力クロックを分周します これには 4 通りの分周比が選択できます この分周比は PS<1:0> ビット (RTCCON2<5:4>) で 1:1 1:16 1:64 1:256 のいずれかに設定できます 可変クロック分周器は プリスケーラから出力されたクロックをさらに分周します この分周器では 整数の全レンジの除数を指定できます (1:1 ~ 1:32768 の分周比が設定可能 ) この分周比は DIV<15:0> ビットフィールド (RTCCON2<31:16>) で設定します 可変クロック分周器は 分周比を細かく調整するための小数分周器 (FDIV<4:0> ビットで制御 ) も備えています これを使う事で タイマへの出力周波数を微調整できます 詳細は 28.3.6 クロックの校正 で説明します CLKSELx ビットでクロック入力を選択しても プリスケーラと可変クロック分周器のオプションは自動的に設定されません タイマ向けに 2 Hz 信号が生成されるよう ユーザがこれらを正しく設定する必要があります 表 28-4 に 標準的なクロック源に対する最も一般的な設定値の組み合わせを示します 式 28-1 に 任意の入力周波数に対するプリスケーラと DIVx 値の計算方法を示します 表 28-4: 入力周波数 ( 公称値 ) に対するクロック分周比の値 入力周波数プリスケーラ DIV<15:0> FDIV<4:0> 32,768 khz 1:1 3FFF 00000 60 Hz 1:1 1D 00000 50 Hz 1:1 18 00000 16 MHz 1:256 7A11 00000 式 28-1: 分周後のクロック出力周波数 FOUT = 1 2 FIN Prescale (DIV<15:0> + 1) + FDIV<4:0> 32 DIV<15:0> = FIN 2 Prescale 1 FDIV<4:0> は DIV<15:0> に追加する小数部を 32 倍にした値です 28.3.5.2 セカンダリオシレータ (SOSC) の有効化 RTCC のクロック源としてセカンダリオシレータを選択した場合 RTCC を有効にすると自動的にセカンダリオシレータも有効になります SOSCEN ビット (OSCCON<1>) をセットする必要はありません セカンダリオシレータの詳細は デバイスデータシート内の オシレータコンフィグレーション を参照してください 28.3.5.3 低消費電力 RC オシレータの有効化 RTCC のクロック源として LPRC を選択した場合 LPRC は自動的に有効になります LPRC の詳細はデバイスデータシート内の オシレータコンフィグレーション を参照してください 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-21
PIC32 ファミリリファレンスマニュアル 28.3.5.4 AC 電源ライン (50/60 Hz 信号 ) をクロック源として使う AC 電源ラインを RTCC の外部クロック源として使う事ができます 50 Hz および 60 Hz の AC 電源が使えるため 世界中のほとんどの地域に対応可能です 電源ラインの電圧をそのままクロック用に使う事はできません 安全のため アプリケーションのデジタル部分からライン電圧を適切に絶縁する必要があります 回路の設計を誤ってライン電圧がマイクロコントローラに接続されると 重大な感電を招く可能性があります 図 28-4 に AC 電源をクロック源として使う場合に推奨する信号コンディショニング回路を示します Note: この機能は一部のデバイスでのみ利用できます 詳細はデバイスのデータシートを参照してください 図 28-4: AC 電源 (50/60 Hz) から RTCC クロックを入力する場合の信号コンディショニング推奨回路 High Voltage VDD VDD PWRLCLK 120/240V 50/60 Hz AC Input Opto-Isolator PIC32 MCU VSS Earth Ground Digital Ground 28.3.6 クロックの校正 可変クロック分周器は 16 ビット分周器 (DIV<15:0>) に加えて小数分周器も使います これにより タイマ信号が 0.5 秒 ( 公称値 ) 周期になるよう微調整ができます この小数分周器 FDIV<4:0> (RTCCON2<15:11>) は DIV<15:0> と組み合わせる事で 21 ビットクロック分周器の小数部として機能します 小数分周器は 1/2 秒周期で可変クロック分周器出力に対して動作し 16 秒の間にオプションで指定された数のクロックサイクルを間引きます クロックサイクルを間引くと 周期カウンタによって設定される周期は長くなります FDIV<4:0> を 01h に設定した場合 16 秒の間に出力から 1 クロックサイクルが間引かれます FDIV<4:0> を最大の 31 (10 進値 ) に設定した場合 16 秒の間に 31 クロックサイクルが間引かれます FDIV<4:0> を 0 に設定した場合 小数分周器はクロック周期に影響しません 入力周波数の要求値からの偏差は DIVx および FDIVx の値を適切に変更する事で調整できます ( 式 28-1 参照 ) オシレータ周波数が要求値より高い場合 細かい調整では FDIVx の値を大きくし 粗い調整では DIVx の値を大きくします 反対にオシレータ周波数が要求値より低い場合 細かい調整では FDIVx の値を小さくし 粗い調整では DIVx の値を小さくします 表 28-5 に DIVx と FDIVx の変更による影響を示します 例 28-3 に 計算例を示します DS60001362A_JP - p. 28-22 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 小数分周器は 32.768 khz の水晶振動子オシレータを使う場合に誤差を 2 ppm 未満に調整できるよう最適化されています しかし どのクロック入力を使う場合でも タイマ信号周波数を効果的に微調整できます Note: 校正を行う前に 水晶振動子の誤差を計測しておく必要があります これには デバイス上の別のタイマリソースを使うか 外部のタイミング基準を使います 誤差値に水晶振動子の初期誤差 ( 温度ドリフト 経時変化ドリフト ) を含めるかどうかはユーザの責任です 表 28-5: 入力周波数とクロック分周比の関係 ( 小数分周オプションを使用 ) 入力周波数プリスケーラ DIV<15:0> FDIV<4:0> 32,767.9 khz (1) 1:1 3FFE 1E 32,768.0 khz 1:1 3FFF 00 32.768.3 khz (1) 1:1 3FFF 05 59.9 Hz (1) 1:1 1C 1E 60 Hz 1:1 1D 00 60.1 Hz (1) 1:1 1D 02 Note 1: これらは クロック源が要求周波数に対してわずかに速いか遅い場合の設定例です 例 28-3: クロック分周比の計算 (FDIV<4:0> を使用 ) FIN = 32767.8 Hz ( オシレータが少し遅い ) プリスケーラ = 1:1 分周比 = 32767.8/2 1 = 16382.9 従って DIV<15:0> = 16382 FDIV<4:0> = 32(0.9) = 29 28.3.7 RTCC ピン OUTSEL<2:0> ビット (RTCCON1<6:4>) の設定により RTCC ピンで以下のいずれかの信号を出力できます 1 秒周期のクロックパルス RTCC 入力クロック源 ( 入力から直接パススルー ) アラーム信号 ( 詳細は 28.4 アラーム 参照 ) 電源制御ピン信号 (PWRGT ピンに追加して使用 または PWRGT ピンの代わりとして使用 ) ( 詳細は 28.5 電源制御 参照 ) タイムスタンプイベント信号 ( 詳細は 28.6 タイムスタンプ 参照 ) RTCC ピンを出力として使う場合 RTCC 出力イネーブルビット RTCOE (RTCCON1<7>) をセットする必要があります 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-23
PIC32 ファミリリファレンスマニュアル 28.4 アラーム RTCC アラームは以下の機能を提供します 1/2 秒から 1 年まで設定可能 単発アラームとリピートアラームを選択可能 28.4.1 アラームの設定 アラーム機能は ALRMEN ビット (RTCCON1<31>) をセットする事により有効にします 通常このビットは アラームが生成された時点でハードウェアによりクリアされます しかし CHIME ビット (RTCCON1<30>) = 1 の場合または ALMRPT<7:0> (RTCCON1<23:16>) ビットが 00h 以外の値に設定されている場合はクリアされません アラームの生成間隔 ( 毎年 毎日 毎時 毎分等 ) は AMASK<3:0> ビット (RTCCON1<27:24>) で設定します これらのビットにより アラーム値のどの桁 ( 複数指定可 ) がクロック値に一致した時にアラームを生成するのか指定します 図 28-5 に 利用可能なアラームマスクオプションを示します Note: アラームが有効 (ALRMEN = 1) な時に制御ビット (RTCOE ALMRPT<7:0> CHIME を除く ) を変更すると 誤ったアラームイベント ( およびアラーム割り込み ) が発生する可能性があります これを防ぐには アラームが無効 (ALRMEN = 0) の時にタイマ値とアラーム値を変更します これらのビットは ALMSYNC = 0 の時に変更する事を推奨します 図 28-5: アラームマスクの設定 Alarm Mask Setting AMASK<3:0> 0000 Every half second 0001 Every second 0010 Every 10 seconds Day of the Week Month Day Hours Minutes Seconds s 0011 Every minute s s 0100 Every 10 minutes m s s 0101 Every hour m m s s 0110 Every day h h m m s s 0111 Every week d h h m m s s 1000 Every month d d h h m m s s 1001 Every year (1) m m d d h h m m s s Note 1: 2 月 29 日に設定した場合を除く DS60001362A_JP - p. 28-24 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.4.2 アラームのリピートとチャイム アラームは設定した間隔でリピートできます アラームが最初に発生した後のリピート回数は ALMRPT<7:0> ビットで指定します アラームは最大で 255 回リピートできます ALMRPT<7:0> = 00h かつ CHIME = 0 の場合 リピート機能は無効になり アラームは 1 回だけ生成されます アラームをリピートするたびに ALMRPT<7:0> ビットは 1 つデクリメントします この値が 00 に達した時点で最後のアラームが生成されます この後 ALRMEN ビットは自動的にクリアされてアラームは無効になります CHIME ビットを 1 にセットすると アラームは無限にリピートします ALMRPT<7:0> ビットの値が 00h に達してもアラームは無効になりません この値は FFh へロールオーバーし カウントダウンを無限に繰り返します 28.4.3 アラーム割り込み アラームイベントが発生するたびに割り込みが生成されます アラームイベントが発生すると ALMEVT ビット (RTCSTAT<5>) がセットされます このビットを必要に応じて読み出す事で アプリケーションはアラーム割り込みを他の割り込みイベントから識別できます 後続のアラームイベントに備えるため RTCC 割り込み後にアプリケーションで ALMEVT ビットをクリアする必要があります 28.4.4 アラーム出力 アラーム割り込みに加えて アラームの 2 倍の周期で動作するアラームパルスを出力できます この出力は RTCC クロックに完全に同期し 他の周辺モジュールに対するトリガクロックとして使えます この出力は RTCC ピンから取り出せます この出力パルスは アラームイベントの 2 倍の周期を持つデューティ比 50% のクロックを提供します ( 図 28-6) OUTSEL<2:0> ビット (RTCCON1<6:4>) = 000 の場合 アラーム出力パルスは RTCC ピンから出力されます RTCC ピンを出力として使う場合 RTCC 出力イネーブルビット RTCOE (RTCCON1<7>) をセットする必要があります Note: アラーム割り込みビットは タイマ値がアラームレジスタ値に一致した時点から 1 RTCC クロック周期後にセットされます 従って アラームパルスを使うアプリケーションは 割り込みが発生する前にタイマ値とアラーム値の一致を検出します 図 28-6: アラームパルスの生成 ON bit 1 ALRMEN bit RTCC Alarm Event RTCC Pin 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-25
PIC32 ファミリリファレンスマニュアル 28.5 電源制御 Note: この機能は一部のデバイスでのみ利用できます 詳細はデバイスのデータシートを参照してください RTCC モジュールは電源制御機能を備えています この機能を使うと 外部デバイスを周期的に復帰させ そのデバイスが安定するまで待機してから復帰イベントをサンプリングし 最後にその外部デバイスをシャットダウンできます これらの動作は 省電力モード ( スリープ ディープスリープ等 ) から復帰する事なく RTCC によって自立的に実行できます 電源制御機能は PWRGT 出力ピンを使います 電源制御用に RTCC 出力ピンも一緒に使う事ができます あるいは PWRGT ピンを使わずに RTCC 出力ピンのみを使う事もできます ( 一部のデバイスは電源制御用に RTCC ピンのみを使います 詳細はデバイスのデータシートを参照してください ) この機能には 2 通りの制御回路が使えます ( 図 28-7 参照 ) どちらの回路でも 決められた条件 ( 例 : ディープスリープ中の INT0 割り込み スリープ中の任意の割り込み ) でデバイスを復帰させるための入力として WAKE ピンを使います 上側の回路は I/O ピンから安定して供給可能な電流よりも大きな電流を外部デバイスが要求する場合に使います 適正なタイミングで外部デバイスに電力を供給するため 電力制御の極性はアクティブ LOW (PWCPOL = 0) である事に注意してください 下側の回路はより単純です 外部デバイスの消費電流が I/O ピンの電流供給能力 ( 約 20 ma) 以下であれば PWRGT ピンまたは RTCC ピンから外部デバイスに直接給電できます デバイスが VDD に安定化コンデンサを必要とする場合 この方法では電流負荷が大幅に増加します この回路を使う場合 コンデンサの容量を非常に小さくする (0.01 µf) か 動作が安定化するまでの待機時間を長くする必要があります ( 詳細は 28.5.2 電源制御の動作 参照 ) アプリケーションに最適な電力制御コンフィグレーションを選定するには Microchip 社製デバイスと外部デバイスの両方のデータシートを参照する必要があります DS60001362A_JP - p. 28-26 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 図 28-7: RTCC による電源制御のための回路例 (2) VDD Indirect with Pull-up (PWCPOL = 0) PIC Microcontroller VDD External Device PWRGT (1) VDD WAKE I/O Direct Supply (PWCPOL = 1) PIC Microcontroller PWRGT (1) External Device VDD WAKE I/O Note 1: RTCC 出力ピンも電源制御用に使えます ( 本文参照 ) 2: この機能は一部のデバイスでのみ利用できます 詳細はデバイスのデータシートを参照してください 28.5.1 初期化 電源制御機能を使うには以下が必要です RTCC が有効である事 (ON (RTCCON1<15>) = 1) 電源制御機能が有効である事 (PWCEN (RTCCON1<10>) = 1) PWRGT および / または RTCC ピンが電源制御向けに有効である事 : - PWRGT ピンを使う場合 PWRGT ピンを有効にする必要があります (PWCEN (RTCCON1<10>) = 1) - RTCCピンを使う場合 RTCC ピンを有効にし (RTCOE (RTCCON1<7>) = 1) かつ RTCC ピンを電源制御向けに設定する必要があります (RTCCON1<6:4> = 011) さらに 電源制御 (PWC) を周期的に有効にするために CHIME ビット (RTCCON1<30>) をセットします PWRGT および RTCC ピンにおける PWC 信号の極性は PWCPOL ビット (RTCCON1<9>) で選択します 使用する外付けスイッチに応じてアクティブ LOW またはアクティブ HIGH を選択する事により 1 個または複数個の外部デバイスへの電源を ON / OFF できます アクティブ LOW 設定を PWRGT または RTCC ピンのオープンドレイン設定と組み合わせ 適切な外付け VDD プルアップデバイスを使う事で 外付けスイッチを使わずに外部デバイスの GND または VSS ピンを直接駆動する事もできます 28.5.2 電源制御の動作 RTCC と PWC を有効にして動作させると PWC ロジックは制御出力とサンプリングゲート出力を生成します PRWGT ピンまたは RTCC ピンで制御出力を駆動する事により 外部デバイスの電源を ON / OFF できます 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-27
PIC32 ファミリリファレンスマニュアル 制御出力がアサートされると 安定化ウィンドウが始まります この期間により 外部デバイスが起動してから出力が安定するまでに十分な時間を確保します 安定化ウィンドウが終了すると サンプリングウィンドウが始まります この期間中に RTCC は外部デバイスからの復帰信号を監視します 一般的に 外部デバイスからの 1 つまたは複数の復帰信号をマスクするために サンプリングゲートを使います サンプリングウィンドウが終了した時点で最終的に外部デバイスへの給電は停止します 28.5.2.1 安定化ウィンドウとサンプリングウィンドウ 安定化ウィンドウとサンプリングウィンドウは RTCC クロック源および PWC プリスケーラの設定と RTCCON3 レジスタの PWCSAMPx(RTCCON3<15:8>) および PWCSTABx(RTCCON3<7:0>) ビットフィールドによって定義されます RTCC 向けに選択されたクロック源は PWC クロック用にも使われます PWC 専用のプリスケーラ (PWCPS<1:0> ビット (RTCCON2<7:6>)) を使って RTCC クロック入力を分周します 1:1 1:16 1:64 1:256 の分周比が選択できます クロックとプリスケーラの選択によって PWC クロック周期が決まります PWCSTABx と PWCSAMPx は 8 ビット値であるため 安定化およびサンプリングウィンドウの長さは 0 ~ 255 PWC クロック周期に設定できます 表 28-6 に 一般的な RTCC クロックとプリスケーラ設定 (PWCPS<1:0>) の組み合わせに対応する各ウィンドウの設定可能レンジを示します PWCSTABx および PWCSAMPx の特定の値は 電源制御の動作に対して特別な意味を持ちます これらのフィールドに 00h を設定すると 対応するウィンドウは無効になります PWCSTABx フィールドに FFh を設定すると 安定化ウィンドウは常時有効になります ( 電源制御が無効であっても有効なままです ) 表 28-6: 一般的なクロック設定に対する安定化 / サンプリングウィンドウの設定レンジ クロック源 PWCPS<1:0> PWCSTAB<7:0> のレンジ PWCSAMP<7:0> のレンジ SOSC (32.768 khz) 11 (1:256) 0 ms ~ 2 s 0 ms ~ 2 s LPRC (31 khz) 11 (1:256) 0 ms ~ 2.1 s 0 ms ~ 2.1 s 電源ライン (50 Hz) 0 ms ~ 5.12 s 0 ms ~ 5.12 s 00 (1:1) 電源ライン (60 Hz) 0 ms ~ 4.25 s 0 ms ~ 4.25 s DS60001362A_JP - p. 28-28 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.5.2.2 動作モード 28.5.2.2.1 標準動作 ( 安定化およびサンプリングウィンドウ有効 ) PWCSTABx が 0 ではなく かつ PWCSAMPx が 0 でも 255 でもない場合 PWC は標準モードで動作します このモードでは 外部復帰割り込み入力を外部デバイスに接続し PWC によって電源を制御します 図 28-8 に極性をアクティブ LOW に設定した場合の動作を示し 図 28-9 に極性をアクティブ HIGH に設定した場合の動作を示します 図 28-8: 電源制御タイマ ( 標準動作 PWCPOL = 0) Alarm Event Stability Window Sample Window RTCC Pin Output Sampling Active 図 28-9: 電源制御タイマ ( 標準動作 PWCPOL = 1) Alarm Event Stability Window Sample Window RTCC Pin Output Sampling Active 28.5.2.2.2 安定化遅延なしの標準動作 ( 安定化ウィンドウ無効 ) PWCSTABx が 0 かつ PWCSAMPx が 0 でも 255 でもない場合 PWC は安定化時間なしの標準モードで動作します ( 図 28-10 参照 ) このモードは PWC によって電源制御される外部デバイスが 給電開始から復帰するまで ( または割り込み出力が有効になるまで ) の待機時間を必要としない場合に適します しかし 実際にはそのようなケースはほとんどありません 図 28-10: 電源制御タイマ ( 標準動作 安定化ウィンドウなし ) Alarm Event Sample Window 28 RTCC Pin Output Sampling Active タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-29
PIC32 ファミリリファレンスマニュアル 28.5.2.2.3 サンプリングなしの電源制御 ( サンプリングウィンドウ無効 ) PWCSTABx が 0 ではなく かつ PWCSAMPx が 0 の場合 PWC は電源制御だけを実行します 復帰または割り込みはサンプリングしません ( 図 28-11 参照 ) 通常 このモードは使いません 図 28-11: 電源制御タイマ ( 電源制御のみ サンプリングウィンドウ無効 ) Alarm Event Stability Window RTCC Pin Output Sampling Active 28.5.2.2.4 サンプリングなしの電源制御 ( サンプリングウィンドウ未使用 ) PWCSTABx が 0 ではなく かつ PWCSAMPx が 255 の場合 PWC は電源制御だけを実行します サンプリングウィンドウは常時アクティブですが 使いません ( 図 28-12 参照 ) このモードは PWC によって電源制御される外部デバイスから復帰または割り込み入力を直接駆動しない場合に使います この場合 外部割り込みのサンプリングは無効になり 任意のソースから外部割り込み入力を駆動します 図 28-12: 電源制御タイマ ( 電源制御のみ サンプリングウィンドウ未使用 ) Alarm Event Stability Window RTCC Pin Output Sampling Active 28.5.2.2.5 PWC の無効化 PWCEN ビット (RTCPWC<15>) を 0 にクリアした場合 PWCSTABx および PWCSAMPx フィールドは効果を持ちません この場合 外部割り込みのサンプリングは無効になり 任意のソースから外部割り込み入力を駆動します DS60001362A_JP - p. 28-30 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.6 タイムスタンプ Note: RTCC は最大で 2 セットのタイムスタンプレジスタを備えています これらのレジスタは 外部入力信号を受信した時に RTCTIME および RTCDATE レジスタの値をキャプチャするために使います タイムスタンプレジスタの各セット ( タイムスタンプ A(TSATIME / TSBTIME) およびタイムスタンプ B(TSADATE / TSBDATE)) にはタイムスタンプイベント入力が割り当てられています タイムスタンプイベントの信号源はデバイスごとに異なります 詳細はデバイスのデータシートを参照してください タイムスタンプレジスタは全て基本的に ブランク の 32 ビットレジスタである ( すなわち全てのビットが実装され リセット時に特定の値に設定されない ) ため これらのレジスタはディープスリープおよび VBAT モード (RTCC が VBAT 動作向けに設定されている場合 ) 中にバックアップ RAM として使う事もできます 28.6.1 動作 この機能は一部のデバイスでのみ利用できます 詳細はデバイスのデータシートを参照してください タイムスタンプ向けの各イベント入力は TSBEN および TSAEN ビット (RTCCON1<1:0>) を使って有効にします ビットをクリアした場合 対応するタイムスタンプレジスタセットへのイベント入力は無効になります その場合 ユーザソフトウェアは TSxTIME / TSxDATE レジスタペアをデータ保存用に使う事ができます TSxEN = 1 の場合 タイムスタンプへのイベント入力は有効になります タイムスタンプイベントが検出されると その時点の時刻および日付値がそれぞれ TSxTIME および TSxDATE レジスタに保存されます TSxEVT ステータスビットがセットされ RTCC 割り込みが発生します TSxEN = 1 の場合 TSxTIME および TSxDATE レジスタは読み出し専用です ソフトウェアで TSxEVT ビットをクリアするまで 次のタイムスタンプキャプチャイベントは発生しません タイムスタンプイベントのエッジセンシティビティは信号源によって決まります 詳細はデバイスデータシートを参照してください TSxTIME および TSxDATE レジスタに保存されたデータは POR と BOR を除く全てのリセット時に保持されます 28.6.2 手動タイムスタンプ ソフトウェアで TSxEVT ビットに 1 を書き込む事により その時点の時刻と日付をキャプチャできます この書き込みによってタイムスタンプのキャプチャは即座に開始しますが TSxEVT ビットはこの時点ではセットされず キャプチャが完了した時点でセットされます ユーザソフトウェアは TSxEVT ビットをポーリングする事で キャプチャが完了した事を確認する必要があります タイムスタンプレジスタを読み出した後は ハードウェアまたはソフトウェアによる後続のタイムスタンプキャプチャイベントに備えるために TSxEVT ビットをクリアする必要があります 28.7 割り込み RTCC は 1 つのトップレベル割り込みフラグ (RTCCIF) を備えています この割り込みは タイムスタンプイベント (TSA TSB) または RTCC アラームイベントによりトリガされます RTCCIE ビットをセットすると デバイスレベル割り込みの生成が可能になります 割り込みの要因を特定する必要がある場合 RTCSTAT レジスタ内の適切なビット (TSAEVT TSBEVT ALMEVT) をポーリングする事で どのイベントが発生したのか確認できます 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-31
PIC32 ファミリリファレンスマニュアル 28.8 リセット 28.8.1 デバイスリセット POR または BOR 以外のデバイスリセットが発生した時 既に有効にされてた RTCC は動作を継続します 28.8.2 パワーオンリセット (POR) RTCCONx レジスタと RTCTIME / RTCDATE レジスタは POR または BOR 時にリセットされます POR 後は 時刻と日付が 2000 年 1 月 1 日 土曜日 00:00:00 にリセットされるため これらのレジスタに正しい時刻と日付を書き込む必要があります タイマプリスケーラは RTCTIME レジスタへの書き込みによってのみリセットされます いかなるデバイスリセットもプリスケーラには影響しません 28.9 省電力モード中の動作 28.9.1 アイドル アイドルはタイマ動作にもアラーム動作にも影響しません 28.9.2 スリープ タイマとアラームはスリープおよびディープスリープ中も動作を継続します スリープはアラームの動作に影響せず アラームイベントはいつでも CPU を復帰させる事ができます 28.9.3 VBAT モード デバイスが VBAT 省電力機能を備えている場合 RTCC は Vbat モード中も動作を継続できます アラームは動作し続けますが デバイスを復帰させません RTCBAT コンフィグレーションビットがこの機能を制御します 既定値 (RTCBAT = 1) の場合 RTCC は VBAT モード中も動作を継続します CLKSEL<1:0> ビットで選択された RTCC クロック源は VBAT モード中もアクティブなままです VBAT 動作中の消費電力を見積もる際は クロック源の動作による消費電流の増加を考慮する必要があります Note: 一部のデバイスだけが VBAT 機能を備えています 詳細は各デバイスのデータシートを参照してください 28.10 周辺モジュールディセーブル (PMD) レジスタ 周辺モジュールディセーブル (PMD) レジスタを使うと RTCC モジュールに供給されるクロック源を全て停止する事によって RTCC モジュールを無効にできます PMD 制御ビットで無効にされたモジュールは 最小消費電力状態になります その周辺モジュールに関連する制御およびステータスレジスタも無効になるため それらのレジスタへの書き込みは効果を持たず 読み出し値は無効です RTCC モジュールは PMDx レジスタの RTCCMD ビットがクリアされている場合にのみ有効になります DS60001362A_JP - p. 28-32 2017 Microchip Technology Inc.
セクション 28. タイムスタンプ機能を備えた RTCC 28.11 関連アプリケーションノート 本書に関連するアプリケーションノートの一覧を下に記載します 一部のアプリケーションノートは PIC32 デバイスファミリ向けではありません ただし概念は共通しており 変更が必要であったり制限事項が存在するものの利用が可能です タイムスタンプ機能を備えた RTCC モジュールに関連する最新のアプリケーションノートは以下の通りです タイトル現在 関連するアプリケーションノートはありません アプリケーションノート番号 28 タイムスタンプ機能を備えた RTCC 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-33
PIC32 ファミリリファレンスマニュアル 28.12 改訂履歴 リビジョン A (2015 年 8 月 ) 本書は初版です DS60001362A_JP - p. 28-34 2017 Microchip Technology Inc.
Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください Microchip 社製品は 該当する Microchip 社データシートに記載の仕様を満たしています Microchip 社では 通常の条件ならびに仕様に従って使用した場合 Microchip 社製品のセキュリティレベルは 現在市場に流通している同種製品の中でも最も高度であると考えています しかし コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です 弊社の理解ではこうした手法は Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります このような行為は知的所有権の侵害に該当する可能性が非常に高いと言えます Microchip 社は コードの保全性に懸念を抱くお客様と連携し 対応策に取り組んでいきます Microchip 社を含む全ての半導体メーカーで 自社のコードのセキュリティを完全に保証できる企業はありません コード保護機能とは Microchip 社が製品を 解読不能 として保証するものではありません コード保護機能は常に進歩しています Microchip 社では 常に製品のコード保護機能の改善に取り組んでいます Microchip 社のコード保護機能の侵害は デジタルミレニアム著作権法に違反します そのような行為によってソフトウェアまたはその他の著 本書に記載されているデバイスアプリケーション等に関する情報は ユーザの便宜のためにのみ提供されているものであり 更新によって無効とされる事があります お客様のアプリケーションが仕様を満たす事を保証する責任は お客様にあります Microchip 社は 明示的 暗黙的 書面 口頭 法定のいずれであるかを問わず 本書に記載されている情報に関して 状態 品質 性能 商品性 特定目的への適合性をはじめとする いかなる類の表明も保証も行いません Microchip 社は 本書の情報およびその使用に起因する一切の責任を否認します Microchip 社の明示的な書面による承認なしに 生命維持装置あるいは生命安全用途に Microchip 社の製品を使用する事は全て購入者のリスクとし また購入者はこれによって発生したあらゆる損害 クレーム 訴訟 費用に関して Microchip 社は擁護され 免責され 損害をうけない事に同意するものとします 暗黙的あるいは明示的を問わず Microchip 社が知的財産権を保有しているライセンスは一切譲渡されません 商標 Microchip 社の名称と Microchip ロゴ dspic FlashFlex KEELOQ KEELOQ ロゴ MPLAB PIC PICmicro PICSTART PIC 32 ロゴ rfpic SST SST ロゴ SuperFlash UNI/O は 米国およびその他の国における Microchip Technology Incorporated の登録商標です FilterLab Hampshire HI-TECH C Linear Active Thermistor MTP SEEVAL Embedded Control Solutions Company は 米国における Microchip Technology Incorporated の登録商標です Silicon Storage Technology は その他の国における Microchip Technology Incorporated の登録商標です Analog-for-the-Digital Age Application Maestro BodyCom chipkit chipkit ロゴ CodeGuard dspicdem dspicdem.net dspicworks dsspeak ECAN ECONOMONITOR FanSense HI-TIDE In-Circuit Serial Programming ICSP Mindi MiWi MPASM MPF MPLAB 認証ロゴ MPLIB MPLINK mtouch Omniscient Code Generation PICC PICC-18 PICDEM PICDEM.net PICkit PICtail REAL ICE rflab Select Mode SQI Serial Quad I/O Total Endurance TSHARC UniWinDriver WiperLock ZENA Z-Scale は 米国およびその他の国における Microchip Technology Incorporated の登録商標です SQTP は 米国における Microchip Technology Incorporated のサービスマークです GestICとULPPは その他の国におけるMicrochip Technology Germany II GmbH & Co. & KG (Microchip Technology Incorporated の子会社 ) の登録商標です その他 本書に記載されている商標は各社に帰属します 2013, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: 978-1-5224-1128-4 QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS 16949 == Microchip 社では Chandler および Tempe ( アリゾナ州 ) Gresham ( オレゴン州 ) の本部 設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています Microchip 社の品質システムプロセスおよび手順は PIC MCU および dspic DSC KEELOQ コードホッピングデバイス シリアル EEPROM マイクロペリフェラル 不揮発性メモリ アナログ製品に採用されています さらに 開発システムの設計と製造に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得しています 2017 Microchip Technology Inc. DS60001362A_JP - p. 28-35
各国の営業所とサービス 北米本社 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel:480-792-7200 Fax:480-792-7277 技術サポート : http://www.microchip.com/ support URL: www.microchip.com アトランタ Duluth, GA Tel:678-957-9614 Fax:678-957-1455 オースティン (TX) Tel:512-257-3370 ボストン Westborough, MA Tel:774-760-0087 Fax:774-760-0088 シカゴ Itasca, IL Tel:630-285-0071 Fax:630-285-0075 クリーブランド Independence, OH Tel:216-447-0464 Fax:216-447-0643 ダラス Addison, TX Tel:972-818-7423 Fax:972-818-2924 デトロイト Novi, MI Tel:248-848-4000 ヒューストン (TX) Tel:281-894-5983 インディアナポリス Noblesville, IN Tel:317-773-8323 Fax:317-773-5453 ロサンゼルス Mission Viejo, CA Tel:949-462-9523 Fax:949-462-9608 ニューヨーク (NY) Tel:631-435-6000 サンノゼ (CA) Tel:408-735-9110 カナダ - トロント Tel:905-673-0699 Fax:905-673-6509 アジア / 太平洋アジア太平洋支社 Suites 3707-14, 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel:852-2943-5100 Fax:852-2401-3431 オーストラリア - シドニー Tel:61-2-9868-6733 Fax:61-2-9868-6755 中国 - 北京 Tel:86-10-8569-7000 Fax:86-10-8528-2104 中国 - 成都 Tel:86-28-8665-5511 Fax:86-28-8665-7889 中国 - 重慶 Tel:86-23-8980-9588 Fax:86-23-8980-9500 中国 - 東莞 Tel:86-769-8702-9880 中国 - 杭州 Tel:86-571-8792-8115 Fax:86-571-8792-8116 中国 - 香港 SAR Tel:852-2943-5100 Fax:852-2401-3431 中国 - 南京 Tel:86-25-8473-2460 Fax:86-25-8473-2470 中国 - 青島 Tel:86-532-8502-7355 Fax:86-532-8502-7205 中国 - 上海 Tel:86-21-5407-5533 Fax:86-21-5407-5066 中国 - 瀋陽 Tel:86-24-2334-2829 Fax:86-24-2334-2393 中国 - 深圳 Tel:86-755-8864-2200 Fax:86-755-8203-1760 中国 - 武漢 Tel:86-27-5980-5300 Fax:86-27-5980-5118 中国 - 西安 Tel:86-29-8833-7252 Fax:86-29-8833-7256 アジア / 太平洋中国 - 厦門 Tel:86-592-2388138 Fax:86-592-2388130 中国 - 珠海 Tel:86-756-3210040 Fax:86-756-3210049 インド - バンガロール Tel:91-80-3090-4444 Fax:91-80-3090-4123 インド - ニューデリー Tel:91-11-4160-8631 Fax:91-11-4160-8632 インド - プネ Tel:91-20-3019-1500 日本 - 大阪 Tel:81-6-6152-7160 Fax:81-6-6152-9310 日本 - 東京 Tel:81-3-6880-3770 Fax:81-3-6880-3771 韓国 - 大邱 Tel:82-53-744-4301 Fax:82-53-744-4302 韓国 - ソウル Tel:82-2-554-7200 Fax:82-2-558-5932 または 82-2-558-5934 マレーシア - クアラルンプール Tel:60-3-6201-9857 Fax:60-3-6201-9859 マレーシア - ペナン Tel:60-4-227-8870 Fax:60-4-227-4068 フィリピン - マニラ Tel:63-2-634-9065 Fax:63-2-634-9069 シンガポール Tel:65-6334-8870 Fax:65-6334-8850 台湾 - 新竹 Tel:886-3-5778-366 Fax:886-3-5770-955 台湾 - 高雄 Tel:886-7-213-7828 台湾 - 台北 Tel:886-2-2508-8600 Fax:886-2-2508-0102 タイ - バンコク Tel:66-2-694-1351 Fax:66-2-694-1350 ヨーロッパオーストリア - ヴェルス Tel:43-7242-2244-39 Fax:43-7242-2244-393 デンマーク - コペンハーゲン Tel:45-4450-2828 Fax:45-4485-2829 フランス - パリ Tel:33-1-69-53-63-20 Fax:33-1-69-30-90-79 ドイツ - デュッセルドルフ Tel:49-2129-3766400 ドイツ - ミュンヘン Tel:49-89-627-144-0 Fax:49-89-627-144-44 ドイツ - プフォルツハイム Tel:49-7231-424750 イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781 イタリア - ベニス Tel:39-049-7625286 オランダ - ドリューネン Tel:31-416-690399 Fax:31-416-690340 ポーランド - ワルシャワ Tel:48-22-3325737 スペイン - マドリッド Tel:34-91-708-08-90 Fax:34-91-708-08-91 スウェーデン - ストックホルム Tel:46-8-5090-4654 イギリス - ウォーキンガム Tel:44-118-921-5800 Fax:44-118-921-5820 01/27/15 DS60001362A_JP - p. 28-36 2017 Microchip Technology Inc.