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

*1 : この記事は筆者が私的利用のために製品データシートを抜粋、翻訳したものです。いかなる問題に対しても責任は負いません。

適用デバイス

本記事は、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つのスレーブセレクト入出力は、極性を選択でき、使い方も自由自在です。