- 公開日:2025年09月30日
車載マイコン(MCU) RH850/U2Aで実現するOTA
- ライター:Takahiro Ono
- マイコン
昨今の自動車は、スマートフォンのように市場に出たあとも、ソフトウェアの更新で機能をアップデートすることができるようになってきています。このような自動車をSDV(Software Defined Vehicle)と呼びます。本記事ではSDV実現に不可欠であるOTAの機能について説明します。
OTA機能の概要
OTAはOver The Airの略で、直訳すると「無線を経由して」といった意味になります。自動車の分野でOTAという場合は、無線経由で自動車に搭載されているECUのソフトウェアを書き換えることを言います。ECUのファームウェアをアップデートするという意味でFOTA(Firmware Over The Air)と言われることもあります。また、ソフトウェアのアップデートという意味でSOTA(Software Over The Air)と言われることもあります。
OTAには実現方法によっていくつかの方式があります。
①Wait OTA
車両停止中(ECUのアプリケーション・ソフトウェアが動作していない時)に、新しいソフトウェアのダウンロードを行い、MCU内のコード・フラッシュ・メモリを書き換えます。コード・フラッシュ・メモリが一つしかないため、ECUの動作中にはダウンロード、書き換えができません。
図1 Wait OTA (車両停止中にダウンロード、書き換え)
②Wait OTA(車両運行中にダウンロードのみ可能)
MCU内蔵のフラッシュ・メモリとは別にフラッシュ・メモリをMCUに外付けしておき、MCUのアプリケーション・ソフトウェアの動作中にも新しいソフトウェアをダウンロードできるようにした方式です。車両停止中に、外付けのフラッシュにダウンロードしておいた新しいソフトウェアをMCUのコード・フラッシュに書き込みます。
図2 Wait OTA (車両運行中にダウンロード、車両停止中に書き換え)
③No wait OTA
MCU内蔵のフラッシュ・メモリを2つの領域に分け、一方をMCUのCPUから命令フェッチ可能な領域、もう一方を書き換え可能な領域としておきます。アプリケーション・ソフトウェアの動作中に、書き換え可能な領域の方に新しいソフトウェアをダウンロードしておきます。自動車のキー・オンのタイミングで2つの領域を入れ替え、ダウンロードした新しいソフトウェアでMCUが動作を開始します。
図3 No wait OTA (車両運行中にダウンロード、書き換え)
OTA機能が求められる理由
従来の自動車でもECUのソフトウェアのアップデートは行われていました。ただし、無線による書き換えではなく、車が停止した状態で、専用の書き込みツールによって有線で書き込みを行うものでした。専用の書き込みツールを使用するため、ユーザは自動車を販売店に持ち込んでアップデートを行う必要があります。また、アップデートの目的は、主にソフトウェアの不具合が発見された場合の修正となっています。アップデートの頻度はそれほど多くはありません。
一方、OTAでは無線によるアップデートが可能なので、ユーザが自動車を販売店に持ち込む必要がありません。今後、普及していくと考えられるSDVでは、既に市場にある自動車に対して機能追加、性能向上のためのソフトウェアのアップデートを適時行えることが重要なので、OTAによるアップデートは必要不可欠な技術です。
この記事では、ルネサスの車載MCU RH850/U2Aを例に、OTAの実現方法について解説します。
OTA機能の詳細
1. 車載MCU RH850/U2Aのフラッシュ・メモリの構成と動作モード
はじめに車載MCU RH850/U2Aのコード・フラッシュ・メモリの構成と動作モードについて説明します。コード・フラッシュ・メモリには、自動車の制御に必要なソフトウェアが内蔵されています。OTAではこのソフトウェアの更新を行います。RH850/U2Aのフラッシュ・メモリはいくつかの部分に分割して動作させることが可能になっており、No wait OTAを実現することが可能です。
RH850/U2Aのコード・フラッシュ・メモリには、シングル・マップ・モードとダブル・マップ・モードの2つの動作モードがあります。
①シングル・マップ・モード
図4にシングル・マップ・モード時のコード・フラッシュの構成を示します。コード・フラッシュ・メモリの分割された各エリアをBankで表し、Bank A、Bank Bなどと呼びます。シングル・マップ・モードでは各Bankのアドレスは連続しており、動作中のソフトウェアがあるBankとは別のBankに対してソフトウェアの更新を行います。シングル・マップ・モードは部分的なソフトウェアの更新を行う場合に適したモードです。
RH850/U2Aには、コード・フラッシュ・メモリの容量によって3種類の製品群があり、シリーズ名の後にメモリ容量値(MByte)を添付してRH850/U2A16、U2A8、U2A6のように区別しています。
図4 シングル・マップ・モード時のコード・フラッシュ構成
②ダブル・マップ・モード
図5にダブル・マップ・モード時のコード・フラッシュの構成を示します。ダブル・マップ・モードではフラッシュ・メモリを2つの領域に分け、一方を有効領域、もう一方を無効領域として使用します。
有効領域 → プログラム・フェッチ可能、更新不可
無効領域 → プログラム・フェッチ不可、更新可能
図5では、下側が有効領域、上側が無効領域となっています。有効領域にあるソフトウェアが動作可能となり、無効領域に対してソフトウェアの更新が可能となります。有効領域と無効領域は入れ替えることが可能です。コード・フラッシュ・メモリのソフトウェア全体を更新する場合に適したモードです。
図5 ダブル・マップ・モード時のコード・フラッシュ構成
シングル・マップ・モードとダブル・マップ・モードの切り替えは、マスク・オプションを設定することで行います。マスク・オプションはアプリケーション・ソフトウェアとは別にMCUの動作を設定する機能で、リセット時にその情報が読み込まれMCUの動作状態が決定します。
2. シングル・マップ・モード時のソフトウェア更新
図6にBank A、Bank Bを用いたソフトウェア更新の例を示します。Bank Bの一部に新しいプログラムを追加して、更新後はその新しいプログラムが動作する例となっています。更新は①から③へ順を追って進めていきます。
①「ソフトウェア更新前」では、CPUはBank A、 Bank Bにあるアプリケーション・プログラムに対してフェッチ可能です。
②「ソフトウェア更新中」では、CPUはBank Aにある「書き換えプログラム」で動作し、Bank Bに新しいプログラムを書き込みます。この時、Bank Bに対してはフェッチ禁止です。
③「ソフトウェア更新後」では、GCFU(後述)によりアドレス変換が行われ新しいログラムが動作します。
図6 シングル・マップ・モード時のソフトウェア更新
3. GCFU
シングル・マップ・モードでソフトウェア更新を行った場合、更新後は新たに書き込んだプログラムにアクセスできるよう、GCFUによってアドレスの変換を行います。図7にGCFUの動作概要を示します。CPUからは更新前のプログラムがあるXXX番地をアクセスしますが、GCFUによってアドレス変換され、実際には更新後の新しいプログラムがあるYYY番地をアクセスします。
GCFUにはCPUがアクセスしようとするアドレスに対して、実際にアクセスするアドレスをあらかじめ設定しておきます。
図7 GCFUの動作概要
4. ダブル・マップ・モード時のソフトウェア更新
図8にBank A、Bank Bを用いたソフトウェア更新の例を示します。ダブル・マップ・モード時のソフトウェア更新は、コード・フラッシュの有効領域、無効領域を入れ替えることによって実現します。有効領域、無効領域はマスク・オプションで設定します。Bank Aで動作中に、無効領域であるBank Bに新しいソフトウェアを書き込み、その後Bank Bを有効領域に切り替えて新しいソフトウェアで動作するようになる例となっています。更新は①から④へ順を追って進めていきます。
①「ソフトウェア更新前」は有効領域となっているBank Aにあるソフトウェアで動作している状態です。
②「ソフトウェア更新中」では有効領域となっているBank Aにある書き換えプログラムで無効領域であるBank Bを新しいソフトウェアに書き換えます。
③「ソフトウェア更新完了」は無効領域となっているBank Bに新しいソフトウェアの書き込みが完了した状態です。また、書き込み完了後、有効領域の入れ替えをマスク・オプションに設定しておきます。この状態では、有効領域はBank Aのままで、Bank Bにある新しいソフトウェアは動作しません。
④「ソフトウェア更新後」は、リセットにより有効領域がBank Bに切り替わって、新しいソフトウェアが動作している状態です。
図8 ダブル・マップ・モード時のソフトウェア更新(下側が有効領域、上側が無効領域)
まとめ
OTAはSDV(Software Defined Vehicle)実現には必要不可欠の機能となっています。ルネサスの車載向けMCU RH850/U2Aシリーズは、No wait OTAを実現することが可能なフラッシュ・メモリを内蔵しています。また、その他の車載制御に必要な機能も多数搭載しており、次世代の自動車制御に最適なMCUです。
OTA機能を実現する製品はこちら
・車載用MCU RH850ファミリ RH850/U2Aシリーズ
・車載用MCU RH850ファミリ RH850/U2Bシリーズ
お問い合わせはこちら
ルネサス製品をお探しの方は、こちらをぜひご覧ください。
【マクニカ・ルネサスページはこちら】
Renesas Electronics Corporation – 半導体事業 – マクニカ (macnica.co.jp)