QSPI Communication for Infineon AURIX TC3x Microcontrollers 入門
この例では、Embedded Coder® Support Package for Infineon® AURIX™ TC3x Microcontrollers の QSPI Controller ブロックと QSPI Peripheral ブロックを使用して、割り込みを介してデータを処理する方法を示します。
この例では、QSPI Controller ブロック、QSPI Peripheral ブロック、および割り込みを使用して 5 ビットのデータを送受信する方法について説明します。
前提条件
次の例を完了します。
必要なハードウェア
Infineon AURIX TC375 Lite Kit
マイクロ USB ケーブル
ハードウェアの接続
次の図に示すように、GPIO ピンを Infineon AURIX TC375 Lite Kit ハードウェア ボードの mikroBUS ピンに接続します。

利用可能なモデル
この例には事前構成済みの QSPI_TC375LK_example.slx モデルが含まれています。

この例では、QSPI Controller ブロックの送信割り込みと QSPI Peripheral ブロックの受信側割り込みを、それぞれ Tx FIFO 割り込みと Rx FIFO 割り込みにマッピングします。

QSPI Controller Transmit
1. QSPI Controller ブロックは、データを送信するたびに |QSPI_TC375LK_example/TX_ISR サブシステムをトリガーします。

2. この例では、QSPI Controller ブロックの [TX FIFO mode] パラメーターが Batch move に設定されています。このモードでは、充填レベルがプログラムされたしきい値を下回るたびに割り込みがトリガーされます。[TX FIFO threshold] パラメーターを 1 に設定すると、システムは送信 FIFO バッファーからデータを送信するたびに割り込みを生成します。

QSPI Peripheral Receive
1. "QSPI Peripheral Rx" サブシステムは、QSPI_TC375LK_example.slx RX_ISR サブシステムをトリガーして受信データを処理します。QSPI Peripheral Receive ブロックで指定された出力データ長が、送信されたデータに必ず一致するようにします。

2. この例では、QSPI Peripheral ブロックの [RxFifo mode] パラメーターが Batch move に設定されています。このモードでは、充填レベルがプログラムされたしきい値を超過するたびに割り込みがトリガーされます。[RxFifo mode threshold] パラメーターを 1 に設定すると、システムは受信 FIFO バッファーがデータを受信するたびに割り込みを生成します。

モデルの監視と調整
1. QSPI_TC375LK_example.slx モデルを開きます。
2. Simulink® モデルで、"Ctrl+E" を押すか、[モデル化]、[モデル設定] をクリックして、[コンフィギュレーション パラメーター] ウィンドウを開きます。[ハードウェア実行]、[Target hardware resources]、[Connectivity] に移動します。エクスターナル モードの場合は、[Connectivity interface] を Serial(ASCLIN0) に設定します。
3. [コンフィギュレーション パラメーター] ウィンドウで、[Serial port in MATLAB preferences] を選択します。ご使用のコンピューターで利用可能な "COM ポート" の一覧を確認するには、[スタート]、[コントロール パネル]、[デバイス マネージャー]、[ポート (COM と LPT)] を選択します。

4. [ハードウェア] タブで [監視と調整] をクリックしてモデルをシミュレーション用に構成します。この時点で、モデルは Infineon AURIX TC375 Lite Kit で動作し、Simulink と通信しているため、パラメーターの監視や調整を行うことができます。
5. QSPI Peripheral Rx サブシステムの Display ブロックで受信データを観察します。
その他の試行
パッケージ クラスとピン配置オプションを変更して、さまざまな Infineon AURIX TC3x マイクロコントローラーで例を実行し、結果を解析します。