IoT新汎用RL78/G23調査

ルネサスエレクトロニクスが、2021年4月13日、新世代の汎用MCU RL78/G23を発表しました。RL78/G23は、弊社RL78/G1xテンプレートデバイスRL78/G13やRL78/G14の製造プロセスを改良し、IoT向き機能を強化した汎用MCUです。

新しいRL78/G23と従来RL78/G13を比較し、ルネサスIoT Edge MCU機能強化点と評価ボードを調べました。

新汎用RL78/G2xシリーズ位置づけ

汎用RL78MCU変遷(出展:RL78 ファミリパンフレットに加筆)
汎用RL78MCU変遷(出展:RL78 ファミリパンフレットに加筆)

ルネサスRL78ファミリパンフレット2021.04のp1記載RL78ロードマップから汎用MCUファミリを抜粋し、加筆したのが上図です。RL78/G23は、RL78/G13とG14性能の大部分をカバーした新しい汎用MCUであることが判ります(縦軸:性能、横軸:年代、橙色囲み:テンプレート対象RL78/G1xシリーズ)。

新汎用RL78/G23は、従来汎用RL78/G1xシリーズへIoTエッジ向き機能(製造プロセス、Snoozeモード・シーケンサ、高速オンチップオシレータ高速起動、中速オンチップオシレータ搭載など)を追加し、RL78/G1xシリーズと互換性があります。

RL78/G23のIoT Edge MCU機能強化点

RL78/G23は、RL78/G1x比、主に下記機能が強化されています。

  • Snoozeモード・シーケンサ搭載
  • RL78/G13比、30%低消費電力化
  • IoTエッジMCUセキュリティ強化

Snoozeモード・シーケンサ

Snoozeモード・シーケンサ(SMS)は、Snooze中のMCUを起動することなく、演算、分岐、周辺回路制御の順次処理が可能なMCU内蔵ハードウェアです。SMSはMCUよりも動作電流が少ないため、低電力動作になります。

Snoozeモード・シーケンサによる低電力動作効果(出展:ルネサスRL78ファミリ)
Snoozeモード・シーケンサによる低電力動作効果(出展:ルネサスRL78ファミリ)

従来のRL78/G13も、低電力動作用Snoozeモード(上図)を持っていました。Snoozeモード・シーケンサ(下図)は、周辺回路制御(Analog/Port settings)や、データ・トランスファー・コントローラ(DTC)の直接起動(USRT transmission)など、従来MCUの代わりに、予め設定した最大32個のシーケンシャル処理実行が可能です。

このSMSを活用すると、点線部分のMCU動作が不要となり、従来のRL78/G13よりも更に低電力処理が可能です。

30%低消費電力化

RL78/G13比、30%少ない低消費電力動作のRL78/G23(出展:ルネサスサイト)
RL78/G13比、30%少ない低消費電力動作のRL78/G23(出展:ルネサスサイト)

前述のSMSや新製造プロセスなどにより、RL78/G13(64KB)比、30%の低消費電力化を達成しています。ROM容量が128KBと2倍での比較になる理由は、次章セキュリティ強化で説明します。

なお、RL78/G23最高動作周波数は32MHzで、従来RL78/G13と同じです。

IoTセキュリティ強化

RL78/G23新追加のSecure update and secure boot(出展:ルネサスRL78ファミリ)

IoTエッジMCUセキュリティ強化のため、RL78/G23には、RL78/G1xには無かったセキュア・ブートとセキュア・アップデート機能が実装されています。セキュア・アップデートには、実行中ROM領域に加え、書換え用ROM保存領域も必要になるため、従来比2倍のROM容量が必要です。

2倍詳細は、関連投稿:STM32G0/G4のRoot of Trust (1)~(3)、または、セキュア・ファームウェア更新:タグなどを参照してください。

RL78/G23 Fast Prototyping Board

RL78/G23 Fast Prototyping Board(出展:ユーザーズマニュアル)
RL78/G23 Fast Prototyping Board(出展:ユーザーズマニュアル)

従来のルネサス評価ボード(QB-R5F100LE-TBなど)は、開発時、別途E1/E2エミュレータが必須でした。新しいRL78/G23(32MHz、64ピン、ROM/128KB、RAM/16KB) Fast Prototyping Board(2590円)は、USB-シリアル変換器が搭載され、USB経由でデバッグとプログラミングが可能です。

RL78/G23 Fast Prototyping Board(出展:ユーザーズマニュアル)
RL78/G23 Fast Prototyping Board(出展:ユーザーズマニュアル)

従って、micro USBケーブルでPCと接続しさえすれば、エミュレータ無しでもプロトタイプ開発に着手できます。また、Arduinoコネクタも実装済みで、各種Arduinoシールドをスタック装着できる評価ボード形状になりました。

まとめ

RL78/G23は、RL78/G13互換性を重視し、IoTエッジ向き低電力性とセキュリティを強化した新世代の16ビット汎用MCUです。

エミュレータ不要でArduinoコネクタ実装済みRL78/G23評価ボード(32MHz、ROM/128KB、RAM/16KB)は、制御系載せ替えモジュール化が可能となり、競合他社MCUとの比較も容易です。

載せ替え制御系モジュールの詳細は、コチラの関連投稿3章:半導体不足時のMCU開発対策案を参照してください。

あとがき

久しぶりのRL78マイコンカテゴリ投稿でした。32ビットARM Cortex-M0+コア対抗のため、低消費電力化と評価ボード改善を図ったのが、RL78/G2xシリーズ第一弾:RL78/G23です。

その特徴を活かすには、新追加Snoozeモード・シーケンサ活用、つまり、ルネサスSxコア動作の休止に磨きをかけたソフトウェア開発(従来ソフトの一部SMSハード化)が必須です。

これは、Cortex-Mxコア低消費電力アプローチ:より高周波数の動作+コア休止時間幅拡大とは、方向性が異なると感じました。ルネサスは、RL78/G1x顧客サーベイの結果、製造プロセス進化アドバンテージを、高周波数動作よりも、SMS追加や2倍メモリ増量へ配分したのでしょう。

このSMSを、ルネサス供給中のCortex-MxコアMCUへも搭載すると、差別化できるかもしれません。

ルネサスE1エミュレータ生産中止予告

2018年12月21日、ルネサス エレクトロニクスのツールニュース2018.12.16号で、使用部品の生産終了のため、E1エミュレータ生産中止が予告されました。来年2019年12月31日が、最終オーダー受付日です。

E1エミュレータ(出典:秋月電子通商)
E1エミュレータ(出典:秋月電子通商、12,600円で販売中)

E1代替エミュレータ

E1エミュレータの代替は、E2またはE2エミュレータLiteです。ターゲットボードとの接続は、同じく14ピンコネクタですのでそのまま使えます。
但し、R8Cは、E1を継続使用、RH850は、E2へ変える必要があります。

ルネサスMCUとエミュレータ対応表(2018年12月現在)
対象マイコン E1 E2 E2 Lite
RL78ファミリ(本ブログ掲載) 対応中 対応中 対応中
RXファミリ 対応中 対応中 対応中
R8Cファミリ 対応中 非対応 非対応
RH850ファミリ 対応中 対応中 非対応

本ブログを始めた頃のR8C開発時代、IDE Hewに使っていたE1エミュレータが、あと1年で生産中止になるとは、私も年を取ったということです。

但し、稼働中のR8Cシステムメインテナンスなどに、ソフトウェア書き換え用として14ピンコネクタ以外のUARTなどを準備していれば別ですが、E1エミュレータは必須ですので、注意してください。

また、新たにRL78開発環境の構築を考えている方は、E1エミュレータではなくE2エミュレータLite(秋月電子:7,980円)の購入をお勧めします。

RL78ファミリから解る汎用MCUの変遷

汎用MCUの定義が変わりつつあります。ルネサスエレクトロニクス(以下、ルネサス)のRL78ファミリから、最近の汎用MCUの変わりつつある現状を考察します。

RL78ファミリの汎用MCUロードマップ

2018年6月版の最新RL78ファミリMCUカタログから抜粋したRL78ファミリのロードマップです。

RL78ファミリロードマップ (出典:ルネサス汎用MCUラインアップカタログ)
RL78ファミリロードマップ (出典:ルネサス汎用MCUラインアップカタログ)

赤囲みのRL78/G1xが汎用MCU製品を示します。2014年以後は、For小型システムやForモータシステムなど、一見するとASSP:application-specific standard product、特定用途向けMCUのような製品が汎用MCUの中にあります。

