1 Architectural Overview

Stellaris® LM3S9B96 Microcontroller
1 章 アーキテクチャの概要
。
JAJU116
SPMS182D 翻訳版(1 章)
最新の英語版:
http://www.ti.com/lit/gpn/lm3s9b96
この資料は、Texas Instruments Incorporated(TI)が英文で記述した資料を、皆様のご理解の一助として頂くために日本テキサ
ス・インスツルメンツ(日本 TI)が英文から和文へ翻訳して作成したものです。資料によっては正規英語版資料の更新に対応して
いないものがあります。日本 TI による和文資料は、あくまでも TI 正規英語版をご理解頂くための補助的参考資料としてご使用下
さい。製品のご検討およびご採用にあたりましては必ず正規英語版の最新資料をご確認下さい。TI および日本 TI は、正規英語
版にて更新の情報を提供しているにもかかわらず、更新以前の情報に基づいて発生した問題や障害等につきましては如何なる
責任も負いません
JAJU116
アーキテクチャの概要
1
テキサス・インスツルメンツ社は、32 ビット・マイクロコントローラの性能と ARM® Cortex-M3™ ベースのマイ
クロコントローラの持つ最大限の利点をマイクロコントローラ市場に幅広く提供している、業界のリーダー企業
です。
現在 8 ビットまたは 16 ビットの MCU を使用しているユーザーは、 Cortex-M3 ベースの Stellaris® を使
用することによって開発ツール、ソフトウェア、および業界の知識を組み合わせた強力なエコシステムを容易に
構築することができます。Stellaris® に移行すれば、設計者は、優れたツール、小型のコード・フットプリント、
および優れた性能から恩恵を得ることができます。さらに重要なことは、1 ドルの製品から 1 GHz の製品まで
互換性のあるロードマップを使用することによって、設計者が ARM エコシステムの開発に確実に参入できる
こ と で す 。 現 在 32 ビ ッ ト MCU を 使 用 し て い る ユ ー ザ ー は 、 Stellaris® フ ァ ミ リ に よ っ て 、 業 界 初 の
Cortex-M3 および Thumb-2 命令セット環境を利用できます。応答速度が非常に速い Thumb-2 テクノロジ
ーでは 16 ビットと 32 ビットの両方の命令が結合されており、コード密度と性能の最適なバランスを実現して
います。Thumb-2 はメモリーの使用量が純粋な 32 ビット・コードよりも 26 パーセント少ないため、システム・
コストを削減しますが、その一方で 25 パーセントも上回る性能を提供します。ARM® Cortex™-M3 テクノロジ
ーをベースにした最初のコントローラである Texas Instruments Stellaris® ファミリ・マイクロコントローラは、コ
ストが重視される組込み型マイクロコントローラのアプリケーション用に、高性能の 32 ビット・コンピューティン
グをもたらします。これらの先駆的な部品によって、32 ビットのパフォーマンスを、従来の 8 ビットや 16 ビッ
ト・デバイスと同等のコストで手にすることができます。しかも、すべてがスモール・フットプリントのパッケージ 1
つに格納されています。
LM3S9B96 マイクロコントローラの主な機能は次のとおりです。
„
„
ARM® Cortex™-M3 プロセッサ・コア
-
80 MHz で動作、100 DMIPS のパフォーマンス
-
ARM Cortex SysTick タイマー
-
ネスト型ベクタ割り込みコントローラ (NVIC)
オンチップ・メモリー
-
最大 50 MHz の 256 KB シングルサイクル・フラッシュ・メモリー。プリフェッチ・バッファにより、50
MHz を上回るパフォーマンスを発揮
-
96 KB シングルサイクル SRAM
-
StellarisWare® ソフトウェアを搭載した内部 ROM:
‚
Stellaris® ペリフェラル・ドライバ・ライブラリ
‚
Stellaris® ブート・ローダー
‚
SafeRTOS™ カーネル
‚
新暗号規格 (AES: Advanced Encryption Standard) 暗号化テーブル
‚
巡回冗長検査 (CRC: Cyclic Redundancy Check) エラー検出機能
Stellaris LM3S9B96 Microcontroller Data Sheet (Rev. D) 1章 翻訳版
„
„
„
外部ペリフェラル・インターフェイス (EPI)
-
外部ペリフェラル用の 8/16/32 ビット専用パラレル・バス
-
SDRAM、SRAM/ フラッシュ・メモリー、FPGA、CPLD をサポート
アドバンスト・シリアル・インテグレーション
-
IEEE 1588 PTP ハードウェア・サポートによる 10/100 イーサネット MAC および PHY
-
2 つの CAN 2.0 A/B コントローラ
-
USB 2.0 OTG/ ホスト / デバイス
-
IrDA および ISO 7816 をサポートする 3 つの UART (うち 1 つはフル・モデム制御 UART )
-
2 つのI2C モジュール
-
2 つの同期シリアル・インターフェイス (SSI) モジュール
-
I2S (Integrated Interchip Sound) モジュール
システム・インテグレーション
-
ダイレクト・メモリー・アクセス (DMA: Direct Memory Access) コントローラ
-
オンチップ高精度 16 MHz 発振回路を含むシステム・コントロールとクロック
-
4 個の 32 ビット・タイマー (最大 8 個の 16 ビット・タイマー)
-
8 本の CCP (Capture Compare PWM) ピン
-
リアルタイム・クロック
-
2 つのウォッチドッグ・タイマー
-
‚
1 つのタイマーでメイン発振回路を制御
‚
1 つのタイマーで高精度内部発振回路を制御
最大 65 個の GPIO (構成によって異なる)
‚
フレキシブルなピン・マルチプレクシングにより、GPIO としても複数のペリフェラル機能の 1 つ
としても使用可能
„
„
‚
駆動機能は 2、4、8 mA のいずれかに独立して設定可能
‚
最大 4 つの GPIO による 18 mA 駆動機能
アドバンスト・モーション・コントロール
-
モーションおよびエネルギー・アプリケーション用の 8 本のアドバンスト PWM 出力
-
4 本の障害入力により、シャットダウン待ち時間を短縮
-
2 本の 直角位相エンコーダ入力 (QEI: Quadrature Encoder Input)
アナログ
-
16 本のアナログ入力チャネルと 100 万サンプル / 秒のサンプル・レートを持つ、2 つの 10 ビッ
ト A/D コンバータ (ADC)
-
3 つのアナログ・コンパレータ
-
16 個のデジタル・コンパレータ
-
オンチップ電圧レギュレータ
„
JTAG および ARM シリアル・ワイヤ・デバッグ (SWD)
„
100 ピン LQFP および 108 ボール BGA パッケージ
„
工業温度範囲 (-40°C ~ 85°C) 対応
LM3S9B96 は、遠隔監視システム、電子 POS 端末、検査・測定機器、ネットワーク・アプライアンスとスイッ
チ、ファクトリ・オートメーション、HVAC (換気空調設備) やビル管理、ゲーム機器、モーション・コントロール、医
療機器、防火設備などへの工業的利用を対象としています。
ま た 、 LM3S9B96 マ イ ク ロ コ ン ト ロ ー ラ は 、 広 範 囲 に 適 用 可 能 な ARM の 開 発 ツ ー ル 、 SoC
(System-on-Chip) インフラストラクチャ IP アプリケーション、および大きなユーザー・コミュニティという利点を
もちます。さらに、ARM の Thumb® と互換性をもつ Thumb-2 命令セットを使用してメモリー要件を軽減し、
その結果コストも削減します。そのうえ、LM3S9B96 マイクロコントローラは広範な Stellaris® ファミリのすべ
ての製品とコードに互換性をもち、ユーザーの細かいニーズにフレキシブルに適合します。
テキサス・インスツルメンツは、評価ボードと開発ボード、ホワイト・ペーパーとアプリケーション・ノート、使いや
すいペリフェラル・ドライバ・ライブラリを提供し、また強力なサポート、販売、代理店ネットワークによって、完璧
なソリューションをすばやく市場に投入します。Stellaris® ファミリ・デバイスのオーダ情報については、
「Ordering and Contact Information」を参照してください。
機能概要
1.1
LM3S9B96 マイクロコントローラの機能の概要を以降の節で説明します。括弧内のページ番号は、その機能
が詳細に説明されている場所を示しています。オーダ情報およびサポート情報については、「Ordering and
Contact Information」を参照してください。
1.1.1
ARM Cortex™-M3
ARM Cortex™-M3 プロセッサ・コアと命令セット、内蔵システム・タイマー (SysTick) および ネスト型ベクタ割
り込みコントローラの概要を以降の節で説明します。
1.1.1.1 プロセッサ・コア (71 ページを参照)
LM3S9B96 マイクロコントローラを含め、Stellaris® ファミリのすべての製品は ARM Cortex™-M3 プロセッ
サ・コアを中心に設計されています。ARM Cortex-M3 プロセッサは優れたコンピューティング・パフォーマンス
を誇り、割り込みに対する類のないシステム応答を提供し、最小限のメモリー実装、ピン数の削減、および低消
費電力といった要求を満たす、高性能かつ低コストのプラットフォームの中核を成します。
„
スモール・フットプリントの組込みアプリケーション用に最適化された 32 ビット ARM® Cortex™-M3 v7M
アーキテクチャ
„
高速割り込み処理を組み合わせた、優れた処理性能
„
Thumb-2 は、16 ビットと 32 ビットの命令セットを組み合わせて使用し、32 ビット ARM コアに期待さ
れる高性能を、通常は 8 ビットや 16 ビットのデバイスに適用されるほどのコンパクトなメモリー・サイズ
で実現します。マイクロコントローラ・クラスのアプリケーションに必要な典型的なメモリー容量は、数キロ
バイト程度です。
-
シングルサイクルの乗算命令とハードウェアによる除算
-
アトミックなビット操作 (ビット・バンディング) で、最大のメモリー使用量と合理的なペリフェラル制御
を実現
-
非整列データ・アクセスにより、データをメモリーに効率的にパック
„
高速なコード実行により、プロセッサ・クロックの低速化やスリープ・モード時間の延長が可能
„
命令用とデータ用の分離したバスを特徴とするハーバード・アーキテクチャ
„
効率的なプロセッサ・コア、システム、およびメモリー
„
ハードウェアによる除算と高速な乗算器
„
時間が重視されるアプリケーションにおいて、確定的な高性能割り込み処理
„
保護されたオペレーティング・システム機能に対して特権モードを提供するメモリー保護ユニット (MPU)
„
広範なブレークポイントとトレース機能を備えた高度なシステム・デバッグ
„
シリアル・ワイヤ・デバッグとシリアル・ワイヤ・トレースで、デバッグとトレースに必要なピン数を削減
„
ARM7™ プロセッサ・ファミリからの移行で、パフォーマンスと電力効率を向上
„
シングルサイクル・フラッシュ・メモリー使用量の最適化
„
スリープ・モード内蔵により超低消費電力を実現
„
80 MHz の動作
„
1.25 DMIPS/MHz
71 ページの「ARM Cortex-M3 Processor Core (ARM Cortex-M3 プロセッサ・コア)」で、ARM コアの概要を
説明します。コアの詳細については、『ARM® Cortex™-M3 Technical Reference Manual』を参照してくださ
い。
1.1.1.2 システム・タイマー (SysTick) (81 ページを参照)
ARM Cortex-M3 には、システム・タイマー SysTick が内蔵されています。SysTick は、書き込み時にクリア
され、ゼロになると初期値に戻る、フレキシブルな制御メカニズムをもつシンプルなデクリメント式 24 ビット・カ
ウンタを備えています。本カウンタは様々な用途で用いることができます。例えば;
„
RTOS の Tick 生成タイマーとして(プログラマブルな周期(例:100 Hz) でイベントを発生や SysTick ルーチ
ンを起動するなど)
„
高速なアラーム・タイマーとして
„
可変なアラームタイマーとして、またはシグナルを生成するタイマーとして。 - 基準クロックを基に間隔を
設定し、設定値は動的に変更させることができる
„
シンプルなタイマーとして、時間計測や周期の生成
„
特定の時間内に処理が終えられるか否かを判断し、内部クロックのコントロールを行う。動的なクロック管
理制御として、SysTick 制御およびステータスレジスタの COUNTFLAG ビットは指定した時間内に処理が
完了したかを判断するために使用することができる。
1.1.1.3 ネスト型ベクタ割り込みコントローラ (NVIC)
LM3S9B96 コントローラは、ARM ネスト型ベクタ割り込みコントローラ (NVIC) を備えています。NVIC と
Cortex-M3 は、ハンドラ・モードで、すべての例外に優先順位をつけて処理します。例外が発生するとプロセッ
サ状態が自動的にスタックに格納され、割り込みサービス・ルーチン (ISR) が終了すると自動的にスタックか
らリストアされます。状態の保存と並行して割り込みベクタがフェッチされるため、割り込みを効率的に実行する
ことができます。また、プロセッサはテール・チェーンをサポートしており、状態の保存とリストア時のオーバーヘ
ッドなしに連続して割り込みを実行できます。
ソフトウェアは、7 つの例外 (システム・ハンドラ) と 53 の割り込みに対して 8 つの優先度レベルを設定でき
ます。
„
確定的な高速割り込み処理:常に 12 サイクル、またはテール・チェーンで 6 サイクル
„
安全性が重視されるアプリケーション用に、外部からのノン・マスカブル割り込み (NMI) を NMI ハンドラ
で即座に実行可能
„
割り込みの動的な再優先順位付け
„
必要なレジスタ操作をハードウェアで実現することによる、例外割り込み処理
NVIC コントローラと割り込みマップの概要を 87 ページの「Interrupts (割り込み)」で説明します。
例外と割り込みの詳細は、『ARM® Cortex™-M3 Technical Reference Manual』をご覧ください。
1.1.2
オンチップ・メモリー
オンチップ・メモリー・モジュールについて以降の節で説明します。
1.1.2.1 SRAM
LM3S9B96 マイクロコントローラは、96 KB のシングルサイクル・オンチップ SRAM を備えています。
Stellaris® デバイスの内部 SRAM は、デバイス・メモリー・マップのオフセット 0x2000.0000 に配置されてい
ます。
読み取り-変更-書き込み (RMW) 処理は非常に時間がかかるため、ARM では新しい Cortex-M3 プロセッ
サにビット・バンディング・テクノロジーを導入しました。ビット・バンドが有効なプロセッサでは、メモリー・マップ
上の特定の領域 (SRAM およびペリフェラル空間) をアドレス・エイリアスとして利用することによって、一度の
アトミック操作で個々のビットにアクセスすることができます。
SRAM とのデータ転送はマイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用して行われま
す。
1.1.2.2 フラッシュ・メモリー
LM3S9B96 マイクロコントローラは、256 KB のシングルサイクル・オンチップ・フラッシュ・メモリーを備えてい
ます (50 MHz を超える製品では、コードが連続な場合フラッシュ・メモリーに 1 サイクルでアクセスできます。
分岐では、1 サイクルのストールが発生します)。フラッシュ・メモリーは、個別に消去可能な 2 KB ブロックの
セットで構成されています。ブロックを消去すると、ブロック内のすべての内容が 1 にリセットされます。
これらのブロックは、個別に保護可能な 2 KB ブロックのセットとしてペアになります。各ブロックは、読み取り
専用または実行専用として指定することによって、それぞれレベルの異なったコード保護を行うことができます。
読み取り専用ブロックは内容が変更できないように保護されており、消去も書き込みもできません。
実行専用ブロックは、消去も書き込みもできず、コントローラ命令フェッチ・メカニズムによって読み取ることのみ
可能です。したがって、実行専用ブロックの内容は、コントローラとデバッガのどちらからも読み取りできないよ
うに保護されます。
1.1.2.3 ROM
LM3S9B96 ROM は、次のソフトウェアおよびプログラムによってあらかじめプログラムされています。
„
Stellaris® ペリフェラル・ドライバ・ライブラリ
„
Stellaris® ブート・ローダー
„
SafeRTOS™ プリエンプティブ・リアルタイム・カーネル
„
AES (Advanced Encryption Standard) 暗号化テーブル
„
巡回冗長検査 (CRC) エラー検出機能
Stellaris® ペリフェラル・ドライバ・ライブラリは、オンチップ・ペリフェラルを制御する、ブート・ローダー機能付き
の無償ソフトウェア・ライブラリです。このライブラリは、ポーリングまたは割り込み駆動型のペリフェラル・サポ
ートを選択することによって、ペリフェラルの初期化と制御機能の両方を実行します。さらに、このライブラリは、
ARM® Cortex™-M3 コアの優れた割り込みパフォーマンスを十分に活用するよう設計されています。特殊なプ
ラグマや、カスタム・アセンブリ・コードのプロローグ機能、エピローグ機能は必要ありません。インフィールドの
プログラマビリティを必要とするアプリケーションに対しては、無償の Stellaris® ブート・ローダーがアプリケー
ション・ローダーとして動作可能で、インフィールドのファームウェア更新をサポートします。
また、ROM には、SafeRTOS™ プリエンプティブ・リアルタイム・カーネルも含まれています。このスモール・フ
ットプリントのカーネルは、指定レベルの信頼性が必要とされるアプリケーションにおいて簡単に使用できるよう
に設計されています。
SafeRTOS™ を使用することによって、設計が確定した製品を、ローリスクかつローコストですばやく市場に投
入することができます。
AES (Advanced Encryption Standard) は、米国政府が使用する、公的に定義された暗号化規格です。AES
は、十分なパフォーマンスとサイズをもつ強力な暗号化方式です。さらに、ハードウェアとソフトウェアの両方に
おいて高速であり、実装が比較的簡単で、また必要なメモリーもわずかです。テキサス・インスツルメンツの暗
号化パッケージでは全ソース・コードが提供されており、また劣等一般公有使用許諾 (LGPL) ソースに基づい
ています。LGPL は、アプリケーションのコピーレフトを示すことなく、アプリケーション内でコードを使用できるこ
とを意味しています (コードは、自動的にオープン・ソースにはなりません)。ただし、パッケージ・ソースの変更
は、オープン・ソースにする必要があります。
CRC は、あるデータ範囲の内容が、以前検査したときと同じか検証する技術です。この技術は、受け取ったメ
ッセージが正しいかどうか (伝送中に何も失われておらず、また変更されていないこと) の検証、圧縮解除後
のデータの検証、またフラッシュ・メモリーの内容が変更されていないかどうかの検証、およびその他のデータ
の検証が必要な場合に使用できます。
CRC は、変更をより容易に捕捉できるため、すべてのビットを XOR するなどの単純なチェックサムよりも優
れています。
1.1.3
外部ペリフェラル・インターフェイス
外部ペリフェラル・インターフェイス (EPI) は、パラレル・パスを使用して外部デバイスへのアクセスを提供しま
す。SSI や UART、 I2C などの通信ペリフェラルとは異なり、EPI は、外部ペリフェラルとメモリーに対するバ
スのように動作するよう設計されています。
EPI の主な機能は次のとおりです。
„
外部ペリフェラルおよびメモリー用の 8/16/32 ビット専用パラレル・バス
„
データ・バス幅に関係なく、連続的なメモリー・アクセスをサポートするメモリー・インタフェースにより、
SDRAM、SRAM、および フラッシュ・メモリーから直接コードを実行可能
„
ブロッキングおよび非ブロッキングでの読み取り
„
内部書き込み FIFO を使用することにより、プロセッサをタイミングの詳細から分離
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
読み取り用と書き込み用でチャネルを分離
-
内部非ブロッキング読み取り FIFO (NBRFIFO) に対してプログラマブル・レベルでアサートされる読
み取りチャネル要求
-
内部書き込み FIFO (WFIFO) が空のときにアサートされる書き込みチャネル要求
EPI は、SDRAM (Synchronous Dynamic Random Access Memory) モード、従来のホスト・バス・モード、
および汎用モードの 3 つの主要な機能モードをサポートします。また、EPI モジュールは、カスタム GPIO も
提供します。ただし、通常の GPIO とは異なり、EPI モジュールは通信メカニズムと同じ方法で FIFO を使用
し、クロックによって速度を制御します。
„
„
SDRAM (Synchronous Dynamic Random Access Memory) モード
-
最大 50 MHz で x16 (シングル・データ・レート) SDRAM をサポート
-
最大 64 MB (512 メガビット) の低コスト SDRAM をサポート
-
すべてのバンク / 行に対する自動的なリフレッシュとアクセス
-
最小限の電力供給でデータをアクティブに保つスリープ / スタンバイ・モード
-
アドレス / データ・インターフェイスのマルチプレックス化によるピン数の削減
ホスト・バス・モード
-
従来の x8 および x16 MCU バス・インターフェイス機能
-
PIC、ATmega、8051 などと同様のデバイス互換性オプション
-
非マルチプレックス・モードでは最大 1 MB、マルチプレックス・モードでは 256 MB (バイト・セレクト
なしのホスト・バス 16 モードで 512 MB) のアドレッシングで SRAM、NOR フラッシュ・メモリー、お
よび他のデバイスへアクセス
-
アドレスとデータのマルチプレックス/非マルチプレックス・モードの両方をサポート
-
外部 FIFO (XFIFO) EMPTY 信号と外部 FIFO (XFIFO) FULL 信号によって、非アドレス FIFO
x8 および FIFO x16 インターフェイスに対応する様々なデバイスへアクセス
„
-
読み取りおよび書き込みデータ待機状態カウンタによる速度の制御
-
ALE、CSn、デュアル CSn、およびデュアル CSn での ALE を含むチップ・セレクト・モード
-
手動によるチップの有効化 (または、追加のアドレス・ピンを使用)
汎用モード
-
CPLD および FPGA との高速通信のためのワイド・パラレル・インターフェイス
-
最大 32 ビットのデータ幅
-
最大 150 MB/ 秒のデータ・レート
-
4 ビットから 20 ビットのアドレス・サイズ (オプション)
-
クロック出力、読み取り / 書き込みストローブ、フレーミング (カウンタ・ベースのサイズ)、および ク
ロック・イネーブル入力 (オプション)
„
汎用パラレル GPIO
-
1 ビットから 32 ビットの速度制御付き FIFO
-
カスタム・ペリフェラル、またはデジタル・データ取得およびアクチュエータ制御に有効
1.1.4
シリアル通信ペリフェラル
LM3S9B96 コントローラは、次の機能によって非同期シリアル通信と同期シリアル通信の両方をサポートしま
す。
„
IEEE 1588 PTP ハードウェア・サポートによる 10/100 イーサネット MAC および PHY
„
2 つの CAN 2.0 A/B コントローラ
„
OTG、ホスト、デバイス対応の USB 2.0 (Full Speed および Low Speed)
„
IrDA および ISO 7816 をサポートする 3 つの UART (うち 1 つはフル・モデム制御)
„
2 つの I2C モジュール
„
2 つの同期シリアル・インターフェイス (SSI) モジュール
„
I2S (Integrated Interchip Sound) モジュール
これらの通信機能についての詳細を以降の節で説明します。
1.1.4.1 イーサネット・コントローラ
イーサネットは、ローカル・エリア・ネットワーク (LAN) 用のフレーム・ベースのコンピュータ・ネットワーキング・
テクノロジーです。イーサネットは、IEEE 802.3 として標準化されています。この仕様では、物理レイヤにおけ
る多くの配線と信号の標準、MAC (Media Access Control) / データ・リンク・レイヤにおける 2 つのネットワー
ク・アクセス方式、および共通アドレッシング形式が定義されています。
Stellaris® イーサネット・コントローラは、完全内蔵型の MAC (Media Access Controller) および PHY
(Network PHysical) インターフェイスで構成されており、次の機能を備えています。
„
IEEE 802.3-2002 仕様に準拠
-
10BASE-T/100BASE-TX IEEE-802.3 に準拠。回線に対するデュアル 1:1 絶縁トランス・インター
フェイスのみ必要
„
„
„
-
10BASE-T/100BASE-TX ENDEC、100BASE-TX スクランブラ / デスクランブラ
-
フル機能のオートネゴシエーション
複数の操作モード
-
全二重および半二重 100 Mbps
-
全二重および半二重 10 Mbps
-
省電力モードとパワーダウン・モード
高度に構成可能
-
プログラマブル MAC アドレス
-
LED アクティビティの選択
-
プロミスキャス・モード対応
-
CRC エラー除去制御
-
ユーザー定義可能な割り込み
物理メディアの操作
-
ソフトウェアの支援による MDI/MDI-X クロスオーバのサポート
-
送信振幅をレジスタで設定可能
-
自動極性補正と 10BASE-T 信号受信
„
各パケットに対し高度に正確なタイムスタンプを提供する IEEE 1588 PTP (Precision Time Protocol)
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
送信用と受信用でチャネルを分離
-
パケット受信時にアサートされる受信チャネル要求
-
送信 FIFO が空のときにアサートされる送信チャネル要求
1.1.4.2 コントローラ・エリア・ネットワーク
コントローラ・エリア・ネットワーク (CAN) は、電子制御ユニット (ECU) を接続するためのマルチキャスト共有
シリアル・バス標準です。CAN は、特に電磁ノイズの大きい環境向けに堅牢に設計されており、RS-485 やツ
イストペア線などの平衡型差動ラインを使用できます。元々は車両用に開発されたものですが、現在では工業
用や医療用など多くの組込み型制御アプリケーションで使用されています。ネットワーク長が 40 メートル未満
であれば、最大 1 Mbps のビット・レートが可能です。
ビット・レートを低下させると、ネットワーク長を拡張できます (例:125 Kbps で 500 m)。
トランスミッタは、すべての CAN ノードにメッセージを送信 (ブロードキャスト) します。各ノードは、受信した識
別子に基づいて、そのメッセージを処理すべきか判断します。また、識別子によって、バス・アクセス競合時のメ
ッセージの優先度が決まります。各 CAN メッセージは、0 バイトから 8 バイトのユーザー・メッセージを送信
できます。
LM3S9B96 マイクロコントローラは、次の機能をもつ 2 つの CAN ユニットを備えています。
„
CAN プロトコル・バージョン 2.0 パート A/B
„
最大 1 Mbps のビット・レート
„
個別の識別マスクをもつ 32 のメッセージ・オブジェクト
„
マスカブル割り込み
„
時間トリガ型 CAN (TTCAN) アプリケーション用に自動再送信モードを無効化
„
セルフ・テスト操作用のプログラマブル・ループバック・モード
„
プログラマブル FIFO モードにより複数のメッセージ・オブジェクトを格納可能
„
CANnTX 信号および CANnRX 信号によって、外部 CAN トランシーバに確実に接続
1.1.4.3 USB
ユニバーサル・シリアル・バス (USB) は、標準化されたインターフェイスを使用して、システムを再起動するこ
となくペリフェラルを接続し、切り離すことができるように設計されたシリアル・バス標準です。
LM3S9B96 コントローラは、USB 2.0 Full Speed と Low Speed の両方で、USB デバイス、USB ホスト、およ
び USB On-The-Go (他の USB 対応システムに接続されたときに、その時点でホストまたはデバイスとして
ネゴシエーションを行う) の 3 通りの構成をサポートします。
USB モジュールの主な機能は次のとおりです。
„
USB-IF 認証標準に準拠
„
USB 2.0 Full Speed (12 Mbps) または Low Speed (1.5 Mbps) 動作
„
PHY 内蔵
„
4 つのデータ転送タイプ: Control 転送、Interrupt 転送、Bulk 転送、Isochronous 転送
„
32 個のエンドポイント
„
-
1 つの専用制御 IN エンドポイント、1 つの専用制御 OUT エンドポイント
-
15 個の設定可能な IN エンドポイント、15 個の設定可能な OUT エンドポイント
4 KB の専用エンドポイント・メモリー:1 つのエンドポイントを、ダブル・バッファ化 1023 バイト・アイソク
ロナス・パケット・サイズ専用に定義
„
VBUS ドループおよび有効な ID の検出と割り込み
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
最大 3 つの IN エンドポイントおよび 3 つの OUT エンドポイント用の送信・受信個別のチャネル
-
FIFO のデータ量が指定したレベルに達したときにアサートされるチャネル要求
1.1.4.4 UART (584 ページを参照)
UART (Universal Asynchronous Receiver/Transmitter) は、RS-232C シリアル通信に使用される内蔵回路
であり、それぞれ個別のクロック供給を受けるトランスミッタ (パラレル / シリアル・コンバータ) とレシーバ (シ
リアル / パラレル・コンバータ) を備えています。
LM3S9B96 コントローラは、プログラマブルな 3 つの 16C550-type UART を備えています。機能は
16C550 UART に類似していますが、この UART 設計はレジスタ互換ではありません。UART は、送信、受
信、モデム・ステータス、およびエラーの各条件に応じて個別にマスクされた割り込みを生成できます。
マスクされていない複数の割り込みがアサートされると、UART モジュールはそれらを組み合わせた単一の割
り込みを生成します。
3 つの UART の機能は次のとおりです。
„
通常速度 (16 分周) で最大 5 Mbps の速度、高速 (8 分周) で 10 Mbps の速度を実現するプログラ
マブル・ビット・レート・ジェネレータ
„
送信と受信で個別の 16x8 FIFO を備え、CPU 割り込み処理における負荷を軽減
„
従来のダブル・バッファ・インターフェイスを提供する 1 バイト動作を含む、プログラマブルな FIFO 長
„
1/8、1/4、1/2、3/4、および 7/8 の FIFO トリガ・レベル
„
スタート、ストップ、およびパリティ用の標準非同期通信ビット
„
不正スタート・ビットの検出
„
改行の生成と検出
„
プログラマブルなシリアル・インターフェイス特性
-
5、6、7、または 8 データ・ビット
-
偶数パリティ・ビット、奇数パリティ・ビット、スティック・パリティ・ビット、およびパリティなしビットの生成
/ 検出
„
1 または 2 ストップ・ビットの生成
次の機能を提供する IrDA SIR (Serial-IR) エンコーダ / デコーダ
-
IrDA SIR (Serial Infrared) または UART 入出力のプログラマブルな使用
-
最大 115.2 Kbps 半二重のデータ・レート用の IrDA SIR エンコーダ / デコーダ機能をサポート
-
通常の 3/16 ビット持続期間と低電力 (1.41~2.23 μs) ビット持続期間をサポート
-
低電力モード・ビット持続期間用に基準クロックの分周 (1 ~ 256) を可能とするプログラマブルな
内蔵クロック・ジェネレータ
„
ISO 7816 スマート・カードによる通信をサポート
„
フル・モデム・ハンドシェークをサポート (UART1)
„
LIN プロトコルをサポート
„
標準 FIFO レベルおよびデータ転送終了割り込み
„
μDMA (Micro Direct Memory Access) コントローラを使用した効率的なデータ転送
-
送信用と受信用でチャネルを分離
-
FIFO 内にデータがあるときにアサートされる単一の要求と、設定した FIFO レベルでアサートされ
るバースト要求を受信
-
FIFO 内に空きがあるときにアサートされる単一の要求と、設定した FIFO レベルでアサートされる
バースト要求を送信
1.1.4.5 I2C
I2C (Inter-Integrated Circuit) バスは、2 線設計 (シリアル・データ・ライン SDA とシリアル・クロック・ライン
SCL) によって双方向のデータ転送を行います。I2C バスは、シリアル・メモリー (RAM、 ROM)、ネットワーキ
ング・デバイス、LCD、トーン・ジェネレータなどの外部 I2C デバイスとのインターフェイスを行います。
また、製品の開発および製造段階でシステムのテストや診断を行う際にも使用できます。
I2C バス上の各デバイスは、マスターとしてもスレーブとしても指定できます。各 I2C モジュールは、マスター
またはスレーブとしてデータの送受信をサポートし、また同時にマスターおよびスレーブとして動作することもで
きます。I2C マスターとスレーブのどちらも割り込み生成可能です。
LM3S9B96 コントローラは、次の機能を持つ 2 つの I2C モジュールを備えています。
„
„
I2C バス上のデバイスをマスターとしてもスレーブとしても指定可能
-
マスターまたはスレーブとしてデータの送受信をサポート
-
同時にマスターとスレーブとしての動作をサポート
4 つの I2C モード
-
マスター送信
-
マスター受信
-
スレーブ送信
-
スレーブ受信
„
2 つの転送速度:標準 (100 Kbps) および高速 (400 Kbps)
„
マスターとスレーブの割り込み生成
-
マスターは、送信または受信の動作が完了したとき (またはエラーのために中止されたとき) に割り
込みを生成
-
スレーブは、マスターからデータが転送または要求されたとき、あるいは START または STOP の
条件が検出されたときに割り込みを生成
„
マスターのアービトレーション、クロック同期、マルチマスターのサポート、および 7 ビット・アドレッシング・
モード
1.1.4.6 SSI
同期シリアル・インターフェイス (SSI) は、データをパラレル―シリアル間で変換する 4 線双方向通信インタ
ーフェイスです。SSI モジュールは、周辺装置から受信したデータをシリアルからパラレルに変換し、周辺装置
に送信するデータをパラレルからシリアルに変換します。SSI モジュールは、マスター・デバイスとしてもスレー
ブ・デバイスとしても設定できます。スレーブ・デバイスとして機能する場合、SSI モジュールはその出力を無効
化するように設定することもできます。これにより、マスター・デバイスは複数のスレーブ・デバイスと接続できま
す。送信パスと受信パスは、それぞれ個別の内部 FIFO を使用してバッファリングされます。
SSI モジュールは、SSI モジュールの入力クロックから派生した出力シリアル・クロックを生成するプログラマ
ブルなビット・レート・クロック分周器も備えています。ビット・レートは入力クロックに基づいて生成され、最大ビ
ット・レートは接続している周辺装置によって決まります。
LM3S9B96 コントローラは、次の機能を持つ 2 つの SSI モジュールを備えています。
„
Freescale SPI、MICROWIRE、またはテキサス・インスツルメンツ同期シリアル・インターフェイス用のプ
ログラマブル・インターフェイス動作
„
マスターまたはスレーブとして動作
„
プログラマブルなクロック・ビット・レートとプリスケーラ
„
それぞれ幅 16 ビット、奥行き 8 ロケーションの送信・受信個別の FIFO
„
プログラマブルなデータ・フレーム・サイズ (4 ~ 16 ビット)
„
„
診断およびデバッグ・テスト用の内部ループバック・テスト・モード
„
標準 FIFO ベースの割り込みと送信終了割り込み
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
送信用と受信用でチャネルを分離
-
FIFO 内にデータがあるときにアサートされる単一要求の受信。バースト要求は FIFO にエントリが
4 つ含まれたときにアサート。
-
FIFO 内に空きがあるときにアサートされる単一要求の送信。バースト要求は FIFO にエントリが 4
つ含まれたときにアサート。
1.1.4.7 I2S (Inter-Integrated Circuit Sound) インターフェイス
I2S インターフェイスは、送信モジュールと受信モジュールを備えた、設定可能なシリアル・オーディオ・コアです。
各モジュールは、I2S のほか、左詰めおよび右詰めシリアル・オーディオ形式用にも設定できます。データは、
ステレオ、モノ、コンパクト 16 ビット・ステレオ、およびコンパクト 8 ビット・ステレオの 4 ついずれかのモード
となります。
送信モジュールと受信モジュールには、それぞれ 8 エントリのオーディオ・サンプル FIFO があります。オー
ディオ・サンプルは、左および右ステレオ・サンプル、モノ・サンプル、または左および右コンパクト・ステレオ・サ
ンプルで構成することができます。コンパクト 16 ビット・ステレオでは、各 FIFO エントリには 16 ビット左お
よび 16 ビット右サンプルが含まれ、少ないメモリー領域で効率的にデータを転送できます。コンパクト 8 ビッ
ト・ステレオでは、各 FIFO エントリには 8 ビット左サンプルと 8 ビット右サンプルが含まれ、必要となるメモ
リー容量をさらに縮小します。
トランスミッタとレシーバは、いずれもマスターにもスレーブにもなることができます。
„
Stellaris® I2S インターフェイスの機能は次のとおりです。
„
I2S、左詰め、右詰めをサポートする設定可能なオーディオ形式
„
設定可能なサンプル・サイズ (8 ~ 32 ビット)
„
モノラルとステレオをサポート
„
メモリー・パッキング用の 8 ビット、16 ビット、32 ビット FIFO インターフェイス
„
送信と受信それぞれに個別の 8 エントリ FIFO
„
設定可能な FIFO レベルの割り込み要求と μDMA 要求
„
送信と受信とで独立した MCLK 方向制御
„
送信と受信の内部 MCLK ソース
„
送信と受信とで独立したシリアル・クロックとワード選択を制御
„
MCLK と SCLK はそれぞれ独立してマスターまたはスレーブに設定可能
„
FIFO が空の場合にゼロまたは最後のサンプルを送信するように設定可能
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
送信用と受信用でチャネルを分離
-
バースト要求
-
FIFO のデータが指定したレベルに達したときにアサートされるチャネル要求
1.1.5
システム・インテグレーション
LM3S9B96 コントローラは、次のようなさまざまな標準システム機能をデバイスに組み込んで提供します。
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA)
„
オンチップ高精度 16 MHz 発振回路を含むシステム・コントロールとクロック
„
ARM Cortex SysTick タイマー
„
4 個の 32 ビット・タイマー (最大 8 個の 16 ビット・タイマー)
„
8 本の CCP (Capture Compare PWM) ピン
„
リアルタイム・クロック
„
2 つのウォッチドッグ・タイマー
„
最大 65 個の GPIO (構成によって異なる)
-
フレキシブルなピン・マルチプレクシングにより、GPIO としても複数のペリフェラル機能の 1 つとし
ても使用可能
-
駆動機能は 2、4、8 mA のいずれかに独立して設定可能
-
最大 4 つの GPIO による 18 mA 駆動機能
各機能についての詳細を以降の節で説明します。
1.1.5.1 ダイレクト・メモリー・アクセス
LM3S9B96 マイクロコントローラは、マイクロ DMA (μDMA) と呼ばれるダイレクト・メモリー・アクセス (DMA)
コントローラを備えています。μDMA コントローラは、Cortex-M3 プロセッサをデータ転送タスクから解放し、プ
ロセッサと使用可能なバス帯域幅をより効率よく利用できるようにします。μDMA コントローラは、メモリーと周
辺装置の間でデータを転送できます。サポートされるオンチップ・モジュールごとに専用のチャネルがあり、周辺
装置がより多くのデータを転送できるときに周辺装置とメモリーの間のデータ転送を自動的に実行するようにプ
ログラムすることができます。
μDMA コントローラの機能は次のとおりです。
„
ARM PrimeCell® 32 チャネル構成可能 μDMA コントローラ
„
メモリーからメモリー、メモリーから周辺装置、および周辺装置からメモリーへのデータ転送を複数の転送
モードでサポート
-
シンプルな転送シナリオ用の基本モード
-
連続的なデータ・フローのピンポン・モード
-
1 つの要求から開始された任意の転送のプログラマブルなリストを作成するスキャッタ・ギャザー・モ
ード
„
高度にフレキシブルで設定可能なチャネル動作
-
独立した設定・操作が可能なチャネル
-
サポートされるオンチップ・モジュール、GP タイマー、USB、UART、イーサネット、ADC、EPI、SSI、I2S
用の専用チャネル
-
代替チャネル割り当て
-
双方向モジュールの受信パスと送信パスにそれぞれ 1 チャネル
-
ソフトウェアによって開始されるデータ転送専用チャネル
-
チャネルごとに設定可能なバス・アービトレーション方法
-
任意のチャネルに対しソフトウェアによって開始される要求 (オプション)
„
2 レベルの優先順位
„
μDMA コントローラとプロセッサ・コアの間のバス・アクセス・パフォーマンスを向上する設計最適化
-
μDMA コントローラ・アクセスはコア・アクセスに従属
-
RAM ストライピング
-
ペリフェラル・バス・セグメンテーション
„
8、16、32 ビットのデータ・サイズ
„
1 から 1024 までのバイナリ単位でプログラマブルな転送サイズ
„
ソース・アドレスとデスティネーション・アドレスのインクリメント・サイズ: バイト、ハーフワード、ワードまた
はインクリメントなし
„
マスカブルなペリフェラル要求
„
チャネルごとに個別のデータ転送完了時割り込み要求
1.1.5.2 システム・コントロールとクロック
システム・コントロールはデバイス全体の動作を決定します。システム・コントロールは、デバイスに関する情報
を提供し、省電力機能を制御し、デバイスと各周辺装置のクロックを制御し、さらにリセットの検出と報告を処理
します。
„
デバイス識別情報: バージョン、部品番号、SRAM サイズ、フラッシュ・メモリー・サイズなど
„
電力制御
-
オンチップ固定低ドロップアウト (LDO) 電圧レギュレータ
-
マイクロコントローラの低消費電力オプション: クロック・ゲーティングを使用したスリープ・モードとディ
ープ・スリープ・モード
-
オンチップ・モジュールの低消費電力オプション: 各周辺装置とメモリーのシャットダウンをソフトウェ
アで制御
„
割り込みまたはリセットによる 3.3 V 電源の電圧低下の検出と報告
マイクロコントローラのシステム・クロックに複数のクロック・ソース
-
-
高精度発振回路 (PIOSC): 室温で 16 MHz ±1% の周波数を提供するオンチップ・リソース
‚
全温度範囲で 16 MHz ±3%
‚
低消費電力モードのためのソフトウェアによるパワー・ダウン制御
メイン発振回路 (MOSC):OSC0 入力ピンに接続された外部シングルエンド・クロック・ソース、また
は OSC0 入力ピンと OSC1 出力ピンに接続された外部クリスタルのいずれかによる、周波数誤差
が少ないロック・ソース
-
‚
外部発振回路 (オンチップ PLL ありまたはなし):周波数を 1 MHz ~ 16.384 MHz から選択
‚
外部クリスタル:DC から最大デバイス速度まで
内部 30 kHz 発振回路:省電力モードで使用され、30 kHz ±50% の周波数を提供するオンチップ・
リソース
„
フレキシブルなリセット・ソース
-
パワーオン・リセット (POR)
-
ピン・アサートのリセット
-
電圧低下リセット (BOR) 検出器からシステム電力低下のアラート
-
ソフトウェア・リセット
-
ウォッチドッグ・タイマー・リセット
-
MOSC エラー
1.1.5.3 4 つのプログラマブル・タイマー
プログラマブル・タイマーは、タイマー入力ピンを操作する外部イベントのカウントまたは計時に使用できます。
各汎用タイマー・モジュール(GPTM) ブロックは 2 つの 16 ビット・タイマー / カウンタを備えています。この
タイマー / カウンタは、タイマーまたはイベント・カウンタとして独立して動作するように構成することも、1 つの
32 ビット・タイマーまたは 1 つの 32 ビット・リアルタイム・クロック (RTC) として動作するように構成すること
もできます。タイマーとして使用した場合、A/D 変換 (ADC) をトリガすることもできます。
汎用タイマー・モジュール (GPTM) は、次の機能オプションを持つ 4 つの GPTM ブロックを備えています。
„
カウント・アップまたはカウント・ダウン
„
16 ビットまたは 32 ビットのプログラマブル・ワンショット・タイマー
„
16 ビットまたは 32 ビットのプログラマブル周期タイマー
„
8 ビット・プリスケーラを備える 16 ビット汎用タイマー
„
外部 32.768 kHz クロック入力を使用する場合は 32 ビット・リアルタイム・クロック (RTC)
„
8 つの CCP (Capture Compare PWM) ピン
„
タイマー・モジュールのデイジーチェーン接続により、複数のタイミング・イベントを 1 つのタイマーで開始可
能
„
ADC イベント・トリガ
„
デバッグ中にコントローラが CPU 停止フラグをアサートした場合にユーザーが開始するストール (RTC
モードを除く)
„
16 ビット入力エッジのカウント・キャプチャ・モードまたはタイム・キャプチャ・モード
„
PWM 信号のソフトウェア・プログラマブル出力反転による 16 ビット PWM モード
„
タイマー割り込みのアサートから割り込み処理ルーチンの開始までの経過時間を判定する機能
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
タイマーごとに専用のチャネル
-
タイマー割り込み時に生成されるバースト要求
1.1.5.4 CCP ピン
CCP (Capture Compare PWM) ピンは、汎用タイマー・モジュールで使用され、CCP ピンを入力とする外部
イベントを計時 / カウントできます。また、汎用タイマー・モジュールは CCP ピン上の PWM 出力を生成する
ことができます。
LM3S9B96 マイクロコントローラは、次のモードで動作するようにプログラムできる 8 つの CCP (Capture
Compare PWM) ピンを備えています。
„
キャプチャ: GP タイマーは、CCP 入力に対し、設定されたイベントに応じてインクリメントまたはデクリメン
トします。設定されたイベントが発生すると、GP タイマーは現在の値をキャプチャし、保存します。
„
比較: GP タイマーは、CCP 入力に対し、設定されたイベントに応じてインクリメントまたはデクリメントしま
す。
GP タイマーは、現在の値を保存された値と比較し、一致した場合に割り込みを生成します。
„
PWM: GP タイマーは、システム・クロックに応じてインクリメント / デクリメントされます。カウンタの値とマ
ッチ・レジスタに格納された値が一致すると PWM 信号が生成され、CCP ピンに出力されます。
1.1.5.5 ウォッチドッグ・タイマー
ウォッチドッグ・タイマーは、ソフトウェア・エラーまたは外部デバイスが予期された方法で応答しないことによっ
てシステム障害が発生した場合に、制御を回復するために使用します。タイムアウト値に達すると、Stellaris®
ウォッチドッグ・タイマーは割り込みを生成するかまたはリセットを実行することができます。ウォッチドッグ・タイ
マーは ARM FiRM に準拠しており、初回のタイムアウト時に割り込みを生成し、2 回目のタイムアウトでリセ
ット信号を生成するように設定できます。ウォッチドッグ・タイマーが設定されるとロック・レジスタに書き込みを
行い、この設定が誤って変更されないようにすることができます。
LM3S9B96 マイクロコントローラには、タイマー・クロックにシステム・クロックを使用するウォッチドッグ・タイマ
ー 0 と、PIOSC を使用するウォッチドッグ・タイマー 1 の 2 つのウォッチドッグ・タイマー・モジュールがあり
ます。Stellaris® ウォッチドッグ・タイマー・モジュールの機能は次のとおりです。
„
プログラマブルなロード・レジスタを備える 32 ビット・ダウン・カウンタ
„
独立したクロックで動作するイネーブル/ディセーブル可能なウォッチドッグ
„
割り込みマスクによるプログラマブルな割り込み生成ロジック
„
ソフトウェアの暴走からロック・レジスタを保護
„
イネーブル / ディスエーブルによるリセット生成ロジック
„
デバッグ中にマイクロコントローラが CPU 停止フラグをアサートした場合にユーザーが開始するストール
1.1.5.6 プログラマブル GPIO
汎用入出力 (GPIO) ピンは、そのフレキシビリティによってさまざまな接続を可能とします。Stellaris® GPIO
モジュールは、9 個の GPIO ブロックで構成され、それぞれ個別の GPIO ポートに対応します。GPIO モジ
ュールは FiRM に準拠 (ARM Foundation IP for Real-Time Microcontrollers 仕様に準拠) しており、0 ~
65 個のプログラマブルな入出力ピンをサポートします。使用可能な GPIO の数は、使用する周辺装置によっ
て決まります (各 GPIO ピンに使用可能な信号については、「Signal Tables」を参照)。
„
構成により最大 65 個の GPIO
„
フレキシブルなピン・マルチプレクシングにより、GPIO としても複数のペリフェラル機能の 1 つとしても使
用可能
„
5 V トレラントの入出力
„
2 クロック・サイクルごとに変更可能な高速トグル
„
2 つのポート・アクセス手段: 連続アクセス・パフォーマンスを向上させるアドバンスト・ハイパフォーマン
ス・バス (AHB: Advanced High-Performance Bus)、または既存のコードとの下位互換性を保証する従
来のアドバンスト・ペリフェラル・バス (APB: Advanced Peripheral Bus)
„
プログラマブルな GPIO 割り込み制御
-
割り込み生成マスク
-
立ち上がり、立ち下がり、または両方のエッジ・トリガ
-
レベル・センシティブ (“High” または “Low” の値)
„
アドレス・ラインによる読み取り操作と書き込み操作の両方でのビット・マスク
„
ADC サンプル・シーケンスの開始に使用可能
„
デジタル入力として構成されたピンは Schmitt トリガ
„
GPIO パッド構成のプログラマブルな制御
-
弱いプルアップ抵抗またはプルダウン抵抗
-
デジタル通信用の 2 mA、4 mA、8 mA パッド・ドライブ、最大 4 つのパッドを大電流アプリケーショ
ン用の 18 mA パッド・ドライブで構成可能
-
8 mA ドライブ用のスルー・レート・コントロール
-
オープン・ドレイン・イネーブル
-
デジタル入力イネーブル
1.1.6
アドバンスト・モーション・コントロール
LM3S9B96 コントローラは、次のようなモーション・コントロール機能をデバイスに組み込んで提供します。
„
モーションおよびエネルギー・アプリケーション用の 8 本のアドバンスト PWM 出力
„
4 本の障害入力でシャットダウン待ち時間を短縮
„
2 本の直角位相エンコーダ入力 (QEI)
これらのモーション・コントロール機能についての詳細を以降の節で説明します。
1.1.6.1 PWM
パルス幅変調 (PWM) は、アナログ信号レベルをデジタルにエンコードするための強力な技術です。
高解像度カウンタを使用して矩形波を生成し、そのデューティ・サイクルを変調してアナログ信号をエンコードし
ます。標準的なアプリケーションとしては、スイッチング電源やモーター・コントロールがあります。LM3S9B96
PWM モジュールは 4 つの PWM ジェネレータ・ブロックと 1 つのコントロール・ブロックで構成されます。各
PWM ジェネレータ・ブロックには、1 つのタイマー (16 ビット・ダウンまたはアップ / ダウン・カウンタ)、2 つ
のコンパレータ、1 つの PWM 信号ジェネレータ、1 つのデッドバンド・ジェネレータ、1 つの割り込み / ADC
トリガ・セレクタが含まれます。
各 PWM ジェネレータ・ブロックは、2 つの PWM 信号を生成します。これらは、独立した信号とすることも、
デッドバンド遅延を導入した 1 組の相補信号とすることもできます。PWM ジェネレータ・ブロックの機能は次
のとおりです。
„
4 本の障害条件処理入力で、シャットダウン待ち時間を短縮し、制御するモーターの損傷を防止
„
1 つの 16 ビット・カウンタ
„
„
-
ダウン・モードまたはアップ / ダウン・モードで動作
-
16 ビット・ロード値によって出力周波数を制御
-
ロード値の同期更新可能
-
ゼロ値とロード値で出力信号を生成
2 つの PWM コンパレータ
-
コンパレータ値の同期更新可能
-
一致時に出力信号を生成
PWM 信号ジェネレータ
-
PWM 出力信号は、カウンタと PWM コンパレータ出力信号の結果として行われる処置に基づいて
構成
„
2 つの独立した PWM 信号を生成
デッドバンド・ジェネレータ
-
ハーフ H ブリッジの駆動に適したプログラマブル・デッドバンド遅延を伴う 2 つの PWM 信号を生
成
-
バイパス可能 (PWM 信号を変更しない)
„
ADC サンプル・シーケンス開始可能
„
コントロール・ブロックは、PWM 信号の極性と、どの信号がピンを介して渡されたかを判定します。PWM
ジェネレータ・ブロックの出力は、デバイスのピンに渡される前に出力コントロール・ブロックで管理されま
す。PWM コントロール・ブロックには次のオプションがあります。
„
各 PWM 信号に対する PWM 出力イネーブル
„
各 PWM 信号の出力反転 (極性制御)
„
各 PWM 信号の障害処理
„
PWM ジェネレータ・ブロックにおけるタイマーの同期
„
PWM ジェネレータ・ブロック全体のタイマー / コンパレータの同期更新
„
PWM ジェネレータ・ブロック全体の PWM 出力の同期イネーブル
„
PWM ジェネレータ・ブロックにおける割り込み状態のサマリー
„
複数の障害信号、プログラマブルな極性、フィルタリングによる、拡張された障害機能
„
PWM ジェネレータは、他のジェネレータと独立して動作させることも、同期させることも可能
1.1.6.2 QEI
直角位相エンコーダは 2 チャネル・インクリメンタル・エンコーダとも呼ばれ、直線変位をパルス信号に変換しま
す。パルス数と、 2 つの信号間の相対位相を監視することにより、位置、回転方向、速度を追跡できます。さ
らに、第 3 のチャネル、つまりインデックス信号を使用して、位置カウンタをリセットすることができます。インデ
ックスを備えた Stellaris® 直角位相エンコーダ (QEI) モジュールは、直角位相エンコーダ・ホイールで作成さ
れたコードを解釈し、時間の経過に伴う位置を積分して回転方向を判定します。また、エンコーダ・ホイールの
現在の推定速度をキャプチャすることもできます。QEI 入力の入力周波数は、プロセッサ周波数の 1/4 のレ
ベルです (たとえば、50 MHz のシステムでは 12.5 MHz)。
LM3S9B96 マイクロコントローラは、次の機能を持った 2 つの QEI モジュールを備え、2 つのモーターを同
時に制御することができます。
„
エンコーダの位置を追跡する位置積分器
„
入力用プログラマブル・ノイズ・フィルタ
„
内蔵タイマーによる速度のキャプチャ
„
QEI 入力の入力周波数は、プロセッサ周波数の 1/4 のレベル (たとえば、50 MHz のシステムでは
12.5 MHz)。
„
次のイベントに対する割り込み生成:
-
インデックス・パルス
-
速度タイマー満了
-
方向の変化
-
直角位相誤差検出
1.1.7
アナログ
LM3S9B96 コントローラは、次のようなアナログ機能をデバイスに組み込んで提供します。
„
16 本のアナログ入力チャネルと 100 万サンプル / 秒のサンプル・レートを持つ、2 つの 10 ビット A/D
コンバータ (ADC)
„
3 つのアナログ・コンパレータ
„
16 個のデジタル・コンパレータ
„
オンチップ電圧レギュレータ
これらのアナログ機能についての詳細を以降の節で説明します。
1.1.7.1 ADC
A/D コンバータ (ADC) は、連続的なアナログ電圧を離散的なデジタルの数値に変換する周辺装置です。
Stellaris® ADC モジュールは、10 ビットの変換分解能を備え、16 本の入力チャネルと内蔵温度センサをサ
ポートします。4 つのバッファ・サンプル・シーケンサによって、コントローラの介入なしに最大 8 本のアナログ
入力ソースを高速サンプリングすることができます。各サンプル・シーケンサは、設定可能な入力ソース、トリ
ガ・イベント、割り込み生成、シーケンサの優先順位を使用することによって、フレキシブルなプログラミングを
実現します。デジタル・コンパレータ機能の導入により、変換値は 16 個のデジタル・コンパレータを有する比
較ユニットに転送されます。
LM3S9B96 マイクロコントローラは、次の機能を持つ 2 つの ADC モジュールを備えています。
„
16 本のアナログ入力チャネル
„
シングルエンド差動入力構成
„
オンチップ内蔵温度センサ
„
最大サンプル・レート 100 万サンプル / 秒
„
プログラマブルなサンプル時間の位相シフト (22.5º ~ 337.5º)
„
対応する変換結果 FIFO を備えた、1 ~ 8 エントリ長の 4 つのプログラマブルなサンプル変換シーケ
ンサ
„
フレキシブルなトリガ・コントロール
-
コントローラ (ソフトウェア)
-
タイマー
-
アナログ・コンパレータ
-
PWM
-
GPIO
„
最大 64 サンプルのハードウェア平均による精度の向上
„
16 個のデジタル・コンパレータを有するデジタル比較ユニット
„
コンバータは 3 V の内部基準電圧または外部基準電圧を使用
„
„
アナログ回路の電源、グラウンドは、デジタル回路の電源、グラウンドから分離
„
マイクロ・ダイレクト・メモリー・アクセス・コントローラ (μDMA) を使用した効率的なデータ転送
-
サンプル・シーケンスごとの専用チャネル
-
ADC モジュールは DMA のバースト要求を使用
1.1.7.2 アナログ・コンパレータ
アナログ・コンパレータは、2 つのアナログ電圧を比較し、その結果を論理出力信号で出力する周辺装置です。
LM3S9B96 マイクロコントローラは、出力の駆動や、割り込みまたは ADC イベントの生成を行う 3 つの独
立した内蔵アナログ・コンパレータを備えています。
この内蔵アナログ・コンパレータは、基板上のアナログ・コンパレータの代わりに信号をデバイス・ピンに出力す
ることができます。また、割り込みや ADC へのトリガによって、ADC にサンプル・シーケンスのキャプチャを開
始させることもできます。割り込みの生成と ADC へのトリガは別々のロジックです。つまり、たとえば立ち上が
りエッジで割り込みを生成し、立ち下がりエッジで ADC をトリガすることができます。
LM3S9B96 マイクロコントローラは、次の機能を持つ 3 つの 独立した内蔵アナログ・コンパレータを備えて
います。
„
外部ピン入力を、外部ピン入力またはプログラマブル内部基準電圧と比較
„
試験電圧を次のいずれかの電圧と比較
-
個別外部基準電圧
-
共有外部基準電圧
-
共有内部基準電圧
1.1.8
JTAG および ARM シリアル・ワイヤ・デバッグ
JTAG (Joint Test Action Group) ポートは、デジタル集積回路のテスト・アクセス・ポート (TAP) とバウンダリ・
スキャン・アーキテクチャを定義した IEEE 標準に準拠しており、関連テスト・ロジックを制御する標準シリアル・
インターフェイスを提供します。TAP、命令レジスタ (IR: Instruction Register)、データ・レジスタ (DR: Data
Registers) を使用して、組み立てられたプリント基板上の相互接続をテストしたり、コンポーネントの製造情報
を取得したりすることができます。また、JTAG ポートによって、I/O ピンの監視と制御、スキャン・テスト、デバ
ッグなどのテスト設計機能にアクセスし、制御することもできます。テキサス・インスツルメンツでは、 ARM
SW-DP と JTAG-DP を ARM CoreSight™ に準拠した SWJ-DP (Serial Wire JTAG Debug Port) インター
フェイスで置き換えています。SWJ-DP インターフェイスは SWD と JTAG デバッグ・ポートを 1 つのモジュ
ールに統合し、コアを停止させたり、ターゲット常駐コードを要求したりすることなく、すべての標準的な JTAG
デバッグとテスト機能、およびシステム・メモリーへのリアルタイム・アクセスを提供します。SWJ-DP の詳細に
ついては、『CoreSight™ Design Kit Technical Reference Manual』を参照してください。SWJ-DP インターフ
ェイスの機能は次のとおりです。
„
IEEE 1149.1-1990 互換のテスト・アクセス・ポート (TAP: Test Access Port) コントローラ
„
JTAG 命令を格納する 4 ビット命令レジスタ (IR) チェーン
„
IEEE 標準命令: BYPASS、IDCODE、SAMPLE/PRELOAD、EXTEST、INTEST
„
ARM 追加命令: APACC、DPACC、ABORT
z
„
内蔵 ARM シリアル・ワイヤ・デバッグ (SWD)
-
シリアル・ワイヤ JTAG デバッグ・ポート (SWJ-DP)
-
ブレークポイントを実装するフラッシュ・パッチ・ブレークポイント (FPB: Flash Patch and Breakpoint)
ユニット
-
ウォッチポイント、トリガ・リソース、システム・プロファイルを実装するデータ・ウォッチポイント・トリガ
(DWT: Data Watchpoint and Trigger) ユニット
-
printf 型デバッグをサポートする計装トレース・マクロセル (ITM: Instrumentation Trace Macrocell)
-
トレース・ポート・アナライザにブリッジするトレース・ポート・インターフェイス・ユニット (TPIU: Trace
Port Interface Unit)
1.1.9
パッケージと温度
„
工業範囲 100 ピン RoHS 準拠の LQFP パッケージ
„
工業範囲 108 ボール RoHS 準拠 BGA パッケージ
1.2
ターゲット・アプリケーション
Stellaris® ファミリは、コントロール処理と接続機能が重要とされ、かつコストも重視される次のようなアプリケ
ーションをターゲットとしています。
„
遠隔監視システム
„
電子 POS 端末
„
検査・測定機器
„
ネットワーク・アプライアンスとスイッチ
„
ファクトリ・オートメーション
„
HVAC (換気空調設備) やビル管理
„
ゲーム機器
„
モーション・コントロール
„
医療機器
„
防火設備
„
電力とエネルギー
„
輸送機関
1.3
ハイレベル・ブロック図
図 1-1 に Stellaris® LM3S9B96 マイクロコントローラの機能を示します。コアを周辺装置に接続する オン
チップ・バスが 2 つあることに注意してください。アドバンスト・ペリフェラル・バス (APB) は従来のバスです。ア
ドバンスト・ハイパフォーマンス・バス (AHB) は、APB バスよりも高い連続アクセス・パフォーマンスを提供し
ます。
図 1-1. Stellaris® LM3S9B96 マイクロコントローラのハイレベル・ブロック図
1.4
その他の機能
1.4.1
メモリー・マップ
メモリー・マップには、メモリー内の命令とデータの場所が一覧表示されます。LM3S9B96 コントローラのメモリ
ー・マップは、84 ページの「Memory Map (メモリー・マップ)」に記載しています。レジスタのアドレスは、メモリ
ー・マップに示すモジュールのベース・アドレスを基準として 16 進数で表示しています。メモリー・マップの詳
細については、『ARM® Cortex™-M3 Technical Reference Manual』を参照してください。
1.4.2
ハードウェアの詳細
ピンとパッケージの詳細については、次の節を参照してください。
„
「Pin Diagram」
„
「Signal Tables」
„
「Operating Characteristics」
„
「Electrical Characteristics」
„
「Package Information」