RL78マイコン,MCU:マイコンRL78/G13,RL78/G14,テンプレート

ルネサスが、2015年3月11日~3月31日まで、RL78/G13 Stick スターターキットを、抽選で100名様にプレゼント中です。
応募は、期間中に「My Renesas」に新規登録、または登録情報の更新でも可能です。

RL78/G13 スタータキットは、弊社マイコンテンプレートでもサポートしています。プレゼントをゲットできた方も、残念ながらゲットできなかった方も、是非RL78/G1xテンプレートもご検討ください。
マイコンテンプレート概要と仕様を説明したページは、ダウンロードができます。現在RL78/G1xを含め4種類のマイコンに対応したテンプレートを各1000円(税込)で販売中です。

RL78/G13 Stick(RL78/G13 Promotion Boardとも呼ばれた)は、本ブログで最も記載回数が多い対象です。RL78/G13や、RL78/G14をページ右上のSearchに入力すると、関連記事が一覧できます。

RL78マイコン,MCU:マイコン,LPCマイコン,MPU/SBC:IoT用プロセサ,Kinetisマイコン,Cortex-M0+コア,Cortex-M0コアRL78/G13,RL78/G14,テンプレート,LPC8xx,ARMマイコン,Cortex-M0+,LPC111x,Kinetis E,IoT向けPC,Raspberry Pi,RL78/I1D,IoTマイコン

NXPとFreescaleの合併、予想さえしなかったことです。激動するマイコン世界ですが、現在のマイコンテンプレート状況を整理し、次期テンプレートのターゲットとなるマイコンについて考えます。

入手性の良いマイコンとテンプレート販売状況

以前紹介した入手性が良いマイコンが一目で解る、チップワンストップサイトのマイコン/開発ツール検索を今回も利用させていただきます。サイト中央のマイコン/ボードタグをクリックすると、8/16/32bit処理ビットとベンダ毎に分けられたマイコンが表示されます。

一覧表が以下です。緑色がARM仕様のマイコン、青色がベンダ仕様マイコン、赤囲みがテンプレート対応マイコンで、現在4種のテンプレートを1000円(税込)で販売中です。

入手性の良いマイコンとテンプレート提供状況
入手性の良いマイコンとテンプレート提供状況

表中NXPはARM Cortex-M0のみですが、Cortex-M0+のLPC8xxも供給しています。
32bitマイコンの主流は、緑のARMマイコンです。表内のARMコアの特徴をまとめたものが下表です。

ARMコア 名称 概要
Cortex-Mx エンベデッド プロセサ 32bitの高い処理効率を維持し、業界最先端の動作と最小限のスリープ/ダイナミック電力、最小限のダイ面積を目指し設計。以下の4サブ構成。
Cortex-M0:低消費電力マイコン
Cortex-M0+:超低消費電力マイコン
・Cortex-M3:汎用マイコン
・Cortex-M4:デジタル信号制御マイコン
Cortex-Ax アプリケーション プロセサ 高度なオペレーティングシステム:OSが実行可能なメモリ管理ユニットMMU搭載マイコン
ARMx Classic プロセサ ARM11、ARM9、ARM7などコスト効果の高いマイコン

 

32bitマイコンのテンプレート対象は、Cortex-M0/M0+です。
Cortex-M3クラスになると、高価なうえに動作周波数も70MHz以上でControlよりもComputeが得意になります。IoT向けPCのEdisonRaspberry Pi 2(Cortex-A7搭載)と競合する可能性もあります。Cortex-M0/M0+は、16bitマイコン市場の置換えも視野に入れたマイコンですので、今後の普及も期待できます。
16bitマイコンは、ルネサスの超低消費電力マイコンRL78に、RL78/G1xテンプレートを販売中です。

4種テンプレートに付記した動作電圧からみえるのは、そのマイコンの想定アプリケーションです。
FreescaleのKinetis Eは、5V耐性やノイズ耐力を高めたマイコンです。また、NXPのLPC8xxは、バッテリ駆動ができ、小ピンですがスイッチマトリクスによりピン配置の自由度が高く、LPC111xも同じくバッテリ駆動可能で、第3世代でアクティブ消費電流が116uA/MHzまで低下したマイコンです。ルネサスのRL78は、広い動作電圧がセースルポイントのマイコンです。

