2266449_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2266449_ja-JP

2266449_ja-JP

FLEXIO_SPIスレーブによる異常なデータ転送

私は、lpspi2 (マスター) + flexio_spi_0 (スレーブ) を使用して、MBDT の例 s32k3xx_spi_async_interr_s32ct を s32k396_bga_dc1 + MB で動作させようとしていますが、非常に奇妙な結果が得られます。

lpspi2 は外部バッファを使用した非同期モードに設定されています。DMA がありません。

flexio_spi_0 は、DMA を使用した非同期モードでの IB 使用用に構成されています。

S32 DS の例 Spi_Transfer_S32K396 と組み合わせて、デフォルトの K344 プロファイルの SPI 構成を模倣しようとしています。

lpspi2は正常に動作します。sout を sin にループすると、予想どおりまったく同じ値がループバックされます。

しかし、スレーブ モードの flexio_spi_0 は非常に不安定に動作し、ランダムにのみ更新されます。入力と出力の両方の動作が異常です。更新の間、突然更新されるまで同じ値を繰り返し続けます。そして、時々はうまく動作することもあります。動作に一貫したパターンが見当たらず、この種の動作の原因となるアイデアが思い浮かびません。

LPSPI2 のピン配置を修正し、バッファ サイズを一致するように調整すると、S32DS の例 Spi_Transfer_S32K396 でも同じ構成が正常に動作します。

I/O 完了時のコールバックは、どちらでも定期的に呼び出されます。しかし、flexio_spi_0 との間のデータは、1 バイトのみを定期的に転送して実行すると、正常に動作しません。

使用している mex ファイルを添付しました。

ボードの配線は

チャネルCLKDIdoCS
LPSPI2P23-15P23-13P27-8P23-9
フレキシオ_SPI_0P13-7P18-12P10-8P17-4

P23-15 <-> P13-7
P23-13 <-> P10-8
P27-8 <-> P18-12
P23-9 <-> P17-4

モデルの優先順位を調整して、スレーブ転送がマスター転送の前にトリガーされるようにすると、動作は多少改善されますが、信頼性は低くなります。

最終目標は、クロックされたシリアル デバイスから測定値を収集する、flexio_spi 上で自動的に定期的に繰り返されるマスター トランザクションを実行することです。各転送は 13 ビット未満なので、flexio ハードウェア モジュールによって提供されるもの以外のバッファーはまったく必要ありません。しかし、最初の目標は、データの流れを理解し、確実にすることです。


Tags (1)
No ratings
Version history
Last update:
‎12-20-2025 02:29 AM
Updated by: