ARMコアにこだわったマイコンを提供するNXP

現在、世界で最も多くの機器に搭載されているCPUコアアーキテクチャは、と聞かれたら、その答えはARMコアアーキテクチャ、ということになるだろう。例えば携帯電話/スマートフォン/タブレットなどの分野では、さまざまな機種が提供され、搭載されているSoCもQualcommのSnapdragonやTexas Instruments(TI)のOMAP、NVIDIAのTegra、AppleのA4やA5など多々あるが、いずれもARMのアーキテクチャをベースにして開発されている。この傾向は携帯電話の世界だけではない。マイコンも各社ARMコアを搭載した製品を提供するようになってきた。NXP Semiconductorsもその1社であり、ほかのコアアーキテクチャを用いず、ARMコアのマイコンのみを提供する稀有な半導体ベンダでもある。今回、同社のLogic&Microcontrollers Business Liness,Senior Vice President & General ManagerであるPierre-Yves Lesaicherre氏と、同社Business Line Microcontrollers,Director of MarketingのJan Jaap Bezemer氏に話を聞く機会をいただいたので、同社がどういった狙いでARMコアをマイコンに搭載しているのかをレポートしたい。

同社が現在提供しているマイコンはARM Cortex-M0/M3/M4を搭載した製品群だ。中でも低消費電力性能と低コストを意識したCortex-M0は「日本に向いているコア」だという。どういうことかといえば、その理由は大きく2つある。

1つは組み込み分野における各種のコンポーネントを開発するメーカーが多く、かつさまざまな業種に対して強力なポジションにいること。もう1つは、ARMコアを活用することに興味を持っているメーカーが多いこと、だという。

例えば携帯電話向けカメラモジュール。モジュール内にプロセッサがあれば付加価値の向上を図れるという。従来、アプリケーションプロセッサ(SoC)側にカメラの画像処理などを行わせていたが、これをカメラ側でできるようになれば、仮に全体の設計変更が生じたとしても、モジュール単位での流用を図ることで開発工数の削減が可能になるというわけだ。

8ビットとか16ビットとかにこだわる考え方を覆したい

「我々が目指しているのは8ビットとか16ビット、32ビットといったビット別でマイコンを分ける旧来の文化から脱却した世界。エンジニアはどの程度のパフォーマンスをどの程度の費用でやれるのかを考え、同じコンパイラやデバッガを使いまわすことで、コアの変更だけでそうした要求を実現するといった世界だ」とのことで、Cortex-M0では80MHz駆動までの製品をシンプルな処理向けに、Cortex-M3は150MHz駆動までの製品をUSBなどのペリフェラルを含めて複雑な処理を、そしてCortex-M4ではDSPを搭載し、より速い180MHz駆動まで対応し、高性能な処理をそれぞれ用途に応じて使い分ける方向性を打ち出している。

同じARMアーキテクチャを用途に応じて使い分けることで開発の簡便化を図ることが可能になるというのが同社の主張。また、同じコアであっても、用途に応じた複数のラインアップも用意している

中でもCortex-M0は「8ビットユーザーに使ってもらうことを意識して、小さいコアでも高いパフォーマンス、低いコスト、そしてシンプルな取り回しをコンセプトとしてARMと開発を行った」とのことで、2つの16ビットThumb ISAスーパーセットを32ビット制御することにより、0.9DMIPS/MHzを実現しているほか、必要な時だけ起動させ、それ以外はスリープモードにすることで電力の消費を抑制している。

8/16ビットのマイコンとCortex-M0とで同じ処理を行わせると、より高速に処理を終えられるため、電力消費を抑えることが可能となる

また、少ない命令数で処理を終えられるため、コードサイズの縮小にもつながるというのが同社の主張するところ

NXPのCortex-M0搭載マイコンシリーズの概要

USB対応Cortex-M0および同M3マイコンのロードマップ

また、同社のCortex-M0マイコン「LPC1100シリーズ」では、ラインアップとしてCAN対応製品、USB対応製品、LCD対応製品、アナログ対応製品とそれぞれ用意(フラッシュメモリ容量を32KBから128KBに増やしたLPC1200シリーズもある)。産業用途にはCANを、汎用用途にUSBを、モニタ表示が必要な場合にはLCDドライバを、そして電源制御などにはアナログ機能を、それぞれ搭載した製品を活用することで対応可能としている。

秋葉原のユーザーニーズが生んだ低コストパッケージ

さらに、一般的なCortexマイコンだとCSPやQFN/QFPなどのパッケージが主流で、ホビーユースやそうしたピン数の多いパッケージの取り回しの経験が少ない組み込み機器メーカーには敷居が高いというイメージがあったが、より低コストの実現と、そうしたユーザーも気軽に使えるようにSO/TSSOP/DIPパッケージでの提供も開始した。

NXPのCortex-M0マイコンのパッケージラインアップは小型のCSPから取り回しが容易なDIPまで幅広く用意されている

「32KBもRAM容量はいらない。8KBで十分だ。という声や、従来のパッケージではハンドリングが難しいといった声も聞こえていた。8ビットユーザーは複雑なパッケージを望んでいないほか、ホビーユースで自分ではんだ付けして使いたいというニーズもあり、こうした対応としてこれらの低コストパッケージ品を用意した」という。特にDIP28パッケージ品は「日本、特に秋葉原のパーツショップなどで買い物をするような層から非常に強いフィードバックを受けて開発されたパッケージであり、そうした日本のホビーユーザーからのニーズも我々は重要だと考えている証拠でもある」と、ホビーユーザーであっても使ってくれるユーザーを大切にする姿勢を強調する。

実際のCortex-M0搭載マイコンとして提供される低コストパッケージ製品。28ピンDIPパッケージは秋葉原からのニーズを受け入れて用意された

実際、TSSOP20/SO20パッケージ品などは50セント以下の価格での提供だという。これは同社の汎用ロジック向けハイボリューム品の組み立てラインをそのまま活用することでこの価格を実現しているという。実に年間60億個の製品がウェハからパッケージング、テスタまで一括処理されており、そうしたノウハウをこれらのマイコン製造にも活用した成果で、「2012年には40セントまで引き下げる計画」だとしており、「8ビットマイコンを使っている人たちをターゲットとするためには徹底的にコストを下げないといけない。また、低コストパッケージのラインアップも今後さらに増やしていくつもり」としている。

加えて、開発もシンプルにしたいということで、「mbedの提供はそういった意味でも重要」だとする。「8ビットマイコンの大手はフリーツールを提供し、それをユーザーが使うことで低コストでのシステム開発を実現している。我々は32ビットでそれをやろうとしており、IDEやGNUコンパイラなどのフリーツールを提供している」と、ホビーユースから企業ユースまでmbedを活用してもらうことで8/16ビットから32ビットへの移行を狙うほか、「mbedのほか、LPCXpressoを活用してもらうことも重要だと思っており、そうした意味では今後、mbedと同様にコミュニティを形成していき、そうした場所を活用して開発を加速していってもらいたい」とマイコンの利用だけでなく、NXPという企業そのものをホビーユースでも組み込みメーカーでも活用してもらうことで、そうしたエンジニアなどが1人ひとり容易に作りたいものを作っていくことができる世界を目指してもらえればとした。

LPCXpressoを活用することで、Breadboardなどを使わずに開発することが可能になる