TI AM62x プロセッサーの SPI 通信の概要

シリアルペリフェラル インターフェイス (SPI)通信バスは、その高速、全二重、同期特性により広く使用されています。データ伝送に必要なラインは 4 つだけなので、チップのピン数を効果的に節約できると同時に、PCB レイアウトに空間の最適化と利便性ももたらします。そのシンプルさと使いやすさにより、SPI 通信プロトコルの統合を選択するチップが増えています。

TI AM62x プロセッサは、TI Sitara™ 製品ラインの新世代 MPU 製品で、最大 4 x SPI インターフェイスと 1 x OSPI インターフェイス (QSPI とも呼ばれます) を備えています。この豊富な SPI インターフェイス構成により、複数のデバイスとの同時通信が可能になり、システムの拡張性と柔軟性が大幅に向上します。

TI AM62x 開発ボード

www.forlinx.net

Forlinx Embedded が発売したOK6254-C 開発ボードには AM62x プロセッサが搭載されており、その NOR フラッシュ メモリはプロセッサとの OSPI バス接続を通じて動作し、その機能を実現します。

SPI のワークフローとタイミング

まず、SPI がどのように動作するかを確認する必要があります。通常、SPI は 4 つのピンを介して外部デバイスに接続されます。

  • MISO: マスター デバイス入力/スレーブ デバイス出力ピン
    このピンはスレーブ モードでデータを送信し、マスター モードでデータを受信します。
  • MOSI: マスター デバイス出力/スレーブ デバイス入力ピン
    このピンはマスター モードでデータを送信し、スレーブ モードでデータを受信します。
  • CLK: シリアル ポート クロック
    マスター デバイスの出力およびスレーブ デバイスの入力として。
  • NSS: スレーブデバイスから選択
    これはスレーブデバイスを選択するためのオプションのピンです。

SPI ワークフロー:

  • ホストはまず NSS 信号をプルダウンして、確実にデータの受信を開始します。
  • 受信側がクロックのエッジ信号を検出すると、すぐにデータライン上の信号を読み取り、ビットデータを取得します。
  • クロックはデータとともに送信されるため、デバイスの動作速度は最高速度になりますが、データの送信速度を指定することは重要ではありません。
  • マスターがスレーブに送信するとき、マスターは対応するクロック信号を生成し、データは MOSI 信号ラインから 1 つずつスレーブに送信されます。
  • ホストがスレーブからデータを受信し、スレーブにデータの返送を要求すると、ホストは所定のクロック信号を継続的に生成し、スレーブは MISO ラインを介してデータを送信します。

 

SPI の動作タイミング図を以下に示します。

TI AM62x プロセッサーの SPI 通信の概要

AM62x プロセッサの SPI バスの機能

TI は、SPI MISO および MOSI を AM62x チップの d0 および d1 として設計しました。デバイス ツリーの設定「ti,pindir-d0-out-d1-in=」によって、どちらが入力として設定され、どちらが出力として設定されるかが決まります。

デフォルトの属性値は 0 です。つまり、d0 が入力、d1 が出力です。
属性値が 1 の場合、d0 が出力、d1 が入力になります。

TI の AM62x の SPI アプリケーション

1. Menuconfig 設定:

この項目をチェックすると、SPI ドライバーがカーネルにコンパイルされます。

makemenuconfiDeviceDrivers ->SPIsupport ->Usermode SPI デバイス ドライバー サポート (注: SPI ドライバーのコンパイルは Folinx Embedded OK6254-C シングル ボード コンピューター内にあります。)

2. デバイスツリー構成:

(1) 使用する SPI を選択します。ここでは spi0 を使用し、ノードは & main _ spi0; です。

(2) このノードで使用されるピンを適切な機能に多重化します。

TI AM62x 開発ボード デバイス ツリー構成

(3) ノードの属性を記述します。特定の構成項目の機能については、メモを参照してください。

3. コンパイルして書き込みます。

ソース パスに次のコマンドを入力します。

TI AM62x 開発ボードのコンパイルと書き込み

エラーが報告されなければ、コンパイルは成功です。

イメージ内の OK6254-C.dtb ファイルをソース パスの下にある開発ボードの /boot ディレクトリに置き、ボードを再起動します。

4.SPIテスト:

spi0_D0とspi0_D1の短絡

開発ボードを再起動すると、/dev ディレクトリにさらに 2 つの spidev デバイスが表示されます。

弊社のテストプログラムを使用してください

TI AM62x 開発ボード SPI テスト

次の印刷情報は成功を示します。

spimode: 0
bitsper word: 8
maxspeed: 42000 Hz (42 KHz)
FFFF FF FF FF FF
4000 00 00 00 95
FFFF FF FF FF FF
FFFF FF FF FF FF
FFFF FF FF FF FF
DEAD BE EF BA AD
F00D

まとめ:

TI AM62x プロセッサは、豊富な SPI リソースを提供し、多数のデバイスの多用途バスとして機能し、幅広い周辺機器へのアクセスを容易にします。したがって、堅牢な SPI 機能を必要とするアプリケーションにとって、TI AM62x はマスター制御の優れた選択肢として際立っています。

元は www.forlinx.net で公開されています。

www.forlinx.net