これは、RL78/G1Fのコンセプトを見るとその理由が理解できます(出典:ローエンドマイコンで実現できる 高機能なブラシレスDCモータ制御

RL78_G1Fのコンセプト(出典:ローエンドマイコンで実現できる 高機能なブラシレスDCモータ制御)
RL78_G1Fのコンセプト(出典:ローエンドマイコンで実現できる 高機能なブラシレスDCモータ制御)

つまり、汎用MCU RL78/G14を、モータシステム向きに周辺機能拡張や使い勝手を向上させたのがRL78/G1Fなのです。あくまで汎用MCUがベースで、それを特定用途、この場合はモータ制御向けに調整したのです。

このメリットは、開発者、ルネサス双方にあります。開発者にとっては、使い慣れた汎用MCUの延長上に特定用途向けMCUがあるので馴染みやすく開発障壁が低くなること、ルネサスにとっては、新規ASSPを開発するよりも低コスト、低リスクなことです。

RL78ファミリの汎用MCUとは、変わる定義

RL78ファミリのMCUには、S1/S2/S3という3種類のコアがあります。数字が大きくなると高性能になります。

関連投稿:RL78 S1/S2/S3コアの分類

ルネサスの汎用MCUとは、これらS1/S2/S3コアを使ったMCU製品を指します。また、RL78/G1FのようにS3コアMCUのRL78/G14をベースとし、特定用途向け機能を付加したものも汎用MCUです。

※弊社は、S1/S2/S3コアの各汎用MCUに対してRL78/G1xテンプレートを販売中です。

販売中の汎用MCU向けテンプレートと特定アプリ向けMCUの関係
販売中の汎用MCU向けテンプレートと特定アプリ向けMCUの関係

この特定用途名が、ルネサスが考えるIoT時代にふさわしい汎用MCUと言えます。「汎用」という従来の広く漠然とした用途よりも、より「具体的な用途・応用に適す汎用MCU製品」としてRL78/G1FやRL78/G11があるのです。

特定用途向け汎用MCU開発にもRL78/G1xテンプレートが役立つ

このIoT時代の特定用途向けMCU開発でも、弊社RL78/G1xテンプレートが使えます。ベースが「汎用中の汎用」RL78/G10(S1コア)、RL78/G13(S2コア)、RL78/G14(S3コア)だからです。

例えば、RL78/G1Fのアプリケーションノートやサンプルコードは、具体的でほとんどそのまま開発製品へ適用できます。しかし、用途が限定されているだけに、逆に簡単な機能追加が難しい場合もあります。そんな時に、テンプレートが提供するサンプルコードを活かしつつ処理を追加できる機能を使うと便利です。

ここでは、ルネサス汎用MCUについて考察しましたが、NXPセミコンダクターズやSTマイクロエレクトロニクス、Cypressセミコンダクターなどの他社MCUベンダも同様です。汎用MCUの定義は、より具体的な用途・応用名が付いたIoT MCUへ変わりつつあります。しかし、基本の汎用MCUを習得していれば、より応用し発展できます。基本が重要だということです。

IoTでは、MCU開発はより複雑で高度になります。また、製品完成度の要求もさらに高まります。基本要素や技術を、(たとえブラックボックス的だとしても)積み上げられる、基礎・基本を習得した開発者のみが生き残ると思います。開発者個人で基礎を習得するために、是非弊社マイコンテンプレートをご活用ください。

RL78 Quick Solution

RL78 Quick Solutionは、RL78マイコンのアプリケーション「実例」です。従来ベンダ提供サンプルソフトの枠を超え、アプリ動作ハード基板:PCB、部品BOM、ユーザーズマニュアル(残念ながら英文ですが…)も「ルネサスが提供」します。

RL78 Quick Solution
RL78 Quick Solution

アプリケーション実例の貴重性

PCB Soulution (Source: R01AN3909EC0100 Rev.1.00)
PCB Soulution (Source: R01AN3909EC0100 Rev.1.00)

顧客に製品を納める方法は色々ありますが、PCBも含めて納めることは稀です。製品を求める顧客にとってPCB(ガーバーファイル)の必要性は低く、逆に開発側にとってPCBはノウハウの塊だからです。

例えば、Figure 3.3/3.4で太い配線を部分的に使っています。これは電流容量を稼ぐためです。回路設計者が、回路図にコメントを付記しても、PCB化時に実際にどの太さを用いるかは、アートワーク担当者が決めます。また、どのように配線するかでノイズ耐力や部品実装のし易さも変わります。PCBはこれら検討結果が反映されており、開発側の実力を示しています。

ベンダのMCU評価ボードは、STM32 Nucleo boardなどでもPCB&BOM掲載が一般的になってきました。しかし、アプリケーションレベルでのPCB掲載は、珍しいと思います。つまり、このRL78 Quick Solutionは、アプリ開発側にとって貴重な情報源と言えます。

ソリューション例

ソリューション例(サイトより)
ソリューション例(サイトより)

2017年12月現在のソリューション例が、上記です。例示したセーフティライトカーテン以外に10種掲載中です。ガーバーファイルやBOMがありますので、ハード製作は出来ます。勿論、動作ソフトもサンプルソフトではなく、アプリケーションソフト(!)が添付されています。

*  *  *

個人的意見を言わせてもらえれば、コストレベルでは、さらに改良の余地が残されたソリューションが多いと思います。ルネサスRL78マイコンを存分(!)に複数使っている箇所があるからです。しかし、高性能マイコン1個で開発するより、複数MCUの方がソフト開発は楽でしょう。機能追加も容易です。

従って、MCUコストとソフト開発リスクのどちらに重点を置くかで、意見が分かれるでしょう。

ルネサスがこのアプリケーション例を公開した背景は、より多数のルネサスRL78マイコンを、より簡単開発で購入してもらうためだと思います。それでも、開発側にとって貴重な情報であることに変わりありません。

ソリューションは、定期的に追加されます。ソルーション例に近いアプリケーション開発を検討されている方は、是非参考にしてください。

RL78ファミリのロードマップ

最新RL78 MCUファミリのカタログから、ルネサスRL78 MCUの開発ロードマップを抜粋しました。今後のRL78 MCUの方向性として、アナログ、センサ対応力強化が見えてきます。

RL78ロードマップと周辺回路の強化ポイント

RL78ロードマップ
RL78ロードマップ(カタログP2より)

ページ2ロードマップの赤字コメントは、ルネサスがその製品特徴を一言で表したキーワードです。緑色新製品MCUの赤字記載で目立つのは、アナログ強化とセンサです(ここでは、前提条件として無償版開発環境CS+で開発できるMCUでフィルタリングするので、ROM64KB以上の製品は除外します)。

さらに、このアナログ強化とセンサの詳細内容をカタログ記載の各MCUから読むと、S1/S2/S3コアへ、周辺回路PGA:Programmable Gain Amplifierとコンパレータ、ADC/DACを強化した製品であることが判ります。汎用製品でも、よりIoT向けのMCUへ変化しつつあることが、同ページのRL78応用分野からも解ります。

ARM Cortex-M系に勝るRL78の高品質サンプルソフト

ARM Cortex-M系が全盛な低価格MCUの市場で、唯一独自16ビットS1/S2/S3コアでライバルと争っているRL78。この市場で生き残るには、価格や開発環境の良さに加えて、実際の開発がラク、手軽になることです。

前回、RL78開発者の方々へ少し悲観的な記事を書きましたが、RL78 MCUは、使えるサンプルソフトが豊富で解説が親切、理解しやすいことも特徴です。サンプルソフトの良さ悪さは、アプリケーションの早期開発(=プロトタイピング)には重要な要素です。プロトタイピングには、ルネサスの高品質サンプルソフトと、弊社RL78/G1xテンプレートを活用してください。

開発環境CS+のサンプルソフトは、付属のスマートブラウザーを使うと、検索が簡単です。

CS+スマートブラウザーによるサンプルソフト検索
CS+スマートブラウザーによるサンプルソフト検索

残念ながら、サンプルソフトの質は、評価しにくい項目なので、MCU選定時の項目からは除外されがちです。本ブログでは、RL78サンプルソフトの質が優れた特徴をもっとアピールしていきたいと考えています。

*  *  *

PS:LPC81x/82x共通化を目指したLPC8xxテンプレートV3の開発は、7Eを予定していましたが、LPCOpenライブラリv3.01付属サンプルソフトに複数の不具合があるため、一時停止としました。これら不具合解消後、再開します。

Runesas RL78開発者に読んでほしい記事

Runesas RL78開発者の方々へ読んでほしい記事、「ARMコアの普及:前後編」を紹介します。

記事概要

ARMコア普及の背景、理由、MCUベンダーメリット、開発者メリットなどが解り易く記載されています。

Runesas RL78開発者の方々は、日々忙しい開発スケジュールに追われ、課題解決のために情報収集などを行っていると思います。RL78情報は、日本語資料やかふぇルネによるコニュニティーサポートも充実しているので、日本人開発者にとってRL78は便利です。

但し、別MCUの状況を知ることも大切です。RL78は優れたMCUです。しかし、良いMCUや技術が生き残るかは、全く別問題です。開発者は、現状に拘らず、バックアップ技術も習得しておくことが大切です。

このバックアップ技術の候補を考えるうえで、上記記事は示唆に富んだ方向性を示してくれると思います。


CS+ V6更新後のウイルス対策ソフトAvastとの相性問題

先日RunesasのCS+がV6に更新されました。弊社マイコンテンプレート動作を、この最新CS+で確認しました。

但し、動作確認終了後、約1時間した後に、ウイルス対策ソフトAvast 17.5.2303から下記ワーニングが発生しました。CS+は、既に動作終了しています。

CS+とAvast相性問題
CS+とAvast相性問題

動作終了したCS+が原因だと気が付かずに、うっかり動作を阻止すると、CS+の今後の動作に支障が発生する可能性もありますので、私は、除外リストへCS+の当該処理を加えました(以前も同様のワーニング発生で同じ対処でトラブル回避しました)。

同じようなワーニングが発生した場合には、 参考にしてください。

RL78消費電流シミュレータ解説ガイド

2016年9月の記事で、ルネサスRL78消費電流シミュレータのキャンペーンを紹介しました。2016年12月にこのシミュレータの解説ガイトがリリースされましたので、紹介します。

2種類の消費電流シミュレータ

解説ガイトから抜粋の2種類の消費電流シミュレータ比較結果を示します(本家サイト全検索も綺麗な表が見つかりませんので、低解像度はご勘弁を)。

Current Simulator Comparison
消費電流シミュレータの比較(記事より)

比較表上側:消費電源計算ツールが9月で紹介したWebシミュレータです。弊社9月記事で懸念したシミュレータの精度は、あくまで参考値だそうです。低消費電力が売りのRL78/G10、G13、G14、G1Dで対応品種が多く、Webで手軽に使えるツールなので、どの程度の参考になるかをもう少し具体的に、技術的に示してほしいです。

もう1つの実測値の±10%程度の精度がでるシミュレータ:比較表下側は、RL78/G10とG13に対応中で、e2 studioのプラグインで機能提供するものです。将来的には、こちらもクラウド対応にする計画があるとガイドに記載されています。シミュレータで10%誤差なら、結果に十分説得力があります。

CS+で使える消費電流シミュレータは?

気になるのは、この2番目のツールが、RL78/G1x開発では圧倒的に使い易いIDE CS+を差し置いて、e2 studioでのみ提供中である点です。ルネサスはe2 studioへIDEを一元化したいのでしょうか? それとも、CS+よりもe2 studioユーザが多い(あくまで推測ですが、その)結果が反映されたのでしょうか? CS+ユーザの私には非常に気になりました。

RL78消費電流シミュレータお試しキャンペーン

下記ルネサスRL78製品の消費電流シミュレータのお試しキャンペーンが9月1日から30日まで行われています。期間中にシミュレータを試すと、抽選でE2エミュレータLiteなどが当たります。
キャンペーン応募には、マルツやチップワンのサイトからアクセスが必要です。

RL78消費電流シミュレータ対象製品ラインアップ
RL78消費電流シミュレータ対象製品ラインアップ

消費電流シミュレータ

マルツ掲載のWeb消費電流シミュレータメリットが下図です。

RL78 Webシミュレータメリット
RL78 Webシミュレータメリット

超低消費電力マイコン:MCUは、複数ベンダから数多く販売中です。MCU本体の消費電力はカタログで比較できますが、ADCなどの周辺回路も含めたトータル消費電流が簡単に評価できるのがメリットです。

MCU本体制御の重要性

趣旨からは少し外れますが、このシミュレータを本体MCUのみ動作させ使ってみます。

MCUと周辺回路の消費電流比較
MCUと周辺回路の消費電流比較

消費電流計算をクリックすると、MCU本体が、周辺回路と比べて桁違いに電流を消費するのが解ります。そこで、この最も大食いのMCUを10000~20000ms間HALT、30000~40000ms間STOPさせると、オレンジのaverage電流が急激にさがります。

これは、マイコンの超低電力動作には、MCUのHALT/STOP制御が重要であることを示しています。では、実際にHALT(機種によってはSLEEPと呼ぶ)やSTOPさせながら上手く周辺回路を動かす方法とは、何でしょうか? 弊社マイコンテンプレートは、これに対する1つの解です。マイコンテンプレートは、初めからHALT(=SLEEP)制御を組込んでいます。実機によるHALTの効果は、以前の記事に記載済みです。

詳細なマイコンテンプレートの仕組みは、テンプレート特集サイトのコチラを参照してください。

STマイクロエレクトロニクスのSTM32Lシリーズ

同様のツールは、STのSTM32CubeMXのPower Consumption Calculatorです。

STM32CubeMXのPower Consumption Calculator
STM32CubeMXのPower Consumption Calculator

実効値との差はどの程度か、電流シミュレータが誰にでも簡単に使えるかなど少し疑問がありますが、動作電圧の決定や未使用周辺回路のクロック供給を停止すること、動作クロック周波数低減の効果、HALT=SLEEP込みのMCU間欠動作をさせ、サンプルソフトを簡単に流用できるマイコンテンプレートの良さを示すには、これら消費電流シミュレータは良いツールだと思います。

RL78/G1xテンプレートのCコンパイラパッケージリビジョンアップ対応状況

2016年7月16日号RUNESAS TOOL NEWSで、RL78ファミリ用CコンパイラパッケージV1.03.00のリビジョンアップが通知されました。7月21日からCS+アップデートの確認、または、アップデート・マネジャーで更新可能です。

弊社RL78/G1xテンプレートは、2015年7月4日にRL78-S1/S2/S3コア全てに対応のVer5を発売して以降、変更を加えていません。そこで、RL78/G1xテンプレートVer5の上記CコンパイラV1.03.00対応状況を報告します。

CS+出力パネル

アップデート・マネジャーでCコンパイラアップデートを実行後、最初にCS+を起動すると、警告(W0202005)ダイアログが表示されますのでOKをクリックします。この警告は、更新など何らかの変更がCS+に加わった時に注意喚起を促すダイアログで、出力パネルに下記のような詳細内容が表示されます。

CS+出力パネル警告
CS+出力パネル警告

青字が変更箇所です。黒字は、お使いの環境設定により異なりますので、無視してください。

さて、今回のCコンパイラリビジョンアップで、RL78/G1xテンプレートVer5を再コンパイルします。方法は、ビルド(B)>クリーン・プロジェクト(C)を実行後、リビルド・プロジェクト(R)を実行します。出力パネルに下記結果が表示されます。

CS+出力パネル0エラー
CS+出力パネル0エラー

私のCS+は、評価版インストール後かなり経過していますので評価期間切れの警告が表示されますが、無視してください。

0エラーですので、今回のCコンパイラパッケージリビジョンアップに対して、RL78/G1xテンプレート付属の下記6プロジェクトに対して問題なく動作します。動作確認評価ボードは、コチラに一覧写真があります。

RL78/G1xテンプレートVer5のプロジェクトとRL78コア、評価ボード
CS+プロジェクト名 RL78対応コア 動作確認評価ボード
BB-RL78G13-64(プロジェクト) RL78-S2コア BlueBoard-RL78G13-64
RL78G13-PB(サブプロジェクト) RL78-S2コア G13スタータキット:RL78G13-Stick
RL78G14-PB(サブプロジェクト) RL78-S3コア G14スタータキット:RL78G14-Stick
QB-R5F100LE-TB(サブプロジェクト) RL78-S2コア QB-R5F100LE-TB
QB-R5F104LE-TB(サブプロジェクト) RL78-S3コア QB-R5F104LE-TB
QB-R5F10Y16-TB(サブプロジェクト) RL78-S1コア QB-R5F10Y16-TB

プロジェクト内容やマイコンテンプレート概要等は、マイコンテンプレートサイトからPDFダウンロードができますので参照ください。

解説:マイコン評価ボード

マイコン開発には、各社が低価格で提供している評価ボードは必須です。
弊社マイコンテンプレートも、各ベンダの評価ボードで開発しています。この評価ボードを解説します。

採算度外視の低価格、高信頼ハードウエア

ソフト開発者に「確実に動くハードウエア」を「低価格」で提供する、これが評価ボードです。

マイコン開発には、「専用」のソフトウエアと「専用」のハードウエアの両方が必要です。そして片方のデバッグには、もう片方にバグが無いことが必須です。つまり、ソフトデバッグには、バグなしのハードが必須なのです。そこで、バグなしで確実に動作する「汎用」ハード、これが各ベンダ提供の評価ボードです。

但し、専用ハードがいずれ開発されるので、汎用の評価ボードは低価格とならざるをえない運命です。高ければ誰も買ってくれないからです。しかし開発者にとっては、以下のように優れた教材と言えます。

  1. ソフト開発者が、専用ハードが出来上がる前にソフトデバッグ可能な環境を自由に構築できる
  2. ハード開発者が、そのまま専用ハードにも使える高信頼ハード設計を学べる
  3. マイコン初心~中級者が、ベンダ標準のデバッグ技術で低価格な開発環境を使って自習できる
  4. 評価ボードは、各ベンダフォーラムで多くの情報が記載されており、適用サンプルソフトも多い

ターゲットMCU、デバッグインタフェース、拡張コネクタの3構成

評価ボードは、ターゲットMCU、デバッグインタフェース、拡張コネクタの3つから構成されます。

NXPの評価ボード:LPCXpresso LPC812とルネサスのRL78G13-Stick、CypressのCY8CKIT-042 の例を示します。

LPCXpresso LPC812構成
NXP LPCXpresso LPC812構成
RL78G13-Stick構成
Runesus RL78G13-Stick構成
CY8CKIT-042構成
Cypress CY8CKIT-042構成

ターゲットMCU

ターゲットMCUとは、開発MCUそのものの部分です。残りのデバッグインタフェースと拡張コネクタは、ターゲットMCUが異なっても同一です。

拡張コネクタ

最近はArduino用シールドコネクタを拡張コネクタに用いる評価ボードが多いです。これは、市販Arduinoシールドの種類が増えたため、上手く探せれば汎用の評価ボードに複数のArduinoシールドを拡張コネクタで接続し、専用ハードに近い、いわば「疑似専用ハード」を市販品のみで作れます。ボード単位のハード部品化がもたらした結果と言えます。

個人的には、シールドよりも、mbed – Xpresso Baseboardの方がより低コストで疑似専用ハード実現ができると思っています(こちらに詳しく記載しました)。

デバッグインタフェース

デバッグインタフェースは、IDEデバッグ機能を使うために必要な部分で、ターゲットMCUのシリアル入出力とパソコンUSBを変換する機能もここに含みます。この機能専用のマイコンが実装されることが多くなりました。このマイコンでデバッガ機能も代行するので、別途デバッガを購入せずにソフトデバッグが可能です。

MCUがARM Cortex-M0/M0+の場合には、ARM標準のCMSIS-DAPでMPUコアをデバッグできるインタフェースも実装されます。CMSIS-DAPはこちらの記事も参照してください。

CMSIS-DAPは、ターゲットMCUとデバッグインタフェースを切り離した後に、ソフトデバッグする時、別途ARM専用デバッガが必要ですが使えます。このように、1つの評価ボードで複数のデバッグ方法が使えるのも特徴です。

ARM系コアの場合は、ベンダ評価ボードもほぼ同じ構成で、ARM専用デバッガを1台持っていれば、ベンダ各社の評価ボードをまたがっても使えるのがメリットです。マイコン開発のデファクトスタンダートになりつつあります。

一方、デバッグインタフェースをE1コネクタでしか持たないルネサスのCPUボードをデバッグする際は、別途E1デバッガを接続しないとデバッグができません。この点は、Cortex-M0/M0+コアのMCUと比べるとコスト的に劣ると言えるでしょう。

Runesus QB-R5F104LE-TB構成
Runesus QB-R5F104LE-TB構成

デバッガ機能なしの統合開発環境:IDEの背景

シールドなどのボード単位の部品化が進んだ結果、専用ハードは、もはや既存ハードを組み合わせて、その小型化のみを行う設計、つまり専用基板化が主な開発内容と言えるかもしれません。

同様に、ソフト開発もベンダが、多くのライブラリを提供することで、専用ソフトをライブラリの組合せで完成できるレベルを目指しているようです。IDEにデバッガ機能がないArduino IDEなどは、この現れのような気がします。

ハードとソフトのオープンソース

ハード版オープンソースとしてArduinoシールドコネクタを持つ既成基板は、増えつつあります。

オープンソースを活用したソフト開発は、Unix系では当たり前です。この流れがマイコンソフトへも徐々に浸透する可能性を感じています。この場合、ハードの専用基板化開発に相当するのは、RTOS適用や弊社のマイコンテンプレートになるかもしれません。