2021/05/28(金)LPC55xx : Flexcomm Interface serial communication
参照: NXP LPC55S1x PDS R1.5, 7.24.3節、
LPC55S2x PDS R2.0, 7.23.3節 *1
適用: NXP EdgeVerse LPC MCUs:
LPC55S16, LPC5516
LPC55S14, LPC5514
LPC5512
LPC55S28, LPC5528
LPC55S26, LPC5526
適用デバイス
本記事は、LPC551x/S1xのデータシートを元に作成しています。また、本節の範囲においてはLPC552x/S2xのデータシートとは仕様の細部が異なるだけであることから、LPC551x/S1xのそれとの差分のみを提供します。LPC55S2xのLPC55S1xとの違い
I2Sのチャネルペアの個数の違い
- LPC55S1x/LPC551xデバイスは、Flexcomm Interface 0~5はそれぞれ1チャネルペアのI2Sを提供し、Flexcomm Interface 6~7はそれぞれ4チャネルペアのI2Sを提供します。
- LPC55S2x/LPC552xデバイスは、Flexcomm Interface 0~7はそれぞれ1チャネルペアのI2Sを提供します。
Flexcomm Interface serial communication
各Flexcomm Interfaceには、ペリフェラル機能の選択肢がありますが、そのうちの一つをユーザーが選択しなければ、その機能を設定して使用することはできません。Features
- 非同期、同期マスタ、または同期スレーブ動作のUSART
- 最大4つのスレーブセレクトが可能なSPIマスタ、またはSPIスレーブ
- I2C(マスタ、スレーブ、モニタの各機能を含む)
- Flexcomm Interface 0~5はそれぞれ1チャネルペアのI2Sを提供し、Flexcomm Interface 6~7はそれぞれ4チャネルペアのI2Sを提供します。
- USART、SPI、I2Sのトラフィックデータは、Flexcomm FIFOを使用します。I2C機能はFIFOを使用しません。
SPI serial I/O (SPIO) controller
Features
- SPIマスタモード(送受信)で50Mbit/s、SPIスレーブ受信モードで25Mbit/s、SPIスレーブ送信モードで50Mbit/sまでのビットレートに対応します。
- マスタまたはスレーブ動作
- 4~16ビットのデータフレームを直接サポート。より大きなフレームはソフトウェアでサポート。
- SPI機能では、それぞれ8エントリの独立した送信および受信FIFOのサポートがあります。
- DMA転送に対応 : SPInの送受信機能はシステムのDMAコントローラと連動しています。
- 到着するデータを読み出すことなく、スレーブにデータを送信することができます。この機能はSPIメモリの設定時に役立ちます。
- 最大4つのスレーブセレクト入出力は、極性を選択でき、使い方も自由自在です。
I2C-bus interface
(割愛)USART
Features
- Maximum bitrates of 6.25Mbit/s in asynchronous mode and 10Mbit/s in synchronous mode for USART functions.
- 7, 8, or 9 data bits and 1 or 2 stop bits.
- マスタまたはスレーブで動作する同期モード。連続クロックオプション付き。
- ソフトウェアアドレス比較によるマルチプロセッサ/マルチドロップ(9ビット)モード
- RS-485トランシーバの出力イネーブル制御
- ボーレートを自動検出するAutobaudモード
- Parity generation and checking: odd, even, or none.
- ソフトウェアで選択可能なオーバーサンプリング : 5~16クロック(非同期モード)
- 1つの送信データバッファと1つの受信データバッファ
- 自動フロー制御のためのハードウェア信号にRTS/CTSを採用。ソフトウェアによるフロー制御は、Delta CTS検出、Transmit Disable制御、および任意のGPIOをRTS出力として使用して行うことができます。
- Received data and status can optionally be read from a single register
- ブレークの生成と検出
- 受信データは3つのサンプルのうちの2つの「投票」です。1つのサンプルが異なる場合、ステータスフラグが設定されます。
- Autobaud機能付きのボーレート生成器を内蔵
- FRD(フラクショナル・レート・ディバイダ)は、すべてのUSARTで共有されます。
- Receiver Ready、Transmitter Ready、Receiver Idle、受信ブレーク検出の変化、フレーミングエラー、パリティエラー、Overrun、Underrun、Delta CTS検出、受信サンプルノイズ検出のための割り込みが利用可能。
- ループバックモードでは、データおよびフローコントロールのテストが可能です。
- 同期式スレーブモードでは、ディープスリープおよびディープスリープ2モードからの復帰が可能です。
- 特別な動作モードでは、32.768kHzのRTC発振器をUARTクロックとして使用し、最大9600ボーでの動作が可能です。このモードはデバイスがディープスリープ状態にあるときに使用でき、文字を受信したときにデバイスを復帰させることができます。
- USARTの送受信機能は、システムのDMAコントローラと連動しています。
- USART機能は、それぞれ16エントリの独立した送信および受信FIFOのサポートがあります。
I2S-bus interface
I2Sバスは、デジタルオーディオやデータ収集などのストリーミングデータ転送アプリケーション向けの標準的な通信インターフェースを提供します。I2Sバスの仕様は1つのデータ、1つのクロック、1つのワードセレクト/フレームトリガ信号を持つ3線式シリアルバスを定義しており、シングルまたはデュアル(モノラルまたはステレオ)のオーディオデータ転送を(他の構成に加えて)提供します。Flexcomm Interface 0~5にはそれぞれ1つのI2Sチャネルペアが、Flexcomm Interface 6~7にはそれぞれ4つのI2Sチャネルペアが実装されています。1つのFlexcomm Interface内のI2Sインターフェースは、1つのマスタまたはスレーブとして構成可能なチャネルペアを提供します。残りのチャネルペアは、存在する場合、常にスレーブとして動作します。1つのFlexcomm Interface内の全てのチャネルペアは、1組のI2S信号を共有し、同じモード、同じフレーム構成を使用して、送信または受信のいずれかの動作のために一緒に構成されます。このようなチャネルペアはすべて、時分割多重化(TDM)に携わることができます。MCLKの入力や出力が必要な場合は、I2Sブロックの外でシステムレベルのクロックスキームで処理されます。
Features
- Flexcomm Interfaceは、1つ以上のI2Sチャネルペアを実装し、最初のチャネルペアはマスタまたはスレーブ、残りのチャネルペアはスレーブとなります。すべてのチャネルペアは、送信または受信のいずれか、およびその他の共有属性について一緒に設定されます。
- 1つのFlexcomm Interface内の全チャネルのデータサイズは、4ビットから32ビットまで設定可能です。各チャネルペアは独立して1つのチャネルとして動作するように設定することもできます(ステレオ動作ではなくモノラル動作)。
- 1つのFlexcomm Interface内のすべてのチャネルペアは、シングルビットクロック(SCK)、ワードセレクト/フレームトリガ(WS)、データライン(SDA)を共有します。
- 1つのFlexcomm Interface内のすべてのI2Sトラフィックのデータは、Flexcomm FIFOを使用します。FIFOの深さは8エントリです。
- 左詰め、右詰めのデータモード
- FIFOのレベルトリガを使用したDMAに対応
- 複数のステレオやモノラルスロットを持つTDMをサポート。各チャネルペアは任意のデータスロットとして振る舞います。複数のチャネルペアが1本のTDMデータラインの異なるスロットとして参加できます。
- 選択によってビットクロックとWSを反転させることができます。
- 対応するサンプリング周波数は、デバイスの構成やアプリケーションの制約(システムクロックの周波数やPLLの有無など)によって異なりますが、一般的には標準的なオーディオデータレートに対応しています。
High-speed SPI serial I/O controller
Features
- マスタまたはスレーブ動作
- SPIマスタモード(送受信)で50Mbit/s、スレーブモード(送受信)で50Mbit/sまでのビットレートに対応します。
- 4~16ビットのデータフレームを直接サポート。より大きなフレームはソフトウェアでサポート。
- SPI機能では、それぞれ8エントリの独立した送信および受信FIFOのサポートがあります。
- DMA転送に対応 : SPInの送受信機能はシステムのDMAコントローラと連動しています。
- 到着するデータを読み出すことなく、スレーブにデータを送信することができます。この機能はSPIメモリの設定時に役立ちます。
- 最大4つのスレーブセレクト入出力は、極性を選択でき、使い方も自由自在です。