2412882_ja-JP

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

2412882_ja-JP

2412882_ja-JP

s32k388のマスタースレーブモードの使用に関する相談

6953956c0a213afc6de89697c3d0e88f.png6953956c0a213afc6de89697c3d0e88f.png6953956c0a213afc6de89697c3d0e88f.png

ここで必要な要件は、2つのS32k388がSPI通信を使用して相互に通信することです。どちらかが主人にも奴隷にもなれるのでしょうか?例えば、チップAをホストとして使用する場合、IOMUXテーブルのI項目はMISOのホスト入力を表します。チップAをスレーブとして使用する場合、このOという項はMISOのスレーブ出力を表していますか?現在のプロジェクトで使用しているピンは固定されています。例えば、SOUT: PTA18+ GPIO_ALT_FUNC_4は MOSI で使用され、SIN: PTA20+239+ GPIO_ALT_FUNC_4は MISO で使用されます。これは、現在使用しているホストモードに基づいています。ピンを変えなくてもスレーブモードに切り替えても正常に動作しますか?CFGR0のHRDIRとCFGR1のMASTERを変更するだけでスレーブモードに切り替えるだけで十分でしょうか?


Re: Consultation on using the master-slave mode of s32k388

こんにちは、 @xlele さん

マスターモードとスレーブモードを切り替えるのにハードウェアの変更は必要ありません。

標準的な2チップSPI構成では、ピンは常に2つのデバイス間でクロスコッキングされています。

  • チップA SOUT → チップB SIN (MOSIライン)

  • チップA SIN ← チップB SOUT(味噌ライン)

SOUTピンは常にシリアルデータ出力であり、SINピンは常にシリアルデータ入力です。これは、デバイスがマスターとして動作しているかスレーブとして動作しているかに関係なく適用されます。そのため、チップAがスレーブモードに切り替わっても、SIN(PTA20)は新しいマスターから正しくデータを受信し、SOUT(PTA18)も正しくデータをドライブします。配線のやり直しは必要ありません。

登録変更について:

  • CFGR1[MASTER] = 0 — これはモジュールをスレーブモードに切り替えるためのキービットです。

  • CFGR0[HRDIR] — このビットは、PCS[1]と多重化されているHREQ(ホスト要求)ピンの方向を制御します。SOUT/SINデータラインには影響しません。スレーブモードでは、HRDIRを1(出力)に設定し、スレーブがHREQピンを駆動してデータ送信準備ができていることをマスターに伝えます。S32K388には専用の外部LPSPI_HREQピンがないことに注意してください。ホスト要求機能はLPSPI_PCS[1]マルチプレクサ(CFGR0[HREN]で有効化)を使用します。ホストリクエスト機能(CFGR0[HREN] = 0)を使っていない場合、HRDIRはユースケースには関係なく、CFGR1[MASTER]だけで十分です。

よろしくお願いいたします。

パベル

タグ(1)
評価なし
バージョン履歴
最終更新日:
土曜日
更新者: