Cortex-M0 LPC1100
製品
製品
製品
製品と
と
と
と
アジェンダ
アジェンダ
アジェンダ
アジェンダ
Cortex™-M0
イントロダクション
ベンチマーク
LPC1100
ファミリ
LPC1100
ペリフェラル
LPC1100
ペリフェラル
LPCXpresso
開発プラットフォーム
ライブ・デモ
イントロダクション
イントロダクション
イントロダクション
イントロダクション
Cortex™-M0
ベース
LPC1100
ファミリ
–
低価格
32-
ビット
マイコン
(8-
ビット
価格帯)
– ….
– ….
– ….
LPCXpresso
開発プラットフォーム
LPCXpresso
開発プラットフォーム
–
無償
IDE
とコンパイラ
–
低価格
,
フレキシブル
開発ボード
(
デバッガ付)
–
サードパーティから拡張ボードの提供
–
オンライン
サポート
リソース
ARM Cortex-M0
プロセッサ
プロセッサ
プロセッサ
プロセッサ
32-
ビット
ビット
ビット
ビット
ARM RISC
プロセッサ
プロセッサ
プロセッサ
プロセッサ
– Thumb 16-ビット 命令セットパワーとエリアを
パワーとエリアを
パワーとエリアを
パワーとエリアを最適化
最適化
最適化
最適化
– 非常に小さなシリコン実装面積 – 低消費電力デザイン割込
割込
割込
割込みと
みと
みと例外
みと
例外
例外の
例外
の
の
の時
時
時、
時
、状態
、
、
状態
状態の
状態
の
の
の保持
保持が
保持
保持
が
が
が自動
自動
自動
自動
– ソフトウェアへのオーバヘッドが小さい(exception entryとexit)
確定的
確定的
確定的
確定的(
(
(
(
Deterministic)
な
な処理時間
な
な
処理時間
処理時間
処理時間
Thumb
命令
命令
命令
命令セット
セット
セット
セット
Thumb
命令
命令
命令
命令
: 32-
ビット
ビット
ビット
ビット
オペレーション
オペレーション
オペレーション
オペレーション
, 16-
ビット
ビット
ビット
ビット
固定命令長
固定命令長
固定命令長
固定命令長
– ARM7TDMI (‘T’ = Thumb) – ARM登場以来すべてのプロセッサでサポート – 小さい コードサイズThumb-2
命令
命令
命令
命令
– 全てのプロセッサ オペレーションで‘Thumb’命令使用可能 – 全てのプロセッサ オペレーションで‘Thumb’命令使用可能 – 16/32-ビット 命令長混在で性能重視 – 全てのCortex プロセッサをサポート Thumb®ARM7 ARM9 Cortex-M0 Cortex-M3 Cortex-R4 Cortex-A9
命令
命令
命令
命令セット
セット
セット
セット
アーキテクチャー
アーキテクチャー
アーキテクチャー
アーキテクチャー
16-
ビット
ビット
ビット
ビット
Thumb ISA(
命令セットアーキテクチャ
)
は
は
は
は
ARM7TDMI
がベース
がベース
がベース
がベース
– 56 命令のみ, 実行 時間保証
– 8, 16 または 32-ビット データ 転送は1 命令で実行
Dhrystone 0.9DMIPS/MHz
参照
参照
参照
プログラム
プログラム
プログラム
プログラム
レジスタ
レジスタ
レジスタ
レジスタ
全 全 全 全てのレジスタてのレジスタてのレジスタてのレジスタ はははは32-ビットビットビットビット幅幅幅幅 – 8/16/32-ビットデータ混載なし 13 general purpose レジスタレジスタレジスタレジスタ – レジスタ r0 – r7 (Low レジスタ) – レジスタ r8 – r12 (High レジスタ) r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 3 レジスタレジスタレジスタレジスタ with special meaning/usage– スタック ポインタ (SP) – r13 – リンクレジスタ (LR) – r14 – プログラム カウンタ (PC) – r15 特別用途向 特別用途向 特別用途向 特別用途向けけけけ レジスタレジスタレジスタレジスタ - xPSR r10 r11 r12 r15 (PC) r14 (LR) xPSR r13 (SP)
命令
命令
命令
命令の
の
の
の動作
動作
動作
動作
ほとんどの ほとんどのほとんどの ほとんどの命令命令命令は命令ははは 2 バイトメモリをバイトメモリをバイトメモリをバイトメモリを使用使用使用使用 実行時間 実行時間実行時間 実行時間はははは一定一定一定一定サイクルサイクルサイクルサイクル– データ処理(例 add, shift, logical OR)は1サイクル – データ 転送(例 load, store) は 2 サイクル MULS 15 0 MULS r0, r1
; Assembler
a = a * b; C
コード
– ( load, store) 2 – 分岐は、3 サイクル 命令 命令 命令 命令はははは32-ビットビットビットビット データ値データデータデータ値値値をををを 実行実行実行実行 – プロセッサ レジスタ とALUは32-ビット幅!16-
ビット
ビット
ビット
ビット
乗算
乗算
乗算
乗算の
の
の例
の
例
例
例
MULS r0,r1,r0 MOV R1,&MulOp1 MOV R2,&MulOp2 MOV SumLo,R3 MOV A, XL ; 2 バイト MOV B, YL ; 3 バイト MUL AB; 1 バイト MOV R0, A; 1 バイト MOV R1, B; 3 バイト ARM Cortex-M0 16-ビット 例 8-ビット 例 MUL AB; 1 バイト ADD A, R1; 1 バイト MOV R1, A; 1 バイト MOV A, B ; 2 バイト10-
ビット
ビット
ビット
ビット
ADC
を
を
を
を想定
想定
想定
想定
– 基本的なデータフィルタリングに16-ビット乗算が使用される – 16-ビット 乗算 オペレーション の比較 時間 時間時間 時間: : : : 1 クロック cycle 時間 時間時間 時間: : : : 8 クロック サイクル 時間 時間 時間 時間: : : : 48 クロック サイクル* MOV SumHi,R4 MOV A, XL ; 2 バイト MOV B, YH ; 3 バイト MUL AB; 1 バイト ADD A, R1; 1 バイト MOV R1, A; 1 バイト MOV A, B ; 2 バイト ADDC A, #0 ; 2 バイト MOV R2, A; 1 バイト MOV A, XH ; 2 バイト MOV B, YL ; 3 バイト ADDC A, R2 ; 1 バイト MOV R2, A; 1 バイト MOV A, XH ; 2 バイト MOV B, YH ; 3 バイト MUL AB; 1 バイト ADD A, R2; 1 バイト MOV R2, A; 1 バイト MOV A, B ; 2 バイト ADDC A, #0 ; 2 バイト MOV R3, A; 1 バイトネスト
ネスト
ネスト
ネスト型
型ベクタ
型
型
ベクタ
ベクタ
ベクタ割
割
割り
割
り
り込
り
込みコントローラ
込
込
みコントローラ
みコントローラ(
みコントローラ
(
(
(
NVIC
)
)
)
)
NVIC
により
により
により
により
効率的
効率的なスタック・ベースの
効率的
効率的
なスタック・ベースの例外
なスタック・ベースの
なスタック・ベースの
例外
例外モデルを
例外
モデルを
モデルを
モデルを提供
提供
提供
提供
– Cortex-Mコアプロセッサの重要な一部として統合 – 卓越した割込み例外処理機能を提供します。NVIC
で
で
で
で
32
本
本
本
本の
の汎用割込
の
の
汎用割込
汎用割込み
汎用割込
み
み優先
み
優先
優先
優先レベルのサポート
レベルのサポート
レベルのサポート
レベルのサポート
– 例外の優先度 – テールチェイン と後着 割込み – テールチェイン と後着 割込み例外
例外
例外
例外ハンドリングの
ハンドリングの
ハンドリングの
ハンドリングの確定的
確定的
確定的(
確定的
(
(
(
Deterministic)
な
な動作
な
な
動作
動作
動作タイミング
タイミング
タイミング
タイミング
– 例外は固定サイクル処理 – 固定16 クロックで ジッターなし – 低レイテンシ低ジッタの割り込み応答すべて
すべて
すべて
すべて
C
で
で
で
で記述可能
記述可能
記述可能
記述可能
割込
割込
割込
割込み
み
み
み
動作
動作
動作
動作
r0 r1 r2 r3 r12 r15 (PC) r14 (LR) xPSR メモリ メモリ メモリ メモリ r13 (SP) スタック スタックスタック スタック が がが が増増増える増えるえるえる プッシュ プッシュ プッシュ プッシュ割込み時
,
ハードウェアが自動的に現在の状態をスタック
割込み
ハンドラを
C
すべて記述できる
– Stack content supports C/C++ ARM Architecture Procedure Calling Standard
xPSR
メモリ メモリ メモリ メモリ
• 従来従来の従来従来ののの方法方法方法方法 例外 例外例外 例外テーブルテーブルテーブルテーブル – 分岐の命令フェッチ トップレベル トップレベルトップレベル トップレベル ハンドラハンドラハンドラハンドラ
– Routine handles re-entrancy
IRQVECTOR LDR PC, IRQHandler ARM Cortex-M ファミリのファミリのファミリのファミリの場合場合場合場合 NVIC 自動自動ハンドラ自動自動ハンドラハンドラハンドラ – 現在のレジスタ状態を保存 – 例外の優先順位 – 例外のネスティング処理 割 割 割 割りりりり込込込みサービスルーチン込みサービスルーチンみサービスルーチンみサービスルーチン(Interrupt
Service Routine, ISR) はははは直接直接直接直接Cでででで記述記述記述記述 できる できる できる できる
書込
書込
書込
書込み
み
み
み
割込
割込
割込
割込みハンドラ
みハンドラ
みハンドラ
みハンドラ
. . IRQHandler PROC STMFD sp!,{r0-r4,r12,lr} MOV r4,#0x80000000 LDR r0,[r4,#0] SUB sp,sp,#4 CMP r0,#1 BLEQ C_int_handler MOV r0,#0 STR r0,[r4,#4] ADD sp,sp,#4 LDMFD sp!,{r0-r4,r12,lr} SUBS pc,lr,#4 ENDP できる できる できる できる – Cルーティンのベクタでのポインタ設定 – C 言語で記述されたISR 高速 高速 高速 高速のののの割込割込割込み割込みみみ動作動作動作動作 – 最小限のソフトウェア処理 WFI(割(((割割割りりり込り込込込みみみみ待待ち待待ちちち)))), スリープスリープスリープスリープ状態状態状態状態ARM Cortex-Mシリーズはスリープシリーズはスリープシリーズはスリープシリーズはスリープ状態状態状態をサポート状態をサポートをサポートをサポート – 超消費電力スタンバイ操作を可能にする – バッテリ 系アプリケーションは寿命が大事 – 少ないゲート数のウェークアップ割り込みコントローラ (WIC)を含む)
スリープ
スリープ
スリープ
スリープ
モード
モード
モード
モード
Cortex-M0
パワー パワー パワー パワー マネイジメントユニットマネイジメントユニットマネイジメントユニットマネイジメントユニット スリープ スリープ スリープ スリープ – CPUのクロックをコントロールできる – NVICは割り込みに対し反応できる NVICCortex-M0
WIC Wake-up ディープ ディープディープ ディープ スリープ スリープスリープ スリープ – NVICは割り込みに対し反応できる ディープ ディープ ディープ ディープ スリープスリープスリープスリープ – WIC は割り込みを選択して反応できる – Cortex-M0はNVICにより保存された状態に 戻すことができる WIC 信号信号信号が信号がががPMUを起床ををを起床起床起床するするするする M0コアは瞬時に起床する Wake-upADC BL ADD ADR B BIC CMN CMP EOR LDM LDR LDRB LDRH LDRSH LSL LSR MOV MUL MVN LDRSB AND ASR ORR
ADC ADD ADR AND ASR B
BFC BFI BIC CLREX CBNZ CBZ
CLZ CMN CMP DBG CDP EOR LDC LDMIA LDMDB LDR LDRB LDRBT LDRD LDREX LDREXB LDREXH LDRH LDRHT LDRSB LDRSBT LDRSHT LDRSH LDRT LSL LSR MCR MCRR MLA MLS MOV MOVT MRC MRRC MUL MVN
NOP ORN ORR PLD
BKPT BLX BX CPS DMB ISB MRS MSR NOP REV DSB
命令
命令
命令
命令セット
セット
セット
セット
比較
比較
比較
比較
CORTEX-M3 CORTEX-M0 MUL MVNPOP PUSH ROR
SBC STM STR STRB STRH SUB SVC TST ORR RSB IT
NOP ORN ORR PLD
PLDW PLI POP PUSH
RBIT REV REV16 REVSH
ROR RRX RSB SBC
SBFX SDIV SEV SMLAL
SMULL SSAT STC STMIA
STMDB STR STRB STRBT
STRD STREX STREXB STREXH STRH STRHT STRT
SUB SXTB SXTH TBB TBH TEQ TST
UBFX UDIV UMLAL UMULL USAT UXTB UXTH
WFE WFI YIELD
WFI YIELD NOP REV REV16 REVSH SEV SXTB SXTH UXTB UXTH WFE Present in ARM7TDMI
コード
コード
コード
コード
サイズ
サイズ
サイズ:
サイズ
:
:
:
32
ビットと
ビットと
ビットと
ビットと
16/8
ビットマイコン
ビットマイコン
ビットマイコン
ビットマイコン
8
ビット
マイコンは、
8
ビット
データを処理するだけではない
– 整数型(int)は、実際には16ビット – 8 ビット マイコンでは整数型のデータを処理するために連続する複数の命令が必要 。つまり、多くのクロック・サイクルを消費。 – C ライブラリが非効率 – スタック サイズ が増える – 割込み レテンシが影響を受ける主記憶のアドレスを示すポインターに複数バイト必要
主記憶のアドレスを示すポインターに複数バイト必要
M0
は整数型(
int
)を1命令で扱う
M0
は
8
と
16
ビット
データを効率よく処理する
– バイトレーンのサポート – インストラクションは半ワードと半 バイト. LDR, LDRH, LDRBM0
は効率的なライブラリサポートがある
– M0に最適化アセンブラ
アセンブラ
アセンブラ
アセンブラ命令長比較
命令長比較
命令長比較
命令長比較、
、
、
、
32
ビットと
ビットと
ビットと
ビットと
16/8
ビット
ビット
ビット
ビット
MCU
A社社社社16bit MCU B社社社社16bit MCU2 B社社社社16bit MCUデータ
データ
データ
データ処理
処理
処理
処理に
に
に
に関
関
関して
関
して
して
して
?
16
ビット
プロセッサ
の課題
– 長整数型 – フローティング ポイント・タイプ – プロセッサ のレジスタとメモリ間のデータ転送16
ビット
プロセッサは、
16
ビット
レジスタ搭載
– 32 ビット 転送にレジスタが2個必要 – スタック の要求が増えるM0
は
32
ビット
レジスタと
32
ビット
メモリを搭載
– 少ない サイクル :長整数型 – 高い フローティング ポイント 性能 – 少ないサイクル: データ 転送コード
コード
コード
コード
サイズ
サイズ
サイズ
サイズ
性能
性能
性能
性能
1.00 1.50 2.00 2.50 HC08 M0 using microlib 他社 他社 他社 他社8bit MCU 0.00 0.50 1.00 a 2 tim e a ifi rf a iif ft b itm n p c a n rd r iir flt p n tr c h p u w m o d rs p e e dコード
コード
コード
コード
サイズ
サイズ
サイズ
サイズ
比較
比較
比較
比較
M0
コード
サイズ
: 42%
または
36%
小さい
Floating Point and Fir Filter Code Size
600 800 1000 1200 1400 C o d e S iz e (b y te s ) MathFloat Firfilter 2 0 200 400 600 G e n e ri c M S P 4 3 0 M S P 4 3 0 F 5 4 3 8 M S P 4 3 0 F 5 4 3 8 la rg e d a ta m o d e l C o rt e x -M 0 C o d e S iz e (b y te s ) Firfilter A 社 1 6 b i t M C U A 社 1 6 b i t M C U 2 A 社 1 6 b i t M C U 2 ラ ー ジ デ ー タ モ デ ル
コード
コード
コード
コード
サイズ
サイズ
サイズ
サイズ
比較
比較
比較
比較
M0
コード
サイズ
: 30%
小さい
Whet 3000 4000 5000 6000 7000 C o d e S iz e ( B y te s ) 0 1000 2000 3000 G e n e ric M S P 4 3 0 M S P 4 3 0 F 5 4 3 8 M S P 4 3 0 F 5 4 3 8 la rg e d a ta m o d e l C o rte x -M 0 C o d e S iz e ( B y te s ) A社 16 bit M C U A社 16 bit M C U2 A社 16 bit M C U2 ラ ー ジ デ ー タ モ デ ルコード
コード
コード
コード
サイズ
サイズ
サイズ
サイズ
比較
比較
比較
比較
(
コア
コア
コア
コア
mark)
M0
コード
サイズ
16%
小さい
Coremark 8500 9000 9500 C o d e S iz e ( B y te s ) 2 6500 7000 7500 8000 Generic MSP430 Cortex-M0 C o d e S iz e ( B y te s ) A社 16bit MCUコード
コード
コード
コード
サイズ
サイズ
サイズ
サイズ
比較
比較
比較
比較
(
コア
コア
コア
コア
mark)
M0
コード
サイズ:
49%
小さい
Coremark
10000 12000 14000 16000 C o d e S iz e ( B y te s ) 0 2000 4000 6000 8000 10000Atmel AVR8 Mega644 Cortex-M0
C o d e S iz e ( B y te s ) C 8bit MCU
性能比較
性能比較
性能比較
性能比較
A社社社社 16bit MCU B社社社社 16bit MCU
パフォーマンス
パフォーマンス
パフォーマンス
パフォーマンス比較
比較
比較
比較
u S e c u S e cA社 16bit MCU B社 16bit MCU B社 16bit MCU2 B社 8bit MCU C社 8bit MCU
性能比較
性能比較
性能比較
性能比較
Coremark Score
2 2.5 3 3.5 C o re m a rk ( M a rk /s e c ) 2 0 0.5 1 1.5 AVR8 ATMega644 MSP430 M0 C o re m a rk ( M a rk /s e c )エネルギー
エネルギー
エネルギー
エネルギー効率
効率
効率
効率が
が
が
が高
高
高い
高
い
い
い
高性能
高性能
高性能
高性能
開発
開発
開発
開発ツールの
ツールの
ツールの
ツールの使
使
使い
使
い
い易
い
易
易
易さ
さ
さ
さ
LPC111x
特徴
特徴
特徴
特徴
3LPC111x Cortex-M0
の
の
の
の仕様
仕様
仕様
仕様
1
クロック・サイクルで
クロック・サイクルで
クロック・サイクルで
クロック・サイクルで
32
ビットの
ビットの
ビットの
ビットの乗算
乗算を
乗算
乗算
を
を実行
を
実行
実行
実行できる
できる
できる
できる
リトルエンディアン
リトルエンディアン
リトルエンディアン
リトルエンディアン
(Little Endian)
:
:分割されたバイトの最下位から順に記
:
:
録(転送)する
オペレーティング
オペレーティング
オペレーティング
オペレーティング
システム
システム
システム
システム
extensions
– 24 ビット Sys Tick – プロセス スタック ポインタ レジスタ – スーパーバイザコール(SVC)命令デバッグ
デバッグ
デバッグ
デバッグ
– シリアル ワイヤ デバッグ(SWD)のみ – SWOなしLPC111x
クロック
クロック
クロック
クロック生成
生成
生成
生成のブロック
のブロック
のブロック図
のブロック
図
図
図
osc_clk irc_osc system clock select (CLKSRCSEL) SYS PLL/ DLL main PLL settings (PLL0...) CPU Clock Divider CPU PLL select (PLL0CON) cclk sysclk IRC 3 watchdog pclk Peripheral Clock Divider wd_clk pclk1 pclk8 pclk4 pclk2 watchdog clock select (WDCLKSEL)CPU clock divider setting (CCLKCFG)
WD OSC
LPC111x
クロック
クロック
クロック
クロック
出力
出力
出力
出力
クロック
クロック
クロック
クロック
出力
出力
出力
出力ファンクション
ファンクション
ファンクション
ファンクション
– CPU クロックに関係なくクロックを出力できる – クロック ドライバ osc clk cclk CLKOUT 0clock out select (CLKOUTSEL) irc_osc osc_clk WD OSC Clock outClock Divider CLKOUT DIV (CLKOUT_DIV) CLKOUT
LPC111x
パワー
パワー
パワー
パワー
ドメイン
ドメイン
ドメイン
ドメイン
単一
単一
単一
単一
3.3 V
供給電源
供給電源
供給電源
供給電源
VDD(
3V3)
– ローパワー:範囲 1.8 V ~ 2.0 V – 通常 パワー:範囲 1.8 2.0 V ~ 3.6V – オンチップ DC-DC コンバータ – VDD(3V3) は ADC のリファレンス(2.5V- 3.6V)にも使われる – VDD(3V3) は ADC のリファレンス(2.5V- 3.6V)にも使われるVDD(io)
– I/O pads 低消費電力:範囲 1.8 V ~ 2.0 V – I/O pads Normal パワー :範囲 2.0 V ~ 3.6VLPC111x
パワー
パワー
パワー
パワー
モード
モード
モード
モード
スリープ
スリープ
スリープ
スリープ
モード
モード
モード
モード
– コアのクロックがストップ – リセットまたは割込みにより プログラム 実行の再開 – ペリフェラルファンクションは動作ディープ
ディープ
ディープ
ディープ-
-
-
-スリープ
スリープ
スリープ
スリープ
モード
モード
モード
モード
– 全てのクロック停止 (状態を保持) – パワー ダウンは起床 時間とのトレードオフ次第で様々なオプション – パワー ダウンは起床 時間とのトレードオフ次第で様々なオプションディープ
ディープ
ディープ
ディープ
パワー
パワー
パワー
パワー
ダウン
ダウン
ダウン
ダウン
モード
モード
モード
モード
– チップ全体のパワーをオフ (状態は失う) – ドメインレジスタのメインの状態。 ディープ パワー ダウン前のプロセッサの状態 がどこにあったかの情報として使える – ウェイクアップピンもしくはリセットのどちらかによって起床しますStart Logic:
ディープ
ディープ
ディープ
ディープ
スリープ
スリープ
スリープ
スリープ
モード
モード
モード
モード
GPIO ピンの大半は (最大40 ピンまで) Start Logic入力として使用できます。
すべてのPIOポート入力(except PIO3_4 とPIO3_5 を除く)は、Start Logicと起床ピ ンに接続することができます
Start LogicがARMコアへの割込みを検知するとディープ-スリープ モード から起床さ れます
LPC13xx はペリフェラルからの割込みなしで、Start Logic部への入力信号をモニタリ ングで起床されます
ングで起床されます
低消費電力
低消費電力
低消費電力
低消費電力
モードの
モードの
モードの
モードの解説
解説
解説
解説
ディープ ディープ ディープ ディープ パワーパワーパワーパワー-ダウンダウンダウンダウン モードモードモードモード: パワーとクロックが完全にオフ(ウェイクアップ ピンを除く) エントリステップ: ディープ パワー-ダウン モード – スリープディープ ビットをセット(ARM Cortex-M3 SCR レジスタ) – DPDEN ビットをセット(PCON レジスタ) – ARM WFI 命令を使用 ウェイクアップ ウェイクアップ ウェイクアップ ウェイクアップ ピンにパルスピンにパルスピンにパルスピンにパルス(ハイハイ、ハイハイ、ロー、、ローローロー)を送ってLPCを ディープ パワー-ダウンから起床させる ディープ パワー-ダウン モード中、 SRAMの内容は保持されないが、4つの汎用レジスタの内容は ディープ パワー-ダウン モード中、 SRAMの内容は保持されないが、4つの汎用レジスタの内容は 保持される。C u rr e n t C o n s u m p ti o n
消費電力
消費電力
消費電力
消費電力プロファイル
プロファイル
プロファイル
プロファイル
スリープ 2mA アクティブ– 12MHz 3mA アクティブ– 50MHz 8.6mA 性能 性能性能 性能 ディープ パ ワー-ダウン ~220nA 2mA ディープ-ス リープ 6uAシリアル
シリアル
シリアル
シリアル
インターフェース
インターフェース
インターフェース
インターフェース
UART
– 16-
バイト
送受信
FIFO
–
レジスタ
ロケーションは、‘
550
インダストリスタンダードに従う
–
受信
FIFO
のトリガーポイント:
1, 4, 8,14
バイト
–
ビルトイン・ボーレート生成
– UART
は
ソフトウェア
またはハードウェア
フロー
コントロールを適用で
きる
– RS-485/EIA-485 9-
ビット
モード
サポート(
出力イネーブル付き)
– RS-485/EIA-485 9-
ビット
モード
サポート(
出力イネーブル付き)
–
モデム
コントロール
SSP
–
モトローラの
SPI, 4-
線
TI
の
SSI,
と
National Semiconducto
の
Microwire buses
と互換
–
マスタ・スレーブ
オペレーションをサポート
–
送受信に8フレーム
FIFO
– 4-
ビット
~
16-
ビット
フレーム
シリアル
シリアル
シリアル
シリアル
インターフェース
インターフェース
インターフェース
インターフェース
(1100
と
と
と
と
1300)
I2C
– スタンダードの I2C-準拠のバス インターフェースは、マスタ、スレーブまたは、マ スタ/スレーブに – Fast-モード プラス(1Mビット/sec)をサポート – オプション:最大4つのスレーブアドレスの認識 – モニタ モード :スレーブアドレスに関係なく全てのI2Cのバストラフィックを監視 SDA SCL I2C インターフェース インターフェースインターフェース インターフェース32-
ビット
ビット
ビット
ビット
/16-
ビット
ビット
ビット
ビット
タイマ
タイマ
タイマ
タイマ
(1100
と
と
と
と
1300)
2 x 32
ビットタイマ、
2 x 16
ビットタイマ
1つの
32-
ビット・キャプチャ・チャンネル:信号が変化したとき、タイマの値を
取る
4つの
32-
ビット・マッチ・レジスタ
(
割込みレジスタ一致時のオプション割込み
)
– オペレーションの継続 – タイマのストップ – タイマのリセット – タイマのリセット4
つの外部出力:マッチレジスタに応じて
(
最大
3
つのオプション、
16-
ビットタイ
マ
)
各タイマには、最大
4
つのマッチ・レジスタがあり
PWM
として使えます(最大
3
つの一致信号をもつシングル・エッジの
PWM
出力)
タイマブロック
タイマブロック
タイマブロック
タイマブロック図
図
図
図
マッチ レジスタ 外部マッチ オペレーション キャプチャ キャプチャその
その
その
その他
他
他
他
タイマ
タイマ
タイマ
タイマ
(1100
と
と
と
と
1300)
ウォッチドック
タイマ
– 定期的に再ロードされない場合にチップの内部を リセットする – デバッグ モード – 入力ソースのし種類が豊富: IRC, メイン クロック, ウォッチドックオシレータシステマチック
タイマ
– 10 – 通常10 ミリ秒にセット – 例外 ベクタの専用として使用ADC (1100
と
と
と
と
1300)
10-
ビット
ADC (SAR )
10-
ビット
変換時間
≥ 2.44 µs
計測範囲
: 0
~
3.6 V
入力は、
8
つの
ピンの中で切り替え
バースト変換モード
:
シングルまたは複数ピン入力
オプション:変換のトリガーポイント
オプション:変換のトリガーポイント
– 入力 ピンの変化 – タイママッチ信号各チャネルの個々の結果レジスタは、割込みのオーバヘッドを減らす
リセット
リセット
リセット
リセット
・ソース
・ソース
・ソース
・ソース
(1300
と
と
と
と
1100)
リセットピン
ウォッチドック
(WDT)
リセット
パワーオン
リセット
(POR)
ブラウンアウト検出
(Brown Out Detection:BOD)
– 4 ステージの電圧のモニタリング
– BODは 割込み信号をNVICにアサートする – BODは 割込み信号をNVICにアサートする – BOD は リセットをアサートする
LPCXpresso
LPCXpresso ツール(LPC1100 ファミリ)2010年1月発表 LPCXpresso : LPC MCU ファミリ向け低価格 開発環境 LPCXpresso は初期の評価から製品開発まで使える開発環境です。 ツールに含まれるもの ツールに含まれるもの – Eclipse-ベース IDE(128KB ダルンロード制限) – GNU ツールとライブラリ – 低価格 ターゲット ボード とJTAG/SWD デバッガ LPC-Link – ターゲット ボード にJTAG デバッガが付属NXP’s
低価格開発
低価格開発
低価格開発
低価格開発
ツール
ツール
ツール
ツール
Platform
Eclipse-
ベース
IDE
開発
ボード
LPCXpresso
パートナー
パートナー
パートナー
パートナー
パワー パワーパワー
LPCXpresso IDE-
主
主
主
主な
な
な
な機能
機能
機能
機能
簡易版Eclipse ベース IDE :1つに統合された開発 とデバッグ環境 ビルトイン・ プロジェクト テンプレートのサポート: すぐにスタートできる CMSISライブラリ :開発 時間短縮のため LPCXpresso プラットフォームにポーティング ビルトイン・ データシートブラウザハードウェアサポート- LPC-Link , Red Probe ハードウェアサポート- LPC-Link , Red Probe サポートデバイス- LPC13xx, LPC11xx ,
LPC17xx, LPC2000 & LPC3130 の一部
ライセンスモデル: ユーザ登録後、サポートされて いるLPCマイコンに対してコードサイズ128KBまで ダウンロードできる
アップグレード
アップグレード
アップグレード
アップグレード
オプション
オプション
オプション
オプション
Code Red – ランタイムトレーシング、Cortex-M3 製品 (プロファイリング, トレースなど) – ランタイム・変数操作(variable manipulation) – フラッシュ プログラムユーティリティ – C++ 新 バージョンへのアップグレードが容易 ($1/Kバイト!)– Red Suite Xpresso LPC256 : $256
• 全機能サポート、LPC 製品(256K バイトまでの全ての製品)
– Red Suite Xpresso LPC512 : $512
• 全機能サポート、 LPC 製品(512K バイトまでの全ての製品) – Red Suite• LPC 512K – Red Suite • コードの制限なし、全ての製品ファミリLPC1000, LPC2000 & LPC3000 Embedded Artists – ディスカウント・クーポン付(期限なし) • $10 オフ LPCXpresso ベースボード • $20 オフ Embedded Artistsキット
LPCXpresso
ボード
ボード
ボード
ボード
ターゲット
LPC-Link
LPC-Link
LPC-Link: JTAG/SWD
デバッグインターフェース
(LPC3154
搭載
)
LPC-Link:
スタンドアローン
JTAG
デバッガ
LPCXpresso
開発
開発
開発
開発
ステージ
ステージ
ステージ
ステージ
評価
評価
評価
評価
研究
研究
研究
研究
開発
開発
開発
開発
ステージ
ステージ
ステージ
ステージ
開発
開発
開発
開発
LPCXpresso Web
サポート
サポート
サポート
サポート
www.nxp.com/
lpcxpresso
(英語)
– メインページwww.nxp.com/
lpcxpresso-
サポート(英語)
– NXP 実例ページ 回路図 と FAQwww.nxp.com/
lpczone
(英語)
– ライブ トレーニング モジュールwww.nxp.com/
lpcxpresso-forum
(英語)
– LPCXpressoのサポート フォーラムwww.code-red-tech.com/
lpcxpresso
(英語)
– LPCXpresso IDE ダウンロードとCode Red 技術情報
www.embeddedartists.com/
lpcxpresso(
英語)
– ベースボード の回路図 、 実例 プロジェクト
製品情報
製品情報
製品情報
製品情報やトレーニング
やトレーニング
やトレーニング
やトレーニング
ビデオ
ビデオ
ビデオ
ビデオ
http://www.nxp-lpc.com/
アップグレード
アップグレード
アップグレード
アップグレード
オプション
オプション
オプション
オプション
Code Red – ランタイムトレーシング、Cortex-M3 製品 (プロファイリング, トレースなど) – ランタイム・変数操作(variable manipulation) – フラッシュ プログラムユーティリティ – C++ 新 バージョンへのアップグレードが容易 ($1/Kバイト!)– Red Suite Xpresso LPC256 : $256
• 全機能サポート、LPC 製品(256K バイトまでの全ての製品)
– Red Suite Xpresso LPC512 : $512
• 全機能サポート、 LPC 製品(512K バイトまでの全ての製品) – Red Suite• LPC 512K – Red Suite • コードの制限なし、全ての製品ファミリLPC1000, LPC2000 & LPC3000 Embedded Artists – ディスカウント・クーポン付(期限なし) • $10 オフ LPCXpresso ベースボード • $20 オフ Embedded Artistsキット