2268533_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2268533_ja-JP

2268533_ja-JP

S32K3 SPIホストとスレーブ通信

SDK パッケージ内の Lpspi_Flexio_Ip_Transfer_S32K312 サンプル プログラムを実行すると、スレーブはマスターからデータを受信できますが、マスターはスレーブからデータを受信できないことがわかります。配線はマスターのCSとCKがスレーブのCSとCKに、SINがSINに、SOUTがSOUTにコネクテッドされています。同時に、作成された送信バッファ内のデータは、10 より大きい場合、デバッグ時に自動的に 6 ずつ増加し、10 は 16 に、20 は 32 になることもわかりました。これら2つの問題をどのように解決すればよいでしょうか?

自分で SPI コードを書くプログラムを作成したとき、2 つのデバイス間の通信を可能にするために、LPSPI0 をマスター、LPSPI1 をスレーブとして設定することを計画しました。同時に、LPSPI0 を SPI 外部デバイス 0 と通信するように設定し、LPSPI1 を SPI 外部デバイス 1 と通信するように設定したいと考えました。パラメータ設定とコードの記述を完了した後、2 つのデバイス間の通信を確立できないことがわかりました。ただし、マスターとスレーブの両方を SPI 外部デバイス 0 と通信するように構成し、それぞれの SIN ピンと SOUT ピンをループバックすると、自分でデータを送受信できるようになります。どうすればいいですか?

Re: S32K3 SPI host and slave communication

こんにちは@xuanming

提供された情報によると、接続が間違っているようです。SIN を SIN に、SOUT を SOUT に接続するとおっしゃっていますが、これは SPI 通信の正しい構成ではありません。正しくは次のようになります。

  • マスター出力 → スレーブ入力 (MOSI)
  • スレーブアウト → マスターイン (MISO)

サンプル コードを使用しているため、正しい接続は description.txt ファイルのセクション 2.1.2 に記載されています。接続が予想される設定と一致していることを確認するために、そのセクションを確認することをお勧めします。


BR、ヴェインB

Re: S32K3 SPI host and slave communication

返信が遅くなり申し訳ございません。ご提案いただいた方法を試してみましたが、問題は解決しません。デバッグモードに入っても、TxSlaveBufferの値はデフォルトで6ずつ増加し、ホストのRxMasterBufferは空のままです。

Re: S32K3 SPI host and slave communication

こんにちは@xuanming

あなたのコメントに少し混乱しました。TxSlaveBuffer の値は、元々定義された値から 6 増加するとおっしゃいました。この動作は、スレーブによって送信されたデータに対応するため、値が明示的に変更された場合にのみ発生します。以前共有されたコードに何か変更を加えたかどうか確認できますか?

さらに、RTD 2.0.0 バージョンはかなり古く、いくつかの問題がある可能性があります。バグ修正や改善が含まれているため、最新のソフトウェア リリースを使用することを強くお勧めします。新しいバージョンを使用してプロジェクトを作成してください。

次のスレッドでは同僚が例を提供しており、RTD には S32K344 に基づくサンプル プロジェクトも含まれており、非常に役立つ可能性があります。

S32K312 SPIの問題について

S32K31 SPI 複数パケット送受信の例:DMAキャッシュ問題の解決策

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎01-09-2026 02:24 AM
更新者: