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付属サンプルソフトに複数の不具合があるため、一時停止としました。これら不具合解消後、再開します。

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ダウンロードができますので参照ください。

CS+ V4、e2 studio V5へ更新

ルネサスツールニュース2016年4月16日号でIDEのCS+がV4、e2 studioがV5の更新が発表されました。
更新は、通常手順で問題ありません。しかしCS+は、セキュリティソフトAvastとの相性問題か、脅威検出が発生しました。

更新方法

CS+は、アップデートマネジャの起動で更新されます。但し、ラピッドスタート有効時は、一旦CS+を終了しアップデートマネジャ単独での処理が必要です。

e2 studio V5(Eclipse 4.5:Marsベース)は、V5のインストーラをダウンロードし、新規インストールが必要です。前版からは、V5へ更新できません。

これはEclipseベースのIDEでは周知のことで他社、例えば旧FreescaleのKinetis Design Studioも同様でした。

更新結果

CS+は、Windows 8サポートが終了し、Windows 10または8.1利用が必須となりました。
また、CS+起動時にMy Runesasへのログインダイアログが表示されるようになりました。ログインすると、同意確認ダイアログが表示されます。Windows 10の情報収集と同じような機能だと思います。

MyRunesas Login and Confirmation
MyRunesasログインと同意確認

気持ちが悪い人は、CS+起動後にヘルプ>プライバシー設定(Y)…で同意の変更が可能です。

Privacy Setting
プライバシー設定変更

e2 studioは、V5インストーラ起動後、アップグレードか別フォルダへのインストかを選択し実行します。追加ソフトウエアで、CC-RLコンパイラやKPIT GNU RL78コンパイラが選択インスト可能です。

e2 studio v5 setup
e2 studio v5セットアップ

更新完了で下図となります。

e2 studio v5
e2 studio v5

AvastとCS+の相性

旧CS+では生じなかったセキュリティソフトAvastから脅威検出が発生しました。この現象は、過去のCS+更新時にも生じた経験があります。

Avast Block Report
Avastがブロックした脅威

今回は、「スキャンから除外するリストに追加」で対処しました。Avast以外のセキュリティソフトでも発生する可能性がありますので、参考にしてください。

e2 studio所感

e2 studioをCS+の代わりにRL78/G1xマイコン開発で使う必要性は、「今のところ無い」と思います。

「なれ」の問題もありますが、コード生成ツールや、デバッガの基本的な使い方などは、CS+と同じであることが理由です。敢えて差分を示すと、今回のツール更新方法やCコンパイラが選択できること、デバッガ接続方法などです。
また、他社と比べベースとなったEclipse IDE更新が数か月遅れなのも気になります。

最近のルネサスサンプルコードは、CS+とe2 studioの両プロジェクトが一緒に提供されます。狙いはe2 studioの普及だと思います。

汎用のIDEであるEclipseになれるという目的でe2 studioを使うのは良いかもしれませんが、ルネサスMCU専用のIDEであるCS+よりも使いやすいとは言えません。

いずれにせよ、e2 studioは、要観察を続ける予定です。

CS+のCS78K0Rコンパイラ消える?

ルネサスツールニュース2016年4月1日号で、CcnvCA78K0Rが発表されました。

これは、RL78の統合開発環境CS+のCA78K0RコンパイラCソースを、CC-RLコンパイラCソースへ変換するツールです。58ページからなるユーザーズマニュアルも公開中です。

コンパイラ一本化への布石

統合開発環境:IDEのコンパイラが2本あるのは、使う側、提供する側双方にとってメリットはありません。

まして、CC-RLが性能では優れているので、CA78K0Rを使い続けるのは既に顧客へ提供済みのCソースを使うからでしょう。

本ツールは、そんなCソースをCC-RL Cソースへ変換します。CA78K0Rコンパイラは、半導体デバイスでは良くあるディスコン(discontinue)にして、CC-RLコンパイラへ一本化するための布石だと思います。

IDE

ルネサスは、統合開発環境IDEも独自開発のCS+と、ワールドワイドで一般的なEclipseベースのe2 studio、さらにRenesas Synergy™ 開発環境(ISDE)やHewなども提供中です。

