インテルのみ表示可能 — GUID: iga1405555057171
Ixiasoft
インテルのみ表示可能 — GUID: iga1405555057171
Ixiasoft
5.2.4.1. マスターモードの動作
マスターモードでは、SPIポートは次の表に示すように動作します。
名称 | 方向 | 説明 |
---|---|---|
mosi | 出力 | スレーブへのデータ出力 |
miso | 入力 | スレーブからのデータ入力 |
sclk | 出力 | すべてのスレーブへの同期クロック |
ss_nM | 出力 | スレーブMへのスレーブ選択信号。Mは0から31までの番号です。 |
マスターモードでは、インテリジェント・ホスト (マイクロプロセッサーなど) がcontrolおよびslaveselectレジスターを使用してSPIコアをコンフィグレーションし、その後、txdataバッファーにデータを書き込みトランザクションを開始します。マスター・ペリフェラルは、statusレジスターを読み出すことにより、トランザクションのステータスを監視することができます。マスター・ペリフェラルでは、割り込みを有効にして、新しいデータを受信した (転送が完了した) 際や、新しいデータに対して送信バッファーの準備が整った際にホストに通知することができます。
SPIプロトコルは全二重です。よって、各トランザクションでは、データの送信と受信の両方を同時に行います。マスターは、新しいデータビットをmosi出力で送信します。スレーブは、新しいデータビットをsclkの各アクティブエッジにおいてmiso入力で駆動します。SPIコアは、クロック分周器を使用して Avalon® -MMシステムクロックを分周し、sclk信号を生成します。
SPIコアが複数のスレーブとインターフェイスするようにコンフィグレーションされている場合、コアは各スレーブに対して1つのss_n信号をもちます。転送時に、マスターはslaveselectレジスターで指定されているスレーブにss_nをアサートします。転送時はいずれも、データを送信しているスレーブを1つに限る必要があります。これに従わない場合は、miso入力で競合が生じます。スレーブデバイスの数は、システム生成時に指定します。