昨今の高度な電子制御システムの普及に伴い、産業機器やロボット開発などの分野において、機能安全の重要性はますます高まっています。 設計から開発、評価に至るまで、安全規格への確実な対応は、開発者にとって大きな課題となっています。 こうした背景のもと、機能安全を考慮したシステム設計をいかに効率良く進めるかが求められています。
本記事では、マクニカ製半導体ひずみセンサーSTREAL を用いたトルクセンサー開発事例を通じて、Renesas製マイコンRX65(RX651系) で機能安全プラットフォームソフトウェア(PL-SW)を活用した際のコンフィグ例について解説します。機能安全対応ソフトウェアを効率的に設計したい開発・設計者の方に最適な内容です。
※トルクセンサー:機械や装置の回転軸に加わる回転力(トルク)を検出し、その値を電気信号に変換するセンサー
Renesas機能安全プラットフォームソフトウェア(PL-SW)とは?
PL‑SW とは、マイコンを用いた2重化構成の機能安全システム開発を容易にする、機能安全プラットフォームソフトウェアです。
主に以下の機能が備わっています。
1. 自己診断・相互監視などによるマイコン診断
2. スケジューラーによるユーザーソフトウェアの実行制御
3. ソフトウェア間の影響分離(パーテショニング)
図1:PL-SWによる2重化構成の自己/相互診断機能の概要(出典:ルネサス エレクトロニクス株式会社「RX Functional Safety ソリューション紹介.PDF」)
App1:異常監視、App2:トルクセンサー管理部、App3:トルクデータ処理部は機能安全対象のユーザーアプリケーションです。
図2:トルクセンサー開発におけるソフトウェアブロック図
自己診断、相互診断のコンフィグ
トルクセンサーの開発では、ファームウェア(FW)アップデート機能を実装するためにダブルBANK構成としています。
また、相互監視にはSCI12を使用しています。
※本記事中のコンフィグ定義名は、実際のPL-SWから変更しています。
ROM診断開始アドレス
ダブルBANK構成のため、診断サイズをRX651の最大リソース(2MB)の半分に設定します。
|
コンフィグ定義名 |
設定値 |
診断サイズ |
|
USER_SETTING_ROM_DIAG_STADDR |
0xFFFE 3000 |
1MB |
内蔵RAM診断サイズ
ダブルBANK構成のため、診断サイズをRX651の最大リソース(256KB)の半分に設定します。
|
コンフィグ定義名 |
設定値 |
診断サイズ |
|
USER_SETTING_INT_RAM_SIZE |
0x0000 2200 |
128KB |
相互監視用SCIチャネル
相互監視で使用するSCIのペリフェラル名を設定します。
|
コンフィグ定義名 |
設定値 |
説明 |
|
USER_SETTING_SCI_CHANNEL |
SCI_CH12 |
SCI12を使用 |
相互監視用SCI通信ボーレート
RX651で選択可能な最大値(7.5Mbps)を設定します。
|
コンフィグ定義名 |
設定値 |
説明 |
|
USER_SETTING_SCI_BAUDRATE |
BAUDRATE_7500000 |
7.5Mbps |
スケジューラーのコンフィグ
以下のようにアプリケーションを起動させたい場合
図3:トルクセンサー開発におけるソフトウェアの実行順序
ユーザーアプリケーション順序
起動させたい順番にユーザーアプリケーションを設定します。
|
コンフィグ定義名 |
設定値 |
|
USER_SETTING_USER_APP_SEQUENCE |
APP2, APP2, APP1, APP2, APP2, APP2,APP3, APP2, APP2, APP2, APP3, PLSW |
ユーザーアプリケーションウィンドウタイム
各ユーザーアプリケーションの実行時間を設定します。
|
コンフィグ定義名 |
設定値 |
説明 |
|
USER_SETTING_APP1_WINDOW_TIME |
XXX |
単位:us |
|
USER_SETTING_APP2_WINDOW_TIME |
YYY |
単位:us |
|
USER_SETTING_APP3_WINDOW_TIME |
ZZZ |
単位:us |
|
USER_SETTING_APP4_WINDOW_TIME |
0 |
単位:us |
パーテショニングのコンフィグ
App2:トルクセンサー管理部の場合
App2はSCI5を用いて外部機器と通信を行う機能を持っています。
そのため、SCI5関連のレジスタにアクセスするため、その許可設定が必要となります。
図 4:トルクセンサー開発における機能安全対象アプリケーション
MPUアクセス許可領域の設定
SCI5関連レジスタのアドレス範囲を設定します。
|
コンフィグ定義名 |
設定値 |
説明 |
|
USER_SETTING_APP2_AREA6_STADDR |
0x0008A0A0ul |
SCI5のレジスタエリア |
|
USER_SETTING_APP2_AREA6_ENDDDR |
0x0008A0C0ul |
|
|
USER_SETTING_APP2_AREA6_ACCESS_MODE |
RAM_ACCESS |
もっと詳細を知りたい方へ
本記事の内容をさらに詳細に解説したオンデマンド動画をご用意しています。
ご興味のある方は、是非、以下のバナーをクリックしてお申し込みください!