RL78/G13 周辺機能紹介安全機能 ルネサスエレクトロニクス株式会社 ルネサス半導体トレーニングセンター 2013/08/02 Rev. 0.00 00000-A
コンテンツ 安全機能の概要 フラッシュ メモリ CRC 演算機能 RAM パリティ エラー検出機能 データの保護機能 RAM ガード機能 SFR ガード機能 不正メモリ アクセス機能 周辺機能を使用した安全機能 周波数検出機能 A/D テスト機能 2
安全機能の概要 3
安全機能 目的 マイコンで自己診断することで 故障を検出して安全に停止すること FLASH RAM SFR フラッシュ メモリ CRC 演算機能 CRC 演算を行うことにより フラッシュ メモリのデータ誤りを検出する RAM パリティ エラー検出機能 RAM を読み出すとき パリティ エラーを検出する RAM ガード機能 CPU の暴走による RAM データの書き換えを防止する 安全規格 IEC60730 IEC61508 に対応 SFR ガード機能 CPU の暴走による SFR の書き換えを防止する CPU CLOCK ADC 不正メモリ アクセス検出機能 メモリが存在しない アクセスが制限されている領域への不正なアクセスを検出する 周波数検出機能 TAU を使用して 発振周波数を検出する A/D テスト機能 内部基準電圧を A/D 変換することにより A/D 変換の自己チェックができる 4
フラッシュ メモリ CRC 演算機能 5
CRC 演算機能 CRC 演算機能 ( 生成多項式 :CCITT の CRC-16 X 16 + X 12 + X 5 + 1 ) 高速 CRC 演算 IEC60730 でフラッシュ メモリ内のデータ確認が義務付けられている 確認手段として CRC が推奨されている 目的 : フラッシュ メモリのコード領域をチェック条件 :RAM 上のプログラムによる HALT モードで動作クロック : メイン システム クロック演算 :MSB ファーストで演算 汎用 CRC 演算 IEC61508 では動作中の安全を保証しなければならない CPU 動作中にもデータ確認する手段が必要 目的 : フラッシュ メモリのチェック条件 :CPU 動作中クロック : メイン システム クロックまたはサブシステム クロック演算 :LSB ファーストで演算 6
高速 CRC 演算のフロー (1/4) 03FFBH 03FF7H CubeSuite+ で算出可能 CRC 演算期待値 コード 00000H 対象領域を 16K バイトにしたときの例 7
コードチェック対象領域 ( 高速 CRC 演算範囲 ) の設定 フラッシュ メモリ CRC 制御レジスタ (CRC0CTL) 高速 CRC 演算器の動作制御と演算範囲の設定を行う 8
フラッシュ メモリ CRC 演算機能のコード生成 9
高速 CRC 演算のフロー (2/4) FF000H 10 バイトの領域 RET 命令 HALT 命令 この領域を初期化し CPU がプリフェッチ動作で読み出した際のパリティ エラーによるリセットを防ぐ CRC 演算終了後にコード領域に戻るため RAM 上で停止するため 仮に FF000H 番地に HALT 命令を配置 10
高速 CRC 演算のフロー (3/4) FF000H 10 バイトの領域 RET 命令 HALT 命令 CRC 演算開始 仮に FF000H 番地に HALT 命令を配置 03FFBH CALL 命令 00000H 対象領域を 16K バイトにしたときの例 11
割り込みの禁止 割り込みマスク フラグ レジスタ (MK0L, MK0H, MK1L, MK1H, MK2L, MK2H, MK3L) 対応するマスカブル割り込み処理の許可 / 禁止を設定 12
演算動作の許可 フラッシュ メモリ CRC 制御レジスタ (CRC0CTL) 高速 CRC 演算器の動作制御と演算範囲の設定を行う 13
フラッシュ メモリ CRC 演算結果レジスタの初期化 フラッシュ メモリ CRC 演算結果レジスタ (PGCRCL) 高速 CRC 演算結果を格納するレジスタ 0x00 0x00 14
高速 CRC 演算のフロー (4/4) CRC 演算終了コード領域に戻る演算動作禁止演算結果取得 期待値と照合 15
演算動作の禁止 フラッシュ メモリ CRC 制御レジスタ (CRC0CTL) 高速 CRC 演算器の動作制御と演算範囲の設定を行う 16
フラッシュ メモリ CRC 演算結果レジスタの取得 フラッシュ メモリ CRC 演算結果レジスタ (PGCRCL) 高速 CRC 演算結果を格納するレジスタ 演算結果 ( 上位 8 バイト ) 演算結果 ( 下位 8 バイト ) 17
フラッシュ メモリ CRC 演算機能のコード生成 18
RAM パリティ エラー検出機能 19
RAM パリティ エラー検出 IEC60730 では RAM データ確認が義務付けられている 目的 :RAM データの確認条件 : 常時動作 : データ書き込み時にパリティの書き込みデータ読み出し時にパリティのチェック注意 : 未初期化領域を読み出すと必ずパリティ エラー RAM パリティ エラー制御レジスタ (RPECTL) パリティ エラーの発生確認ビットと, パリティ エラーによるリセット発生を制御 20
データ保護機能 21
データの保護 データの保護 RAM ガード機能 IEC61508 では動作中の安全を保証しなければならない 目的 :RAM に格納された重要なデータを保護効果 : 指定したメモリ空間への RAM 書き込みが無効になる SFR ガード機能 IEC61508 では動作中の安全を保証しなければならない 目的 : 重要な SFR が書き換わらないように保護効果 : ポート機能 割り込み機能 クロック制御機能 電圧検出回路 RAM パリティ エラー機能のレジスタへの書き込みが無効になる 不正メモリ アクセス機能 IEC60730 では CPU と割り込みの動作が正しいことを確認する必要がある 目的 : 不正メモリ アクセスを防ぐ効果 : 決められた不正アクセス検出空間をアクセスしたときにリセットが発生する 22
RAM ガード機能 不正メモリ アクセス検出制御レジスタ (IAWCTL) 不正メモリ アクセスの検出可否,RAM/SFR ガード機能を制御するレジスタ 23
SFR ガード機能 不正メモリ アクセス検出制御レジスタ (IAWCTL) 不正メモリ アクセスの検出可否,RAM/SFR ガード機能を制御するレジスタ 24
不正メモリ アクセス検出機能 不正メモリ アクセス検出制御レジスタ (IAWCTL) 不正メモリ アクセスの検出可否,RAM/SFR ガード機能を制御するレジスタ 有効に設定すると 無効に戻せない 不正メモリ アクセス検出を常に有効にする 25
不正メモリ アクセス検出機能 26
保護機能のコード生成 27
周辺機能を使用した安全機能 28
周波数検出 IEC60730 では発振周波数が正しいことを確認することが義務付けられている 周波数検出対象 TAU0 チャネル 5 を使用 計測パルス S/W で 2 つのクロックの比率関係の正しさを判定 29
A/D テスト機能 IEC60730 では A/D コンバータのテストが義務付けられている 30
A/D 変換対象の選択 A/D テスト レジスタ (ADTES) A/D 変換対象に A/D コンバータの + 側の基準電圧として選択可能な AVREFP,- 側の基準電圧として選択可能な AVREFM, アナログ入力チャネル (ANIxx) を選択するレジスタ - 側の基準電圧 + 側の基準電圧 内部基準電圧 31
内部基準電圧の選択 アナログ入力チャネル指定レジスタ (ADS) A/D テスト機能で内部基準電圧 (1.45 V) を測定するときは,A/D テスト レジスタ (ADTES) で A/D 変換対象に ANIxx を選択し,ADS レジスタで入力ソースに内部基準電圧出力を選択 32
END ルネサスエレクトロニクス株式会社