要は、デバイス開発に使いやすいIDEが良いのですが、誰とどのように開発するか等の条件によりルネサスは、様々な解を提供しているのです。Synergyは別物としても、何種類も提供するのは大変でしょう。他ベンダがEclipseベースで一本化されているのとは、対照的です。

ベースとなるのがEclipseでも、各社IDEのAPI関数を生成するツールは全く異なります。ルネサスのAPI生成ツールが慣れもあって使いやすいので、この特徴を活かした発展を望んでいます。

マイコンIDEを早く効果的に習得するコツは、コチラのページにまとめています。

CA78K0Rコンパイラ V1.71回避不能バグ

2月1日発行のルネサスツールニュースで、RL78/G1xの「CA78K0Rコンパイラ V1.71の回避不能なバグ」が報告されています。

RL78/G1xテンプレートVer5のCA78K0Rコンパイラ版でも、報告記載の「volatile」や「前置インクリメント」を使っていますが、こられバグに該当しませんので安心してください。
但し、テンプレートを使ってアプリを開発された方は、ニュース内容に目を通し確認することをお勧めします。

RL78_G1xテンプレートの動作コンパイラP3より抜粋
RL78_G1xテンプレートの動作コンパイラP3より抜粋

ニュース最後に、「次期バージョンで改修する予定」と記載されていますので、ディスコンを懸念したCA78K0Rも改版されるかもしれません。しかし個人的には、CC-RLコンパイラへの乗換えをお勧めします。

CS+からe2 studio移行

ルネサスサポート情報 Vol.273 2016/1/28で、RL78統合開発環境CS+ for CCからe2 studioへの移行ガイドが示されました。

このガイドは、CC-RLでコンパイルしたCS+プロジェクトを、e2 studioプロジェクトへ変換(インポート)し、インポートしたe2 studioプロジェクトとE1デバッガを接続する方法が示されています。

CA78K0R → CC-RL → e2 studio

RL78アプリノート/サンプルコードの機能をクリックして「置き換え」の欄を視ると、CA78K0RからCC-RLプロジェクト変換方法はありますが、CA78K0Rからe2 studioへの移行ガイドはありません。

RL78アプリケーションノート/サンプルコード(機能)
RL78アプリケーションノート/サンプルコード(機能)

つまり、今回RL78開発環境CS+のCA78K0R → CC-RL → e2 studioへの道筋が示された訳です。

ルネサスのIDE

HewからCS+、そしてe2 studioが追加されたルネサスIDEの状況が、統合開発環境ページに示されています。CS+とe2 studio間は、「両方向の矢印」ですが、これが今後「e2 studioへの片方向」へ変わるかが気になります。

ルネサス統合開発環境の移行
ルネサス統合開発環境の移行

なにせ、CS+のようなユニークな独自IDEを開発、サポートするだけでも結構大変なことだからです。e2 studioは、Eclipse IDEを日本語化しルネサスの各種ツールを組込めますが、これだけでも手間がかかるでしょう。

テンプレートのe2 studioサポート

現状は、「CC-RLとCA78K0R両方サポート」のRL78/G1xテンプレートですが、e2 studio動作のテンプレートも必要と考えています。

E1でデバッグする評価ボードは、移行ガイドに従えば問題なさそうですが、EZ Emulatorで接続するRL78G13/G14-Stickボードがe2 studioでデバッグできるか否かが不明です。近々にこの調査結果を掲載予定です。

※e2 studioでE1は勿論ですが、EZ Emulatorも接続できることが確認できました。

CC-RLコーディングテクニックとRL78開発環境の今後

CC-RLテクニック

ルネサスサポート情報 Vol.272 2016/1/21に、RL78ファミリ用Cコンパイラ CC-RLコーディングテクニックが紹介されています。

CC-RLコーディングテクニック

RL78/G1xテンプレートでも使っている「CC-RLコンパイラの上手い使い方」がまとまっています。
e2 studioとCS+ for CC(RL78, RX, RH850)両方のIDEについて、従来あまり解説されなかった「変数/関数情報ファイル」に関しての利用方法も少し記載されています。

