NXPホームページ

NXPのARM コアマイコン製品最新レポート presented by

CQ出版のトラ技編集部が、NXPのARM Cortex-M4, M3, M0搭載 LPCマイコン製品について取材した特集記事を公開!!
Cortex-M0搭載 LPC1100L、Cortex-M3搭載 LPC1800、Cortex-M4搭載 LPC4300、各シリーズの特徴と最新情報満載! 
是非、最後までお読みください!  
2010/11/16

DSPを不要にした最強のCortex-Mマイクロコントローラ

トラ技の筆者がNXPセミコンダクタ社のARM製品を取材してきました!

DSPを不要にした最強のCortex-MマイクロコントローラLPC4300,ローパワーを極めたCortex-MマイクロコントローラLPC1100L,驚くほど簡単にプロトタイプが作れる話題の評価用ボードmbed LPC1768を見てみよう

NXP取材風景4

写真1 取材の様子
 
 最近,NXPからARMコア搭載のマイクロコントローラが3機種発表されました.10月19日に発表されたLPC1100LとLPC1300Lは,Cortex-Mシリーズのローパワーを極めた製品,そして11月1日に発表されたLPC4300は,最新コアのCortex-M4を搭載し,処理性能と高機能を極めた製品です.
 また,NXPが一般に販売しているLPC1700評価用ボードmbedと,そのオンライン開発環境は,驚くほど簡単にプロトタイプのプログラムを作れることで話題を呼んでいます.
 いずれも,12月1〜3日にパシフィコ横浜で開催されるEmbedded Technology 2010の展示の目玉として注目されています.まずは,その概要を見てみましょう.
 

LPC4300  Cortex-M4のパワフルなディジタル信号処理演算,M0サブシステムとのデュアルコア,高速・高機能のI/Oを備えた最強のCortex-Mマイクロコントローラ

 
 NXPのLPC4300 DSC(ディジタル・シグナル・コントローラ)は,ディジタル信号処理機能内蔵のARM Cortex-M4を搭載した最新マイクロコントローラ製品です.同社ではこれまでも,Cortex-Mシリーズ搭載のマイクロコントローラとして,M0コア搭載のLPC1100シリーズ,M3コア搭載のLPC1300/1700/1800シリーズを製品化してきました.今回のシリーズでは新たに4000番台の型名と,DSCという名称を与えています.それにふさわしい強力な新製品といえるでしょう.

NXP:LPC4300の外観

図1 LPC4300の外観

NXP:LPC4300の位置付け
NXP:図2-2 差し替え

図2 NXP LPCマイコンのカバー領域とLPC4300の位置づけ
 
 
★DSPを不要にする高い処理性能
 LPC4300の最大の特徴は,M4コアのもつパワフルなディジタル信号処理機能と,それを最大限に活用するためのM0サブシステムの搭載でしょう.

NXP:M4コアの内部

図3 M4コアの内部構造 
 
 
 ARMのCortex-Mシリーズは,組み込み機器やマイクロコントローラ向けのコンパクトでローパワー,低コストのコアですが,最近はこの分野でもモータ制御や音声信号処理,電力制御など,リアルタイムの信号処理演算を必要とする用途が増えています.それに応えて今年の2月に登場した最新コアがM4です.
 M4コアでは,M3命令セットに1サイクルで実行される各種の積和命令が追加され,外付けのDSPなしで高速な信号処理演算ができます.これは,システムのコスト&サイズの低減だけでなく,開発期間も短縮できます.さらに, FPUを内蔵したM4Fコアでは,浮動小数点演算も大幅に高速化できます.
 LPC4300では,このM4コアに加えてM0コアを搭載することにより,リアルタイム制御やペリフェラル,通信などの処理をM0コアに任せて,M4コアの信号処理演算能力をフルに活用できます.M4コアとM0コアはAHBで結合され,相互の通信も容易です.さらに,M4コアとM0コアはクロックやパワーコントロールが独立しており,ハイパフォーマンスからローパワーまでさまざまな要求に柔軟に対応可能です.

NXP:M4+M0の構成

図4 M4+M0の構成
 
 
★高機能を実現したユニークなペリフェラル
 LPC4300のもう一つの大きな特徴は,4レーン並列化で40Mバイト/sの高速動作が可能なクワッドSPI,再構成可能なステートマシンをタイマ/カウンタと組み合わせたSCT(ステート・コンフィギャラブル・タイマ)サブシステム,さまざまなシリアルI/Oを自由に定義して使えるSGPIO(シリアル汎用I/O)などのユニークな最新ペリフェラルです.また,USB2.0のHSモードを2チャネル搭載するなど,スタンダードなI/Oも充実しています.これらによって,きわめて高機能で使いやすいマイクロコントローラとなっています.
 クワッドSPIは4本のSPIポートを2レーンまたは4レーン並列化することにより,多ポートにも高速転送にも柔軟に対応可能な最新のSPIです.シリアル・フラッシュの大手メーカがサポートしています.
 LPC4300ではクワッドSPIによる高速転送を活用して,外付けフラッシュを内蔵フラッシュと同じメモリ空間にマッピングしてシームレスに扱えます.大きなプログラムでもSRAMに展開せず直接実行できますし,外付けフラッシュのデータをDMAで直接扱うこともできます.また,シリアル・フラッシュの各メーカに対応したドライバをROMに内蔵し,従来のSPIと同様に簡単に利用できるのも魅力です.
 SCT(ステート・コンフィギャラブル・タイマ)は,従来のタイマ/カウンタを大きく拡張し,さまざまなイベント条件を複雑に組み合わせたリアルタイム処理をハードウェアで実現可能にしたものです.SCTを活用すれば,割り込みルーチンでのプログラム処理を大幅に減らして,複雑な処理をきわめて効率良く実行できます.
 SCTを利用するための豊富なライブラリが用意され,タイマ/カウンタを含むステート・マシンを簡単に設計できます.
 SGPIO(シリアル汎用I/O)は,GPIOを大きく拡張してハードウェアのタイマ/シフトレジスタ・ユニットと組み合わせた最新の汎用I/Oです.従来はプログラムによるGPIOのビット操作で任意のシリアルI/Oを実現していました.SGPIOではビットレートやビット数,3ステート制御などを柔軟に設定して,ハードウェアでシリアル転送できるので,プログラムの負荷を大幅に低減できます.
 SGPIOを用いれば,LCDドライバやオーディオ・コーデックなどで独自仕様のデバイスとも簡単に通信を行うことができます.また,LPC4300が標準搭載しているシリアルI/Oポートが不足した場合にも,SGPIOを用いて簡単にポートを追加できます.

