マイコンデータシートの見かた(その2)

現役STマイクロエレクトロニクスの「メーカエンジニアの立場」から記載された、ユーザ質問の多かった事項を中心にマイコンデータシートの見かたを解説する記事(連載2回目)を紹介します。

全3回の連載記事内容

第1回:凡例、絶対最大定格、一般動作条件、電源電圧立上り/立下り(2017年10月1日投稿済み
第2回:消費電流、低消費電力モードからの復帰時間、発振回路特性(← 今回の投稿)
第3回:フラッシュメモリ特性、ラッチアップ/EMS/EMI/ESD、汎用IO、リセット回路

記事タイトル:データシート数値の “裏の条件” とは

先入観を与える前に、記事を読んでください。消費電流、復帰時間、発振回路特性の留意点が記述されています。記事タイトルの “裏の条件” とは何でしょうか?

私は、データシート数値は、理想的動作環境のマイコン単体の最高数値、これが裏の条件と理解しています。
例えば、車の性能を燃費で比較する方は、普通の運転では絶対に達成できないカタログ燃費で車を評価します。マイコンも同じです。データシート数値は、このカタログ燃費相当だと思います。

カタログ燃費(出典:日本自動車工業会)
カタログ燃費(出典:日本自動車工業会)

実際は、この最高数値にマージンを入れて考える必要があります。どの程度のマージンを入れるかが問題で、安全側評価ならデューティ50%、つまり性能半分位が良いと思います。

但し、これもマイコン単体の話で、マイコン:MCUと電源、発信器や必須周辺回路を含めた制御系で考えると、どの程度マージンを入れるかは複雑怪奇になります。

そこで、ベンダ開発の評価ボードを手本とする考え、つまり、10月1日投稿で示した評価ボードをハードウエアテンプレートとして用いる考え方を、私は提案しています。

10月15日記事のように、評価ボードでもWi-Fi起動時電流に電源部品の余裕が(短時間ですが)少ないものもありますが、大方のベンダ評価ボードは、実用に耐えられる厳選部品が実装済みです。そこで、プロトタイピング時には、この評価ボードで制御系を作り、実装部品のマージンが十分かを評価するのです。

マージンが足りない場合には、同じ評価ボードへ、より高性能な部品を載せ替えるなどの対策が簡単にできます。制御される側もこのようなモジュールで開発しておけば、モジュール単位の設計、変更が可能です。

ソフトウエアも同様です。評価ボードを使えば、少なくとも最低限のソフト動作環境は整いますので、プロトタイピングのソフトをなるべく早く開発し、動作マージンを確認しておきましょう。

完成・出荷時には、ソフトへ様々な機能が後追加されるので、プロトタイピング時はハード同様デューティ50%、つまりROM/RAMの残りに50%位は残しておくと安心です。

ソフトウエアのプロトタイピング開発には、弊社マイコンテンプレートが最適です。

連載第2回範囲のデータシートの見かたまとめ

  • 水晶振動子のMCUクロック供給は、発振波形が正弦波に近いため貫通電流が増え消費電流大となる。
  • 未使用GPIO端子は、外来ノイズ対策に10k~100kプルアップorダウンし、電位固定が望ましい。
  • データシート低消費電力復帰時間がクロックサイクル規定の場合はそのまま使え、㎲規定の場合は参考値。
  • 外付け水晶振動子の利用時は、ベンダ推薦部品を使う。
  • 内蔵発振回路の利用時に、MCU温度変化やリフローによる機械的応力による周波数変動が無視できない場合は、周波数トリミングソフトを組込む。
  • PLL動作最低/最高周波数の設定ミスは多いが、マージンがありそのまま動作するので注意。

マイコンデータシートの見かた(その1)

現役STマイクロエレクトロニクスの「メーカエンジニアの立場」から記載された、ユーザ質問の多かった事項を中心にSTM32マイコンデータシートの見かたを解説する記事(連載1回目)を紹介します。

全3回の連載記事内容

予定されている第2回、第3回の解説内容が下記です。

第1回:凡例、絶対最大定格、一般動作条件、電源電圧立上り/立下り(← 今回の記事)
第2回:消費電流、低消費電力モードからの復帰時間、発振回路特性
第3回:フラッシュメモリ特性、ラッチアップ/EMS/EMI/ESD、汎用IO、リセット回路

今回の第1回を読むと、データシートの読み誤り易いポイントが説明されており、興味深いです。ハードウエアに興味がある、または、ハードも自分で設計するソフトウエア開発者は、読むことをお勧めします。

マイコンハード開発を数回経験すると、おおよその感触とデータシートの見る箇所が解ってきます。私も新人の頃は、網羅されたデータシートの、”どこの何を見れば良いかが判らず”困惑したものでした。

ハードウエアテンプレートは評価ボードがお勧め

私は、使用するマイコンの評価ボードを、ハードウエアのテンプレートとして使います。
例えば、STM32F072RB(=NUCLEO STM32F072RB)は、配線パターン(=gerber files)や使用部品リスト(=BOM)もサイトに公開されています。

これらのデータは、「短納期を要求される開発者の立場」なら、網羅的記載のデータシートよりも、効率よく回路設計をする手助けとなります。

データシートを見ることは、間違いなく重要です。

しかし、具体的にハードウエア設計をする時は、評価ボードのような既に設計済みの「ブツ」を参考にしながら、なぜこの部分はこうなっているのか?などの疑問を持ってデータシートを見る方が、効率が良く、しかも、分厚いデータシートのポイントを理解するのにも役立ちます。

アナログとデジタル電源の1点接地や、パスコン実装位置などは、文字で注意書きをいくらされても解り難くいものです。この点、実物は、文字に勝ります。

ソフトウエアテンプレートはマイコンテンプレートがお勧め

ソフトウエア開発は、マイコンテンプレートの宣伝をするな!と思われた、勘のいい読者の方は、コチラのサイトを参照してください。

サンプルソフトは、”メーカ立場での提供ブツですが、”開発者の立場からの実物として、STM32ファミリ、サイプレスPSoC、NXPのLPC8xx/LPC111x/Kinetis、ルネサスRL78/G1xの各種マイコンテンプレートを、ソフトウエア開発者様向けに提供中です。

連載第1回範囲のデータシートの見かたまとめ

第1回記事の範囲で、マイコンハード開発ノウハウをまとめると、以下になります。

  • マイコン外部接続ハード駆動能力は、I2C、USART、数点のLED直接駆動可能端子を除いては極小で基本的には直接駆動はしない。
  • 外部接続ハードの駆動と接続方法は、Baseboard(mbed – Xpresso Baseboard)や、各種Arduinoシールドを参考にする。
  • マイコン電源は、評価ボードのパターン、実装部品も含めてまねる。
  • 開発製品版の未使用(空き)端子処理は悩ましいが、ソフトはデフォルト、ハードはソルダーブリッジ経由で接地。

私は、今後の連載を読んで、未使用(空き)端子処理の見識などを深めたいと思っています。

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+の当該処理を加えました(以前も同様のワーニング発生で同じ対処でトラブル回避しました)。

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

2016年MCUシェア1位はNXP

2016年主要マイコンシェア/販売額の記事がEE Times Japanに記載されました。2016年は、主要MCUベンダの買収が盛んでしたが、買収後で集計されているので、MCUの現状が示されています。

2016 MCU Share
2016 MCU Share(記事より)

車載半導体はNXPが2015年にルネサスを抜いて1位になっており、2016年のMCUシェア首位とともにNXPの躍進が明確になりました。

NXPの新IDE MCUXpresso

2017年4月時点の最新MCUXpressoIDE_10.0.0_344と、最終LPCXpresso_8.2.2_650の違いは、FreeRTOSタブが追加されたことのみです。残念ながらMCUXpressoのFreeRTOSもv8.0.1のままでした。

FreeRTOS V9はFreeRTOSサイトからダウンロードできます。が、これをMCUXpressoのv8へ手動で上書きインストールして問題なく動作させる自信はありません。FreeRTOS v9がNXPにより提供されるまで待つ方が、トラブルがなく得策と判断しました。
※MCUXpressoは、旧LPCXpressoプロジェクトフォルダがそのまま使えます。
※MCUXpressoに、PE: Processor Expertをアドインし旧Kinetis Design Studio代用とする方法は、調査中です。

マイコンテンプレートラインナップ

MCU Templates Lineup
MCU Templates Lineup

弊社マイコンテンプレートラインナップを、2016 MCUラインキング順に並べたのが上表です。おかげさまでテンプレートは、Runesas>NXP(Freescale含む)>Cypressの順に売れております。が、MCU順位5のSTM向けテンプレートもあれば、と思いました。

STMの場合、Cortex-M0/M0+を対象コアとすると、STM32F0/L0がテンプレートの対象です。しかし、このクラスのMCUへのRTOS適用によるROM/RAM大容量化や、IoT向けMCUの販売個数の増大などを考慮すると、より高性能なCortex-M3クラスも視野に入れた開発も必要か?と思っています。

CMSIS準拠でソフト開発すると、コア差はCMSISで隠蔽されるので、要求性能に応じたMCU選択が可能でクラス別けの必要もなくなります。また、RTOSでマイコンテンプレート相当が本当に必要か?という懸念もあります。

2016MCUシェアから、ルネサスの順位低下傾向が今後気になるところです。また、マイコンテンプレートについても、これらシェアの動きに合わせて、変わり続ける必要性を実感しました。

ルネサスSynergyロードマップ2017 and 2018

3月29日、ルネサス発表の“Renesas Synergy™プラットフォームに新たに3つのマイクロコントローラグループを追加、業界初の組み込み開発向け統合プラットフォームをさらに拡充”に、SynergyのS1グループのロードマップが示されました。

Synergy Loadmap 2017 and 2018
Synergy Loadmap 2017 and 2018(記事より)

Cortex-M0+ 32MHzのS1グループはROM/RAM増量

弊社対象MCUのCortex-M0/M0+クラスは、S1グループです。ROM/RAMが増量されることが解ります。無線機能は、未実装です。

S128 Block
S128 Block(ルネサスサイトより)

Cortex-M23もこのグループに属すと思いますが、S128データシートでは、ARM v6-M採用となっており、Cortex-M23のv8-Mとは異なります。昨年のSynergyでM23サポート発表とどのようにリンクするかは、不明です。

それにしても、MCU名が、以前のR8CやRL78と同様複雑と感じるのは、私だけでしょうか?Synergyのスケーラブルなマイクロコントローラという特徴や優位点からすると、MCU選定はアプリ開発と同時で良いので、名前が複雑でも関係ないのかもしれません。

CS+のスマート・ユーティリティ(スマート・ブラウザー編)

2017年1月にCS+パッケージバージョンV5.00.00  [05 Dec 2016]がリリースされました。確かバージョンV4から追加された3種のスマート・ユーティリティのうち、スマート・ブラウザーを説明します。

スマート・ユーティリティ
スマート・ユーティリティ

スマート・ブラウザー

組込マイコン:MCU開発を上手く効率的にする手法は、今風に言うと“サンプルソフトファースト”です。

分厚いユーザーズ・マニュアルを、初心者が読んでも眠くなるだけで時間のムダです。開発事案に近い例や使用する周辺回路が記載されたサンプルソフト=アプリケーション・ノートを先ず読んで、不明な箇所をユーザーズ・マニュアルの目次から拾い読みすれば十分です。

この開発例や周辺回路のサンプルソフトを見つけるのに便利なのが、CS+に追加されたスマート・ブラウザーです。

スマート・ブラウザー
スマート・ブラウザー

アプリケーション・ノートタブを選び、タイトルや機能で並び替えするとクイックにサンプルソフトが選定できます。ルネサスサイトでもアプリノート検索はできますが、CS+のスマート・ブラウザーの方が使い易く検索も高速です。

アプリノートは、ユーザーズ・マニュアルと比べると、一般的に内容をサラッと記述します。詳しくくどく書くこともできますが、読まれることを重視するとこの書き方になるのだと思います。サンプルソフトの読み方は、コチラも参照してください。

アプリノートの次に登場するのがユーザーズ・マニュアルです。こちらは、丁寧に記述されていますので、アプリノートの不明点を明確にし、その箇所を読めば時間節約ができます。近頃の開発は、1からディスクリートで着手する(≒オートクチュール)よりも、既にある既成品を上手く組み合わせて早期に開発する方(≒プレタポルテ)が好ましいと思います。これは、ハード/ソフトともに言えることです。

いかに既製品、この場合はアプリノートを見つけ、それを破綻なく組み合わせて顧客へ提供するのも1つの開発技術です。

複数アプリノートを簡単に組み合わせるマイコンテンプレート

1つのアプリノート流用で開発完了することは、稀です。大抵は、複数のアプリノートの部分利用、応用が必要となります。アプリノートは、内容をサラッと記述するために、初期設定+無限ループの2構成が殆どです。複数アプリを流用するには、アプリノート記載の無限ループ内処理の取り込み方が問題です。

そこで登場するのが弊社マイコンテンプレートです。マイコンテンプレートは、1個の無限ループ内に複数の時分割アプリランチャーを備えています。そこで、このランチャーに必要となるアプリノート処理を組み込めば、簡単に複数アプリノート処理をテンプレートで起動できます。しかも、低電力動作SleepやHaltの機能も追加しています。

マイコンテンプレートの詳細は、コチラを参照してください。

MCU開発は、開発完了が見極め難い性質があります。なるべく早く1次開発物を顧客に見せ、そのうえで2次開発へと進む段階を追った開発、いわゆるプロトタイピング開発もこの性質対応の1方策です。
このプロトタイピング開発の際には、是非マイコンテンプレートを活用し早期に、しかも拡張性や応用性もある開発物提供に役立ててください。

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+ユーザの私には非常に気になりました。

2016年マイコン業界と超速開発

2016年マイコン業界

Qualcomm ← NXP ← Freescale、買収先の企業へ矢印を付けるとこのようになります。
QualcommはSnapdragonなどのスマホチップセットを供給する半導体ベンダーです。車載を得意とするNXPの社名は残りそうですが、買収後のNXP/旧FreescaleのCortex-M系マイコンラインアップは気になります。
さらに、Windows 10がこのQualcommのSoCで動作するというニュースは、IoT向けPCやスマホにMicrosoftが参入し、数多くある無線規格の収束を早めるかもしれません。

先ず2017年3月、開発環境LPCXpressoとKinetis Design Studioが新しいMCUXpressoに統合されます。また、先日発表の2017ロードマップによると、スイッチマトリクスを持つLPC8xxシリーズが充実します。QualcommとのシナジーによりIoT無線規格のIoTマイコン発売が期待できます。

一方、RunesasもSynergyで遅ればせながらARM Cortex-Mマイコン開発に乗り出し、従来からある独自コアを持つRL78の16ビットマイコンやIDE:CS+は肩身が狭くなった気がします。既存マーケットにはRL78、IoTにはSynergyのCortex-M23/M33という住み分けを意識したかのようです。

Cypressは、Spansion買収によりCortex-M0+コアを入手し、PSoC4へ適用し始めました。アナログ技術が豊富なPSoC4/PRoC/PSoC4 BLEマイコンが更に強化されました。私はCortex-M0/M0+開発では、最も使いやすいIDE:PSoC CreatorとPSoC4/PRoC/PSoC4 BLEの組合せがピカ一だと評価しています。Cortex-M23のラインアップ追加が待ち遠しいです。

※上記は、下記個人レベルで準備できる「入手性が良く、低コストマイコン」の選択基準に合致する半導体ベンダーに限定して分析しております。

超速開発環境

顧客が許容するマイコンソフト/ハード開発時間は、ますます短くなります。
顧客側の技術理解レベルが追い付かないのも原因の1つですが、状況変化が激しいので即開発し、市場でのフィードバック、改良などを繰り返しながら製品化が必要なことが大きな要因です。

短い開発時間は、マイコン開発者にプレッシャーや焦りを生じさせます。しかし、焦りは禁物です。
良い成果物を効率的に出力できるワザ、これがマイコン開発者には必要です。

このワザ習得には、時間を気にせずに没頭できる環境、例えば自宅などで、新しいマイコンや現状マイコンを、身銭を使うので低コストで、しかも短時間で習得できる方法が必要です。
技術は、食べ物と同じで自分で習得(食べ物なら消化)してこそ身に付きます。食べ過ぎて消化不良になるのを避ける手段/方法があります。

この習得方法が超速開発環境、マイコン評価ボード(=スターターキット)+拡張ボード(=mbed-Xpresso Baseboard)+そして弊社マイコンテンプレートです。

マイコンテンプレート(税込1000円)は、懇切丁寧な添付資料や多くの(冗長な!?)コメントをソースに付加しています。従って、初心者が陥りがちな初期トラブルを避けることができ、ベンダー提供のサンプルソフトを活用したマルチタスクで、評価ボードと拡張ボードを動かせます。
ソフト担当者は、マイコンを自分で動かせれば、安心して厳しい状況でも開発できます。

また、基板開発時に問題となるアートワーク(配線引き回し)に配慮したIO割付を実ボードで検証できるので、基板化障壁も下がります。
ハードのみの担当者であっても、この超速開発環境はマイコン回りのベンダー推薦配線チェック、アートワークに適したIO割付をソフト開発者へ提案、基板テストプログラム開発時などにも役立ちます。

*  *  *

販売中のマイコンテンプレート5種
販売中のマイコンテンプレート5種

「入手性が良く、低コストマイコン」という基準で、現在5種マイコンをピックアップし、そのマイコンテンプレートを開発/販売することで、超速開発をサポートするのが本サイトの目的です。ご要望により新たなマイコンを追加する可能性もあります。

サイトに対するご意見、ご要望、追加マイコンなどお気軽にinfo@happytech.jpへお寄せください。

本年もありがとうございました。来年も引き続き弊社サイト、どうぞよろしくお願い申し上げます。

ルネサスSynergyでCortex-M23サポート発表

ルネサスが、SynergyにARM Cortex-M23を加える予定を発表しました。Cortex-M23は、コチラを参照してください。

Synergy

Synergy Lineup
Synergy Lineup(記事より抜粋)

Synergyは、2015年10月に提供開始した新しいARM Cortex-M系の開発環境(2015年10月18日の記事も参照ください)。

他ベンダ―のARM Cortex-M開発環境は、EclipseベースIDEであるのに対して、少し異なる(Apple的な)アプローチを取っています。ガラパゴスと言われなければ良いな?!と思いますが…。後発なのでプラスアルファした結果だと思います。

このSynergyに先日記載したCortex-M23を将来的に加えると発表しました。IoTデバイスを狙うなら当然です。本ブログも注視していきます。