e2 studioの説明がCS+と同じ資料に含まれているのは、これまで見たことがありません。e2 studioの日本人ユーザが増加しつつあるからでしょうか?

CS+がV3.03.00へ改版

2015年末にCS+がV3.03.00へ更新されました。
更新に伴い、CS+ for CCは、パッケージ・バージョンもV3.03.00へ変わりましたが、CS+ for CA、CXはV3.01.00のままです(CS+ アップデート・マネジャのオプション>更新履歴の表示より)。

RL78マイコンは、前回更新から増加しているハズですので、追加RL78マイコンは、CC-RLコンパイラのみでサポートするのかもしれません。確かに、「新規にCS+ for CA、CXを使うメリットは、無い」と言えますので、しょうがないのかもしれません。CS+ for CA、CXのユーザの方は、ご注意ください。

販売中のRL78/G1xテンプレートVer5は、CS+ for CA、CXとCC-RLの両コンパイラをサポートしております。CA、CXユーザの方で、CC-RL移行をお考えの方も、是非ご検討ください。

RL78/G1xテンプレートも今後は、「CS+ for CC-RLのみをサポート予定」です。但し、ご購入時にご連絡いただければ、Ver5のCS+ for CA、CX版テンプレートも付属いたします。

RL78/G1x機能比較と開発コンパイラの今後予測

RL78/G10の初期設定アプリケーションノートがRev.2.00に改版されました(ルネサスサポート情報 Vol.267 2015年11月26日発行)。この改版内容から、RL78/G1xコンパイラの今後を予測します。

汎用マイコンRL78/G1xの特徴

RL78/G1xの解り易い機能比較を示します。
RL78ファミリカタログを観ると、品種が多く機能満載なRL78は解るのですが、弊社テンプレート対象の汎用マイコンRL78/G1xの特徴は、逆に見えなくなるので、この比較図は重宝します。

RL78/G1x機能比較
RL78/G1x機能比較

最初の3列:RL78/G13~G10が、汎用中の汎用マイコン、G1A~G1Eがこれらに、右赤で表記した機能を強化したマイコンという構成です。

RL78/G1Dが、開発中のPSoC 4 BLEテンプレート対抗機です。Bluetooth Low Energyを搭載すると128 – 256KBのフラッシュROMが必要になり、IEEE802.15.4e/g搭載のRL78/G1Hでは、256 – 512KBに増えることが解ります。この容量では、残念ですが64KB制限の無償CS+を使うことができません。

もちろん、以前示したように上手く機能分割すれば無償版での部分開発も可能ですが、BLEや802.15の部分のみで64KBを超えることは、PSoCの例から考えると確実です。
現状の無償版制限がなくならない限りRL78/G1DやG1H開発は、かなりのコストアップになるでしょう。

RL78/G1xのCA78K0RコンパイラとCC-RLコンパイラ

現在のRL78/G1xテンプレートVer5は、CA78K0RとCC-RL両方のコンパイラに対応しています。

しかし、RL78/G10の初期設定アプリケーションノートRev.2.00の改定記録A-1ページを見ると、改定内容のCS+動作確認バージョン表2.1にCA78K0Rは含まれず、CC-RLコンパイラのみとなっています。
これは、新しいアプリケーションノートは、CS+ for CA, CXの「CA78K0Rコンパイラ動作確認はしない」とも読めます。深読みかもしれませんが、安全側の読みをすればこうなります。

RL78/G1xを使った出荷済み製品には、まだCA78K0Rコンパイラ版で開発したプログラム搭載機が多くあると思います。ルネサスからの正式な発表はありませんが、上記の状況を考慮すると、今後製品改良または、新規製品開発には、CC-RLコンパイラの利用が必須と考えます。

これらの事から、弊社RL78/G1xテンプレートも次版からは、「CC-RLコンパイラのみを対象」とする予定です。どうしてもCA78K0Rコンパイラ版が必要な方は、Ver5テンプレートのままですが提供いたします。

RL78/G1xテンプレートVer5は、CA78K0Rコンパイラでの動作確認もしています。ご安心ください。