NXP:SGPIO

図5 SGPIO
 
 
★高速メモリ・システム,AESエンジンなど,
 その他にも,LPC4300には特筆すべきさまざまな機能があります.
 LPC4300は最大150MHzの高速動作が可能ですが,それに対応してメモリシステムも高速化されています.256ビット幅の内蔵フラッシュをデュアルバンクで搭載し,150MHzでノンストップ動作できます.また,2バンクを連結して大容量メモリとして利用もできます.高効率の内蔵SRAM,クワッドSPIによる高速外付けフラッシュとの組み合わせで,柔軟で高性能なメモリシステムとなっています.

NXP:デュアルバンクメモリ

図6 デュアルバンクメモリ
 
 セキュリティ対応のため,AES復号エンジンや安全に鍵を保管できるOTPを搭載しています.AES復号エンジンはCMACハッシュ演算をサポートし,外付けフラッシュに置かれた暗号化データでも高速に復号できます.
 

LPC1100L/1300L 高いエネルギ効率,高いパフォーマンスを両立した使いやすい32ビット・マイクロコントローラ

 
★高いエネルギ効率
 LPC1100Lは,ARMコアの中で最もコンパクトかつ低消費電力なCortex-M0を搭載し,32ビットのパフォーマンスはそのままに,8〜16ビット製品よりも実動作時の消費電力を低減できます.また,LPC1300Lはより高性能なCortex-M3を搭載してパフォーマンスを向上し,かつLPC1100L同様にローパワーを極めています.
 いずれも,待機電力を極小に抑えたディープスリープ・モードをもち,必要時には瞬時にウェイクアップできます.32ビットの高速性を生かして,同じ処理内容なら8〜16ビットのマイクロコントローラよりも実行時間を大幅に短縮できます.

NXP:ディープスリープによる省電力

図7 ディープスリープによる省電力
 
 特に,LPC1100Lは動作時の消費電力も130μA/MHzと少なく,16ビットと同程度の低消費電力で動作可能です.さらに,ディープスリープでは2μA,ディープパワーダウンでは220nAという極小の待機電力を実現しています.

NXP:LPC1100とLPC1100L

図8 LPC1100とLPC1100L

 
★高いパフォーマンスと使いやすさ
 LPC1100L/1300Lでは,16ビットのコードサイズで32ビット命令を実行できるThumb2命令セットを用いており,少ないメモリで効率良く動作します.さらに,通常のマイクロコントローラではプログラムで処理するISR(割り込みサービス・ルーチン)の最初の部分をハードウェアで処理しており,処理の高速化とともに,C言語だけでISRを記述できる使いやすさを実現しています.
 また,LPC1100L/1300Lでは,パフォーマンス重視/動作電力最小化/効率最大化という3種類のパワー・プロファイルがAPIであらかじめ用意しており,ユーザがパワーとパフォーマンスの最適化を簡単に実現できるようにしています.プロファイルは動作中にダイナミックに切替できるので,処理性能と低消費電力を高いレベルで両立できます.
 

評価用ボードmbedとその開発環境

 NXPはARMと共同で,誰でも簡単に動かせることを最大の特徴とするLPC1700シリーズの評価用ボードmbedを提供しています.
 
 

NXPエムベッド

図9 LPC1700シリーズの評価用ボードmbed
 
 
 mbedのきわめてユニークな特徴は,開発環境をオンラインで提供しており,インターネットに接続してブラウザ上ですべての開発ができることです.ブラウザ上で簡単なソースを書き,コンパイル・ボタンを押せばサーバ側で実行プログラムが生成されます.それをmbedにダウンロードすれば,そのまま実行できます.
 

NXP社:図10

図10 オンライン開発ツール
 
 
 さらに,ハードウェアを抽象化したライブラリを豊富に用意したことにより,実際のハードウェアを全く意識せずに簡単にプログラムを作成できます.例えば,
 
DigitalOut myled(LED1);
 
と1行記述すれば,mbedに実装されたLED1を点灯することができます.アドレスマップもI/Oポートも論理の正負も全く考える必要がありません.もちろん,スタートアップ・ルーチンも自動的に組み込まれるので,ユーザはただアルゴリズムを書くだけです.
 mbedの開発に関する情報は,ポータルサイト http://www.nxp-lpc.com/ からアクセスできます.このサイトのcookbookには,TCP/IPやUSBなど実用的なサンプル・プログラムも多数用意されています.
 
 

NXP:NXP社ホームページ

図11 NXP LPCマイコンポータルサイト画面
 

 
NXPホームページ | 会社案内
@2006-2010 NXP Semiconductors. All rights reserved.