以上が現状マイコンテンプレートの状況です。「16bitのHigh Performanceマイコンから32bit Entry+alphaのマイコンで、容易に入手できメジャーなもの」へテンプレートを提供し、「対象マイコンの速習と早期アプリ開発」が誰でもできます。テンプレートの詳細は、マイコンテンプレートサイトを参照してください。

IoTアプリケーション向きの超低消費電力マイコンと次期テンプレート

開発アプリケーションに適したマイコンを選ぶこと、これが最も重要です。汎用マイコンでも、想定した応用の範囲内で能力を発揮するように設計されているからです。
次期テンプレートは、よりアプリケーション指向の強いマイコンを選びます。当りハズレはありますが、当たればより多くのテンプレートが売れる可能性があるからです。

プログ記載の2015年1月~2月に集中して最新マイコンドレンドを分析した結果、各ベンダは、巨大マーケットを持つ「IoTアプリと車載アプリ」へのマイコン開発に力点を置きつつあることが解りました。特に車載マイコンでのこの動きの結果、NXPとFreescaleの合併となったとも言えるでしょう。

次期テンプレートもこのドレンド:IoTアプリ向けの超低消費電力マイコンに開発します。例を挙げると、ARM Cortex-M0/M0+コアでは、より低い消費電力、高エネルギー効率と低コストを狙ったFreescaleのKinetis LシリーズやNXPのLPC82x、ルネサスRL78:S3コアでは、RL78/I1Dなどです。

これらには、従来テンプレートに添付したシンプル/メニュードリブンテンプレートに加え、IoTアプリ開発の重要なポイントになる省電力テンプレート(仮称)も加える予定です。

 

IntelシニアフェローStephen Pawlowski氏によると、「これからの10年は、エレクトロニクスのイノベーションの歴史で最もエキサイティングな時代になるだろう。」だそうです。弊社マイコンテンプレートが、このエキサイティングな時代に活躍する技術者/開発者の方へ、少しでもお役立てれば幸いです。

RL78マイコン,MCU:マイコンRL78/G13,RL78/G14,RL78/I1D,IoTマイコン

マルツオンラインで、ルネサスの最新省電力マイコンRL78/I1Dが入手可能になりました。1個410円~430円と手頃です。そこで、同じS3コアのRL78/G14とRL78/I1D、パッケージ比較をしました。30ピンLSSOPの場合を示します。

RL78/G14とRL78/I1Dパッケージ比較
RL78/G14とRL78/I1Dのパッケージ比較

G1x系とRL78/I1DはCompatibilityなし

RL78/G1xのRL78/G14とRL78/G13は、ピンコンパチなので、同じパッケージなら置換え可能です。

RL78/G1x系のIOポート配置例
RL78/G1x系のIOポート配置例

しかし、残念ながらRL78/I1Dは、G1x系とはRESET、Vss、VddなどのSystemピンの配置が異なるため置換えができません。S3コアのRL78/G14と同じなら、CPU基板の流用ができただけに残念です。

RL78/I1Dで追加された、コンパレータやオペアンプなどのアナログ関連の周辺回路のせいでしょうか? 両者を比べると、Systemピンは近接しているのでピンコンパチの選択肢もあったと思います。どんなことでも親切に返答してくれる、かふぇルネに聞いてみると教えてくれるかもしれません。

やはり、RL78/I1DのCPUボード:RTE5117GC0TGB00000Rが個人購入できるまで待つのが良さそうです。

RL78マイコン,MCU:マイコン,LPCマイコン,Kinetisマイコン,Cortex-M0+コア,Cortex-M0コアRL78/G13,RL78/G14,テンプレート,LPC81x,ARMマイコン,Cortex-M0+,LPC1114,Kinetis E

IoTに向けて汎用マイコンも変化しつつあります。今回は、この変化について考えます。

ADC分解能12ビット

最近のマイコンADC分解能は、汎用タイプでも12ビットが標準的です。例えば、LPC824(NXP、2014/10発売)、RL78/I1D(ルネサス、2015/02発売)などです。従来10ビットに比べ4倍の分解能です。
接続されるセンサの性能向上や、マイコン向きの分解能として12ビットが選ばれたと思います。これ以上の分解能になると、キャリブレーションや測定誤差への対応が必須となり、ADC専用ICの領域となるからです。

CPU代替データ転送

DMA:Direct Memory Accessや、DTC:Data Transfer Controllerは、CPUに変わってデータを転送する機能です。CPU転送より低電力で動作するため、ADCとペアで使われるのが一般的です。ADC変換データをDMA/DTCを使ってRAMへ転送し、この間はCPUを休ませる、その目的は、消費電力の低減です。

CPU消費電流低下

マイコンCPU本体の消費電力が改善される好例が、LPC1114(NXP)です。トラ技2012年10月掲載のLPC1114評価ボードのCPUは、LPC1114/301でした。LPC1114/xx1 → xx2 → xx3(xx1の数字が世代を示し、現在は第3世代)で180uA/MHz → 140uA/MHz → 116uA/MHzと世代が進む毎にアクティブ消費電流が36%も低下しました。

これらの変化は、5Vレギュレータ動作から、バッテリーなどのより低く、しかも変動する電圧でも長時間動作する省電力マイコンが目的です。

基本動作モードと省電力動作モード

RL78カタログ資料より抜粋したRL78ファミリの動作モードを示します。

RL78ファミリの動作モード
RL78ファミリの動作モード

通常動作(MAIN RUN、ARMマイコンの場合はRUN)と低電力動作(HALT、ARMの場合はSLEEP)、動作停止(STOP)の基本3モードに加え、第4の新しい省電力動作モード(SNOOZE)があります。

SNOOZEは、HALTよりも更に低い電力で動作しますが、以下の点に注意が必要です。

  1. SNOOZE動作するには、STOP動作モードから入る必要あり。
  2. SNOOZE中に動作する周辺回路は機種によりに異なりRL78/G13、G14の場合は、ADC、CSI00スレーブ受信、UART0データ受信の3機能のみ。
  3. HALT → MAIN RUNに復帰する時間に比べ、起動時間がかかる。

これらに注意して、開発アプリでSNOOZEが有効に使えるか否かの判断が必要です。

例えば、RL78/G13でADCデータをDMAでRAM転送する場合には、SNOOZEは使えず、HALTで行う必要があります。あるいは、ADCはSNOOZEで行い、データ転送はCPUで行う方法もあります。
どちらが開発するアプリに適しているか、消費電力はどちらが低いか、SNOOZEからの復帰時間は問題ないかを検証し、決める必要があります。
最新マイコンRL78/I1Dは、RL78/G1xに比べこの制約が緩く、より簡単に広い条件で適用できる工夫も施されています。
また、さらに細かい省電力アプリへ対応すべく、10個もの動作モードを持つKinetis Lシリーズ(Freescale)などもあります。

Kinetis Lシリーズの動作モード
Kinetis Lシリーズの動作モード

ポイントは、各省電力動作モードの制約条件と復帰時間を考慮したうえでモード選択することです。

現行テンプレートの動作モード

販売中のテンプレートは、通常動作:MAIN RUNと低電力動作:HALT(SLEEP)の2動作モードに対応しています。これは、

  • この2動作モードは、全マイコンにあり、機種に依存しないテンプレートとして実現できること
  • 省電力化に最も効果があり、通常動作への復帰も高速なので確実(バグなし)に動作すること

が理由です。

省電力動作モードの注意点と裏ワザ

省電力動作モードには、多くの制約条件があります。言い換えると「動作するアプリや環境を想定した動作モード」とも言えます。この省電力動作モードの注意点をまとめます。

  • 想定したアプリや動作環境を見極め、それに沿って開発しないと徒労になる
  • 通常動作への復帰時間を吟味した上で使わなければ、取れにくいバグを生むリスクがある
  • 苦労して省電力動作モードを実装しても、そのモードの全体動作に対する相対時間が少なければ、得られる効果も少ない

実は、前述のLPC1114進化のように、マイコンそのものを初めから低消費電力版へ変えることが一番簡単で確実だったりします(裏ワザ?)。

省電力テンプレートの方針

テンプレートとしても新しい省電力動作モードへの対応が必要です。以下の方針で開発予定です。

  • 省電力アプリを特定し、その上で、応用範囲の広い適用例で開発
  • 省電力アプリの有効性を確実に示せるマイコンに実装(そもそも省電力動作モードそれ自身に、想定動作があるので機種依存性が生じるのも仕方がないかも…)

シンプル/メニュードリブンテンプレートに続く第3のテンプレート:省電力テンプレート(仮称)とは、
「通常時は現行テンプレートと同様MAIN RUNとHALT(SLEEP)で処理を行い、一定時間入力が無い場合は、STOPまたはSNOOZEになり、何らかの外部入力で通常動作へ戻る」
などでしょうか?

方針提案に対する、ご意見、ご希望など何なりとお気軽に、info@happytech.jpへお寄せください。参考にさせていただきます。

RL78マイコン,MCU:マイコン,LPCマイコン,KinetisマイコンRL78/G13,RL78/G14,テンプレート,使用法,LPC8xx,LPC81x,ARMマイコン,LPC111x,LPC1114,Kinetis E

販売中の4種マイコンテンプレート説明資料に、テンプレート利用法ページを追加しました。
既にテンプレートご購入の皆様へは、近日中に追加済みのテンプレート説明資料をメールにて送付いたしますので、しばらくお待ちください。

テンプレート利用法ページの内容一部抜粋

テンプレート利用法ページには、ソースコードを見やすくするための記述の工夫テンプレート機能とその処理関数どこにユーザ関数を追加した結果、シンプル/メニュードリブンテンプレートになるのかを3ページにわたって示しております。
説明資料の全ページ内容は、テンプレートサイトの各テンプレート説明資料右下のもくじを参照して下さい。P1とP2は、サイトからダウンロード可能です。

RL78/G1xテンプレートの内容を一部抜粋します。他の3種LPC8xx、LPC111x、Kinetis Eテンプレートも同様です。

テンプレート機能とその処理関数
テンプレート機能とその処理関数(RL78/G1xテンプレートの例)
テンプレートに追加するユーザ関数の場所
RL78/G1xテンプレートに追加したユーザ関数:LedBluToggle()の例

これらのページにより、より具体的にテンプレート使用方法がお判り頂けると思います。

テンプレートご購入者様、ご検討中の方にとって一番知りたいことは、「テンプレートが簡単に使えるかどうか」です。追加したページが、このご参考になることを期待しております。

RL78マイコン,MCU:マイコンRL78/G13,RL78/G14,テンプレート,アプリケーション,RL78/I1D

ルネサスの業績が黒字に回復し、「縮小と撤退」から「拡大と攻勢」へ転換したそうです。うれしいです。このルネサスからRL78/I1Dという新しいRL78マイコンが2月に発売されました。方針転換後に厳選した新製品と思われるので、その情報から最新マイコントレンドを考えました。

従来RL78マイコンと新マイコンRL78/I1Dの違い

RL78/I1D説明資料P11より抜粋
RL78/I1D説明資料P11より抜粋

「RL78/I1D」ご紹介資料P11から、従来RL78/G13、G14とRL78/I1Dの差が解ります。RL78/I1Dは、S3コアで、ADC分解能、オペアンプ、RUN動作電流などの機能が強化されています。また、従来RL78では、動作電圧に応じてオペレーションモードが固定であったのが、ソフトで変更できるようになりました。これにより、電源電圧が低下しても機能停止せず、しかもRUN動作電流も激減しましたので、長い期間マイコンが動作可能です。

さらに、非同期タイマも追加され、センサの長時間間欠動作もCPU停止:STOPのまま可能となりました。CPU起動は、「高速wakeup」対応の中速オンチップオシレータを使うと4us程度で可能です。
※RL78/G1xテンプレートは、CPU:HALTで低消費電力対応しているため、0.5us/32MHzで起動します。

ADCの計測データは、DTCで直接RAMへ転送可能です。DTCとは、簡単に言うと、DMAがメモリアクセス専用のCPU代替転送機能なのに対し、より複雑なCPU代替処理にも対応できるものです。

マイコンドレンド:省エネとIoT

2010年発売の汎用マイコンRL78/G13やG14との違いから明らかなように、最新マイコンRL78/I1Dは、オペアンプ内蔵や高速オンチップオシレータ上限が24MHz、48ピンまでの小パッケージサイズなどから、センサアプリに特化したマイコンです。

RL78/G14の高速オンチップオシレータの実質周波数上限は32MHzなので、I1DのS3コア性能は多少劣りますが、低消費電力とより低電圧での動作など、そのトレンドは、「省エネ」追求です。

IoTでは、このRL78/I1Dのような省エネマイコンが数百億個使われと予想され、価格は、使用個数に応じて激減しますので、RL78/I1DもG13やG14と同程度、またはより低価格になるかもしれません。このように、IoTアプリケーション向けの周辺回路を持つ省エネマイコンでのシェア獲得がルネサスの狙いでしょう。汎用マイコンの機能を、IoTに会わせて見直した結果とも考えられます。

RL78/I1D CPUボード入手できず

RL78/I1D CPUボード
RL78/I1D CPUボード

RL78/G1xテンプレートは、このRL78/I1Dへそのまま流用できるハズです。DTCやADCなどの周辺回路制御は、機種毎に異なりますが、テンプレート本体は、マイコンやベンダが異なっても基本的に同一だからです。
※RL78の場合は、ショート・ダイレクト・アドレッシングsreg領域を使ってARMマイコンテンプレートと比べて、少しチューニングしています。

RL78/I1DのCPUボード:RTE5117GC0TGB00000Rでテンプレートを試そうとしましたが、2015年2月現在、個人向け販売サイトには残念ながら見つかりません。入手可能になれば試す予定です。RL78/I1DがIoT汎用マイコンになる可能性が高いからです。

マイコントレンドに合わせたIoTテンプレート

従来テンプレートは、シンプルテンプレート(テンプレート動作理解が目的)と、メニュードリブンテンプレート(所望処理の簡単な取出しが目的)の2本立てでした。

マイコンドレンドが「省エネ」で、DTCやDMAを使った「マイコン内データ転送も、汎用化」しつつあるので、これらに合わせたアプリテンプレート:IoTテンプレート(仮称)も今後検討したいと思います。

RL78マイコン,MCU:マイコンRL78/G13,RL78/G14,テンプレート

1月6日の記事でマイコン評価ボードを、CPUボードと制御系ボードの2種に分類し、周辺回路が実装済みの制御系ボードをお勧めしました。しかし、初期投資を抑え、所望の周辺回路のみを追加できるCPUボードも捨てがたい選択肢です。

RL78/G1xテンプレートは、これらCPUボードへも対応済みです。今回は、このルネサスCPUボードを購入する際に役立つサイトを紹介します。

ルネサスCPUボード

RL78ファミリ14種、V850ファミリ12種、78Kファミリ17種のルネサスCPUボードは、内藤電誠のサイトから個人でも購入可能です。テンプレート動作のRL78/G13のQB-R5F100LE-TBとRL78/G14のQB-R5F104LE-TBも、ここから購入しました。

RL78ファミリCPUボードの例
RL78ファミリCPUボードの例

人気のCPUボードは品薄ですが、納期などのメール問合せなどにも、とても親切に対応してくれます。

もちろん、有名なマルツオンラインなどでも購入できます。
※ルネサスは、RSK:ルネサス スタータ キット、CPUボードの他に、RSSK:ルネサス ソリューション スタータ キットの開発販売を開始しましたが、個人購入には結構ムリな高値ですね!。

ボードアートワーク設計の見本

マイコンのCPU周りのアートワークは、クロック線や、パスコン位置、エミュレータとの配線、GND/VDDのベタ作成など多くの注意点があります。これらをおろそかにすると、ハード、ソフト両方に重大なトラブルを招きます。販売CPUボードは、2層なのでこれらの実務ノウハウの参考にも役立ちます。

RL78マイコン,MCU:マイコン,LPCマイコン,Kinetisマイコン,Cortex-M0+コア,Cortex-M0コアRL78/G13,RL78/G14,テンプレート,LPC8xx,LPC81x,ARMマイコン,Cortex-M0+,LPC111x,LPC1114,Kinetis E

2015年2月号のトラ技特集4章、5章にマイコン消費電力の低減手段が列記されています。良く整理された記事で、No1~No10までの消費電力低減手段と、マイコン仕様の例が示されています。

弊社のマイコン消費電力を減らすアプローチは、2014年3月1日弊社ブログの“システム最大動作設定の目的”の項に書きました。今回は、このマイコンテンプレートに実装済みの電力低減方法とアプローチを、上記トラ技の内容で検証します。

マイコンテンプレート消費電力低減の仕組み

最も簡単かつ効果的な消費電力低減方法は、トラ技No5手段の低消費電力モード:スリープの導入です。無処理時のCPUクロック供給を停止し、周辺回路はクロック供給を継続します。問題は、具体的にどのようにプログラムすれば、この手段がソフトウエアで実現できるかです。

弊社マイコンテンプレートは、対象マイコンのアクティブ最大速度で、アプリを時分割起動します。そして、処理終了時と処理が無い時間は、スリープする仕組みをテンプレート自身にプログラム済みです。また、未使用の周辺回路には、クロック供給をしません(トラ技No7手段適用済み)。

従って、素のテンプレートは、時分割の最大周波数動作です。3月1日の再掲になりますが、先ずこの状態で目的のアプリを開発します。

電力低減へのアプローチ

電力低減のために動作周波数を下げる(トラ技No1手段)のは、テンプレートを使ったアプリ完成後です。これは、アプリが出来ていないうちに、周波数を下げるのは、自分で自分の首を絞めるのと同じだからです。

アプリ完成後なら、周波数を下げられます。但し、設定できる周波数は、限られています。同様に、供給電圧を下げるのも(トラ技No2手段)、5V/3.3V/1.8Vなどに選択肢が限定されます。これらの周波数/電圧の選択肢のうち、どれが効果的かを比較し決定するアプローチをテンプレートは想定しています。これら決定に、動作アプリ自身も反映する必要があるかもしれないからです。

また、テンプレートは、250us/1ms/10ms/100ms/1s起動の計9か所の起動箇所と、スリープ起動箇所が明確に別れた時分割起動なので、どの部分の処理に時間が掛っているか、時分割動作が出来ないのかが解析しやすいのもの特徴です。従って、問題部分の処理分割や見直しも可能です。これは、トラ技No5手段の動作プロファイル最適化を、実際に検討する際に役立ちます。

例を示します。RL78/G13やG14スタータキットは、マイコンの平均消費電流をテスタで簡単に計測できます。RL78/G1xテンプレートのHALT()(スリープ相当)処理をコメントアウトすると、消費電流が倍になることが確認できます。

HALT有無で電力消費変化を検証
HALT有無で電力消費変化を検証

ハードウエア関連の留意点

トラ技No3、No4、No6、No7手段は、マイコン機種選定時に考慮すべき内容です。また、No8、No9、No10手段は、マイコン周辺回路設計・動作時の留意点です。ソフトウエアのマイコンテンプレートとは切り離して考えます。

トラ技内容をあまり記述すると“ネタばらし”になるので、No1~No10の詳細は、トラ技を購入して参照して下さい。

 マイコンテンプレートの検証結果

今回は、トラ技の内容で、弊社マイコンテンプレートにインプリメントされている消費電力低減方法と、アプローチ方法を示しました。結論は、主だった低減手段は、テンプレートに組込み済みです。テンプレートを使ってアプリ完成後、さらなる電力消費低減アプローチも示しました。販売中の4種のマイコンテンプレートは、全てこの低減方法を実装済みです。

RL78マイコン,MCU:マイコン,LPCマイコン,KinetisマイコンRL78/G13,RL78/G14,テンプレート,LPC81x,ARMマイコン,Cortex-M0+,LPC1114,Kinetis E,Arduino Uno,mbed

最近のマイコン開発環境の動きと、その効果的な習得方法について考察します。

一人でできる最新マイコン開発環境習得の経費

一人でできる最新マイコン開発環境習得の経費
一人でできる最新マイコン開発環境習得の経費

マイコン本体選定と頻度

最重要は、システムに使うマイコン本体の選定です。私は、入手性、価格、性能、開発のし易さの順に選びます。個人利用可能な電子部品サイトは、秋月通商、マルツ、DigiKey、Mouserなどがあり、1個当たりのマイコン本体価格比較も簡単です。性能と使い易さは、日頃マイコン記事などをチェックして見当をつけます。

使用マイコンが会社で決まっている場合もあるでしょう。しかし、たまには個人で選定することも大切です。会社で決まったまま数年たって気が付くと、浦島太郎状態になるからです。1マイコン精通もアリですが、最近の環境変化対応は必須です。

マイコン本体は、端的に言うとARMマイコン以外は各社各様で、その変化幅と世代の変化量も大きいです。車のポルシェのように、最新版が常に最高!とは言いませんが、半導体の変化スピードもこれに近いものがあります。1件当たりの開発期間を半年~1年と仮定すると、2~3回開発が終わる度に最新状況チェックは必要です。

本内容がこの状況のご参考になれば幸いです。

評価ボード選定の留意点

主要マイコンには、性能や使い方を試す評価ボードが必ずあります。この評価ボードには、マイコン本体と電源、デバッグ回路、スイッチやLEDなどの最低限ハードが実装されたシンプルなCPUボードから、UARTドライバやLCD、ブザーなどの周辺回路が実装された制御系ボードまで様々です。

例えば、ルネサスのRL78/G1xならBB-RL78G13-64が後者:制御系ボードになり、G13スタータキット、G14スタータキット、QB-R5F100LE-TB、QB-R5F104LE-TBなどが前者:CPUボードです。

初期投資を抑えるならCPUボードです。しかし、アプリ動作テスト時にそのままでは使えません。結局、周辺回路を後付けすることになり、その手間と接続ミスの可能性などを考えると、ある程度の周辺を含んだ制御系ボードがお勧めです。

制御系ボードと被制御対象間のインタフェース

この制御系ボードは、マイコン本体の発売から数年以内に発売されるものが殆どです。このような制御系ボードの種類が多いものが、チマタで(世界的に)流行しているマイコンと考えても良いでしょう。多くの周辺回路を含んで¥2000以内と、驚異的な低価格で販売しているfreescaleのFRDMシリーズボードなどもその1つです。

実アプリ動作には、この制御系ボードに、被制御対象が接続されたものが必要です。被制御対象とは、例えば、モータ、ソレノイド、LED照明本体などです。汎用性がある制御系に対して、被制御対象は、アプリの依存性があるハードです。

制御系と被制御対象間のインタフェースとして、Arduino Unoやmbedなどの業界インタフェースがあります。被制御対象をこれら業界インタフェースで開発すれば、制御系が高性能化しても被制御対象はそのまま対応できるというメリットがあります。

開発環境IDEと業界インタフェース

マイコン開発は、高速開発が要求されます。ソフト的にこれをサポートするために、ルネサスのコード生成や、freescaleのProcessor ExpertなどのRAD: Rapid Application Development ツールがIDEに付属します。また、IDEの慣れの問題を解決する手段として、対象マイコンのコンパイラを変えればいろいろなマイコンに対応できるIARやKEILなどの商用IDEもあります。これらIDEとツールを使えば、素早いソース作成が可能です。

ただし、ソース作成のみではソフト開発では、道なかばです。実機動作テスト、ハードとの結合デバッグが必須だからです。実機テストには、制御系は最低限必要です。被制御対象は、ソフト開発と並行して進められることが多く、経験上、ソフト側へのリリースは遅れます。ソフト開発者は、これに留意したうえで開発スケジュールの立案が要求されます。

この立案の助けになるのが、開発速度を上げることをハード的にサポートする制御系と被制御対象間のインタフェースです。業界標準のArduino Unoやmbedを採用していれば、被制御対象の市販ボード代用も可能です。

マイコン開発環境の狙い

制御系デバッグ効率は、経験やツールが活かされる分野です。Eclipse IDEは、多くのデバッグアドオンツールで、だれもが効率的にデバッグできる環境を提供しています。開発分業(専業)体制にマッチします。

開発規模が大きくなると分業は必要です。人間、一度に集中できるエリアは、そんなに広くないからです。各種IDE付属ツール(コード生成、Processor Expert)や業界標準IDE(Eclipse)、インタフェース(Arduino Uno、mbed)が生まれる背景、目的はこの高速分業体制です。

個人レベルの技術習得

個人レベルでこれらの高速分業マイコン開発環境への慣れや備えは、必要です。例えれば、数学を解くには、ツールとして算数や暗算、時には電卓を使うと役に立つのと同じです。

限られた時間とお金に余裕がない個人レベルで、これら最近のマイコン開発全体を俯瞰し、効率的に速習するには、評価ボードで実動作する弊社マイコンテンプレートを使うのも1つの方法です。必要経費を、最初の表に示しました。この程度の金額であれば個人でチャレンジすることも容易だと思うのです。

RL78マイコン,MCU:マイコンRL78/G13,RL78/G14,テンプレート,アプリケーション,ライブラリ

2014年12月16日のRunesas Toolニュースで、弊社RL78/G1xテンプレート使用中のデータフラッシュライブラリType04リビジョンアップのお知らせがきましたので、解説します。

データフラッシュライブラリ本体変更なし

変更箇所は、ユーザーズマニュアルとリリースノートの部分で、「ライブラリ本体は変更なし」です。従って、「RL78/G1xテンプレートも変更なし」です。

QB-R5F100LE-TBのサンプルプログラム添付

ユーザマニュアルにも変更があるようですが、重要なのは、リリースノート8章のRL78/G13 QB-R5F100LE-TB ボードのサンプルプログラムです。

この8章に、簡潔にデータフラッシュライブラリのCS+での使い方と、リンク・ディレクティブ設定が書かれています。ライブラリ使用をご検討の方は、先ずこれを読んで、理解不足箇所をユーザーズマニュアルで補足すればポイント理解が早まると思います。

データフラッシュライブラリ理解は進むが…

添付サンプルプログラムは、CS+のプロジェクトファイルではありません。リリースノート記述がCS+対応なだけに、個人的には、不親切で残念な気がします。ストレージ容量削減のためでしょうか? データフラッシュライブラリを使うレベルの技術者なら、Cソースとリンクディレクティブファイルのみで十分と判断したためでしょうか? 疑問です。

これらファイルをCS+のプロジェクトへ組込む時の留意点は、リリースノート記載の高速オンチップ・オシレータを32MHzへ設定する以外にも多々あると思いますが、これらをいちいち細かく説明すると説明が長くなります。最も効率的な方法が、実際のCS+のプロジェクトを提供する事だと思います。せっかくのサンプルが、何らかの問題で動作しなければ徒労に終わるからです(「何らかの問題」は、マイコン開発では頻繁に発生します)。

弊社テンプレートファイルは、対象マイコンの標準的な無償開発環境と評価ボードで動作します。RL78/G1xテンプレートでは、CS+プロジェクトでQB-R5F100LE-TBを含む4種類の評価ボードをサポートしており、そのままボードにダウンロードすれば動作確認ができます。このテンプレートへ、リリースノート添付サンプルを組込むと、CS+設定不足やミスなどを避けて確認ができると思います。

弊社テンプレートは、このようにお手元にあるサンプルプログラムをそのまま流用/組込み可能なことも特徴の1つです。テンプレートの活用方法として、この組込み容易性にも留意して頂けると嬉しいです。

サンプルプログラム説明の重要性

動作プログラムは、いろいろなパラメタが設定済みで、その結果、動作するものです。パラメタ設定がデフォルトなら問題なしですが、変更した箇所は、だれもが判るような工夫、解説は必要と考えます。どの程度説明するかが悩ましいトコロですが、弊社テンプレート説明資料は、極力この方針で作成しております。ご購入者様のご質問や、お問い合わせ内容などは、テンプレート改版時に反映させますので、お気軽にcustomerservice@happytech.jpへお問い合わせください。