2358666_ja-JP

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

2358666_ja-JP

2358666_ja-JP

方法: NXP MBDTを使用してS32K396BMS-EVB上のMSDI MC33CD1030

導入


以下の記事では、評価ボードに搭載されているMC33CD1030 MSDI ICとSPI通信を行うための、S32K396BMS-EVBの基本的な構成とモデルを示します。


前提となるソフトウェア


以下のソフトウェアツールを使用して、アプリケーションを開発し、S32K396BMS-EVBボードに展開しました。


 

前提条件となるハードウェア


このアプリケーションは、以下のハードウェア向けに開発されています*:

  • S32K396BMS-EVB
  • デバッグプローブ(サンプルをデプロイし、FreeMASTERアプリケーションをボードに接続するために使用)
  • 12V電源

構成プロジェクト


この章では、MCUがスタンバイモードに入り、再び起動して実行モードに切り替えられるようにするために必要な最も重要な設定について説明します。詳細については、添付ファイルをダウンロードして設定プロジェクトを参照してください。


ピン構成

CD1030の場合、SPIピンのみを設定する必要があります。

  • LPSPI3 PCS1: PTF18 (出力)
  • LPSPI3クロック:PTF13(出力)
  • LPSPI3 SIN: PTF12 (入力)
  • LPSPI3 SOUT: PTF15 (出力)
SorinIBancila_0-1777471509980.png

図1。設定ピンタブ - LPSPIピン

 
ペリフェラルの構成

プラットフォームコンポーネント


LPSPi3では割り込みを設定する必要があります。設定するには、[プラットフォーム] -> [割り込みコントローラ] に移動し、以下のようにテーブルに新しいエントリを追加してください。

SorinIBancila_1-1777471606813.png

図2. 構成プラットフォームコンポーネント - LPSPI3割り込みを有効にする


MCUコンポーネント


周辺クロックを有効にする必要があり、これはMCUコンポーネント->McuModuleConfiguration->McuModeSettingsConfから行うことができます。

SorinIBancila_2-1777471646182.png

図3. MCUコンポーネントの設定 - LPSPI3周辺クロックを有効にする


SPIコンポーネント


MCUはLPSPI3を介してMC33CD1030と通信します。最初のステップは、Spi -> SpiGeneral -> SpiPhyUnit を設定することです。

SorinIBancila_3-1777471737967.png

図4.構成SPIコンポーネント - SpiPhyUnit(LPSPI3)


次に、Spi->SpiDriverを設定する必要があります。

重要!SPIメッセージのフレームサイズ:32ビット幅で、最上位ビット(MSB)である必要があります。

SorinIBancila_4-1777471790174.png

図5. 構成SPIコンポーネント - SpiChannel

 

SorinIBancila_5-1777471818464.png

図6。構成SPIコンポーネント - SpiExternalDevice


SorinIBancila_6-1777471857095.png

図7. 構成SPIコンポーネント - SpiJob

 

SorinIBancila_7-1777471913175.png

図8. 構成SPIコンポーネント - SpiSequence

 

モデル構成

MC33CD1030との通信に使用されるSimulinkモデルは、下の図に示されています。この記事に添付されているアーカイブにも含まれています。

モデルの初期化時に、AsyncMode が interrupt に設定されます。

SorinIBancila_1-1777472543316.png

図9. Simulinkモデル - 初期化サブシステム

 

アプリケーションは各ステップで以下のタスクを実行します。

  • LPSPI3 SpiChannel_CD1030 の外部バッファを設定します。ブロックへの入力は、4つのuint8要素(合計4バイト、32ビット)からなる配列でなければなりません。制御ワードは最後の要素であり、最初の3つの要素は設定ワードです。出力先のデータは、サイズが4のuint8型として構成されたデータストーリーメモリです。
  • MC33CD1030 ICにコマンドを送信し、CD1030_RecvData_SGデータストアに前回の結果を受信する。
  • 変数をインクリメントして、アプリケーションが実行されていることを確認します。
SorinIBancila_0-1777473333102.png

図10。Simulinkモデル - 全体概要

 

検証

アプリケーションを検証するために、FreeMASTERツールを使用してボードに接続し、スタンバイモードに入るためのシーケンスを開始します。ボードを接続するには、LPUART1(J6コネクタ)を使用し、ボーレートは115200に設定してください。

すべてが正しく設定されていれば、FreeMASTERの変数ウォッチに以下が表示されるはずです。

  • SPI_SetAsyncMode_Status、CD1030_SetupEB_Status、およびSPI_Transmit_Statusはすべて0である必要があります。
  • CD1030_RecvData_SG (BIN) および CD1030_RecvData_SG (HEX) は、CD1030 のレジスタ0x3E の内容を表示するはずです。スイッチ ステータス レジスタ SG を読み取ります
  • ステップカウンターは、各ステップの実行ごとにインクリメントされる必要があります。
SorinIBancila_1-1777473443463.png

図11。FreeMASTERプロジェクト - 可変時計


CD1030が正常に動作していることを確認するために、J10_6(SG0 - KEY_ON_DIN)をGNDまたはVCCに接続し、レジスタの最後のビットが変化することを確認します。

SorinIBancila_2-1777473882992.png

図12. FreeMASTERプロジェクト - J10_6はGNDに接続されています

SorinIBancila_3-1777473915113.png

図13。FreeMASTERプロジェクト - J10_6がVCCに接続されています

 

結論


この記事では、S32K396がSPIを介してMC33CD1030 ICと通信できるようにする基本的な実装について説明しました。詳細については、MC33CD1030のリファレンスマニュアルを参照してください。

サンプルモデル
タグ(1)
評価なし
バージョン履歴
最終更新日:
火曜日
更新者: