(パワーマネージメントユニット)
11.8 機能説明
11.8.1 Texas Instruments 同期シリアルフレーム形式
Figure 33は、SPIモジュールがサポートしている、4線式Texas Instruments 同期シリア ルフレーム形式を示しています。
このモードでデバイスがマスタとして設定されている場合、CLKとFSは強制的にLOWに 設定され、送信データラインDXは、SSPがアイドル状態になると常に3ステートモード に設定されます。送信FIFO の最下位エントリにデータが格納されると、1CLK周期の間、
FSがHIGHになります。また、送信する値も送信FIFOから送信ロジックのシリアルシフ トレジスタに転送されます。 CLKの次の立ち上がりエッジで、4〜16ビットデータフレー ムのMSBがDXピンにシフトアウトされます。同様に、受信データのMSBが、オフチッ プシリアルスレーブデバイスによってDRピンにシフトアウトされます。
その後、SSPとオフチップシリアルスレーブデバイスの両方が、各CLKの立ち下がりエッ ジでそれぞれのシリアルシフタにデータビットをクロッキングします。受信データは、
LSB がラッチされた後、CLK の最初の立ち上がりエッジでシリアルシフタから受信 FIFO に転送されます。
a. Single frame transfer
b. Continuous/back-to-back frames transfer
Fig 33. Texas Instruments Synchronous Serial Frame Format: a) Single and b) Continuous/back-to-back Two Frames Transfer
CLK FS DX/DR
4 to 16 bits
MSB LSB
CLK FS
DX/DR MSB LSB MSB LSB
4 to 16 bits 4 to 16 bits
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A 11.8.2.1 クロック極性(CPOL)とクロック位相(CPHA)の制御
CPOLクロック極性制御ビットがLOWの場合は、SCKピンの値がLOW(定常状態)にな ります。 CPOL クロック極性制御ビットがHIGH の場合は、データ転送時を除き、CLK ピ ンの値がHIGH(定常状態)に設定されます。
CPHA制御ビットは、データをキャプチャするクロックエッジを選択して、その定常状態 を変更させます。この変更は、先頭ビット(最初のデータキャプチャエッジの前のクロッ ク遷移を許可した場合に送信される先頭ビット、または許可しない場合に送信される先頭 ビット)に最も大きく影響します。 CPHA位相制御ビットがLOWの場合は、最初のクロッ クエッジ遷移でデータがキャプチャされます。 CPHAクロック位相制御ビットがHIGH の 場合は、2番目のクロックエッジ遷移でデータがキャプチャされます。
11.8.2.2 SPI形式(CPOL=0、CPHA=0の場合)
Figure 34は、CPOL = 0、CPHA = 0とした場合のSPI形式について、シングル転送および 連続転送の信号シーケンスを示しています。
この構成では、アイドル周期中は以下のようになります。
•
CLK信号が強制的にLOWに設定されます。•
SSELが強制的にHIGHに設定されます。•
MOSI/MISO送信パッドがハイインピーダンス状態になります。a. Single transfer with CPOL=0 and CPHA=0
b. Continuous transfer with CPOL=0 and CPHA=0
Fig 34. SPI frame format with CPOL=0 and CPHA=0 (a) Single and b) Continuous Transfer)
SCK SSEL
MOSI MSB LSB
Q
MSB LSB
4 to 16 bits MISO
SCK SSEL
MOSI MISO
4 to 16 bits 4 to 16 bits
MSB LSB
MSB LSB
Q
MSB LSB MSB LSB Q
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A
SPI/SSPがイネーブルになっており、送信FIFO内に有効なデータが存在している場合は、
SSELマスタ信号をLOWにすることによって送信の開始が通知されます。これにより、マ スタのMISO入力ライン上でスレーブデータがイネーブルになります。マスタのMOSIも イネーブルになります。
1/2SCK周期後、有効なマスタデータがMOSIピンに転送されます。以上でマスタデータと
スレーブデータの両方が設定され、さらに 1/2SCK 周期後、SCK マスタクロックピンが HIGHになります。
データは SCK 信号の立ち上がりエッジでキャプチャされ、立ち下がりエッジで伝搬され ます。
シングルワード転送の場合、データワードの全ビットの転送が完了し、最終ビットがキャ プチャされてから1SCK周期後に、SSELラインがHIGH(アイドル状態)に戻ります。
ただし、連続転送の場合は、各データワード転送の合間に、SSEL 信号をHIGH にパルス する必要があります。その理由は、スレーブ選択ピンがそのシリアルペリフェラルレジス タにデータをフリーズして、CPHAビットが論理0の場合には変更を認めないからです。
したがって、シリアルペリフェラルデータの書き込みをイネーブルにするために、マスタ デバイスは、各データ転送の合間にスレーブデバイスのSSELピンをHIGHにする必要が あります。連続転送が完了すると、最終ビットがキャプチャされてから 1SCK 周期後に、
SSELピンはアイドル状態に戻ります。
11.8.2.3 SPI形式(CPOL=0、CPHA=1の場合)
Figure 35は、CPOL = 0、CPHA = 1とした場合のSPI形式について、転送信号シーケンス を示しています。この図は、シングル転送と連続転送の両方に該当します。
この構成では、アイドル周期中は以下のようになります。
•
CLK信号が強制的にLOWに設定されます。•
SSELが強制的にHIGHに設定されます。Fig 35. SPI frame format with CPOL=0 and CPHA=1
SCK SSEL
MOSI
Q 4 to 16 bits
MISO Q MSB
MSB LSB
LSB
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A
SPI/SSPがイネーブルになっており、送信FIFO内に有効なデータが存在している場合は、
SSELマスタ信号をLOWにすることによって送信の開始が通知されます。マスタのMOSI ピンもイネーブルになります。さらに1/2SCK周期後、妥当なマスタデータとスレーブデー タがそれぞれの転送ラインでイネーブルになります。同時に、立ち上がりエッジの遷移に 伴いSCKがイネーブルになります。
データは SCK 信号の立ち下がりエッジでキャプチャされ、立ち上がりエッジで伝搬され ます。
シングルワード転送の場合、全ビットの転送が完了し、最終ビットがキャプチャされてか ら1SCK周期後に、SSELラインがHIGH(アイドル状態)に戻ります。
連続転送の場合は、連続するデータワード転送の合間にSSELピンがLOW にホールドさ れ、シングルワード転送と同様に終了します。
11.8.2.4 SPI形式(CPOL = 1、CPHA = 0の場合)
Figure 36は、CPOL=1、CPHA=0とした場合のSPI形式について、シングル転送および連 続転送の信号シーケンスを示しています。
この構成では、アイドル周期中は以下のようになります。
•
CLK信号が強制的にHIGHに設定されます。•
SSELが強制的にHIGHに設定されます。•
MOSI/MISO送信パッドがハイインピーダンス状態になります。a. Single transfer with CPOL=1 and CPHA=0
b. Continuous transfer with CPOL=1 and CPHA=0
Fig 36. SPI frame format with CPOL = 1 and CPHA = 0 (a) Single and b) Continuous Transfer)
SCK
SSEL
Q
MSB LSB
4 to 16 bits MISO
MOSI MSB LSB
SCK SSEL
MOSI MISO
4 to 16 bits 4 to 16 bits
MSB LSB
MSB LSB
Q
MSB LSB MSB LSB Q
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A
SPI/SSPがイネーブルになっており、送信FIFO内に有効なデータが存在している場合は、
SSELマスタ信号をLOWにすることによって送信の開始が通知されます。これにより、ス レーブデータがただちにマスタのMISOラインに転送されます。マスタのMOSIピンもイ ネーブルになります。
1/2周期後、有効なマスタデータがMOSIラインに転送されます。以上でマスタデータと スレーブデータの両方が設定され、さらに 1/2SCK 周期後、SCK マスタクロックピンが LOWになります。つまり、データはSCK 信号の立ち下がりエッジでキャプチャされ、立 ち上がりエッジで伝搬されます。
シングルワード転送の場合、データワードの全ビットの転送が完了し、最終ビットがキャ プチャされてから1SCK周期後に、SSELラインがHIGH(アイドル状態)に戻ります。
ただし、連続転送の場合は、各データワード転送の合間に、SSEL 信号をHIGH にパルス する必要があります。その理由は、スレーブ選択ピンがそのシリアルペリフェラルレジス タにデータをフリーズして、CPHAビットが論理0の場合には変更を認めないからです。
したがって、シリアルペリフェラルデータの書き込みをイネーブルにするために、マスタ デバイスは、各データ転送の合間にスレーブデバイスのSSELピンをHIGHにする必要が あります。連続転送が完了すると、最終ビットがキャプチャされてから 1SCK 周期後に、
SSELピンはアイドル状態に戻ります。
11.8.2.5 SPI形式(CPOL = 1、CPHA = 1の場合)
Figure 37は、CPOL = 1、CPHA = 1とした場合のSPI形式について、転送信号シーケンス を示しています。この図は、シングル転送と連続転送の両方に該当します。
この構成では、アイドル周期中は以下のようになります。
•
CLK信号が強制的にHIGHに設定されます。•
SSELが強制的にHIGHに設定されます。•
MOSI/MISO送信パッドがハイインピーダンス状態になります。Fig 37. SPI Frame Format with CPOL = 1 and CPHA = 1
SCK SSEL
MOSI
Q 4 to 16 bits
MISO Q MSB
MSB LSB
LSB
FT D RAF FT DR
AFT DRA
FT D FT D
RA FT D
RA FT D
RA FT DR
A シングルワード転送の場合、全ビットの転送が完了し、最終ビットがキャプチャされてか ら 1SCK 周期後に、SSEL ラインが HIGH(アイドル状態)に戻ります。連続転送の場合、
SSELピンは、最後のワードの最終ビットがキャプチャされるまでLOW(アクティブ状態)
に留まり、その後、前述のアイドル状態に戻ります。通常、連続転送の場合は、連続する データワード転送の合間にSSELピンがLOW にホールドされ、シングルワード転送と同 様に終了します。