• 検索結果がありません。

レジスタの説明

ドキュメント内 LPC111x UM Rev0015 Japanese (ページ 178-185)

(パワーマネージメントユニット)

11.7 レジスタの説明

SPIコントローラのレジスタアドレスについては、Table 162およびTable 163を参照して ください。

注意: SPIコントローラがSSPのフル機能を備えていることを示すために、レジスタ名に はSSPという接頭辞が付いています。

Table 162. Register overview: SPI0 (base address 0x4004 0000)

Name Access Address

offset

Description Reset

Value[1]

SSP0CR0 R/W 0x000 制御レジスタ0。シリアルクロックレート、バスのタイプ、データサイズ

を選択します。

0

SSP0CR1 R/W 0x004 制御レジスタ1。マスタ/スレーブおよびその他のモードを選択します。 0

SSP0DR R/W 0x008 データレジスタ。送信FIFOが満杯になるまで書き込み、受信FIFOが空

になるまで読み出します。

0

SSP0SR RO 0x00C ステータスレジスタ 0 x 0 0 0 0

0003

SSP0CPSR R/W 0x010 クロックプリスケールレジスタ 0

SSP0IMSC R/W 0x014 割り込みマスクセット/クリアレジスタ 0

SSP0RIS RO 0x018 原割り込みステータスレジスタ 0 x 0 0 0 0

0008

SSP0MIS RO 0x01C マスク割り込みステータスレジスタ 0

SSP0ICR WO 0x020 SSPICR割り込みクリアレジスタ NA

[1] 「リセット値」は使用ビットに格納されているデータのみを示しています。予約ビットの内容は含まれていません。

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

11.7.1 SPI/SSP 制御レジスタ 0

このレジスタは、SPI/SSPコントローラの基本動作を制御します Table 163. Register overview: SPI1 (base address 0x4005 8000)

Name Access Address

offset

Description Reset

Value[1]

SSP1CR0 R/W 0x000 制御レジスタ0。シリアルクロックレート、バスのタイプ、データサイズ

を選択します。

0

SSP1CR1 R/W 0x004 制御レジスタ1。マスタ/スレーブおよびその他のモードを選択します。 0

SSP1DR R/W 0x008 データレジスタ。送信FIFOが満杯になるまで書き込み、受信FIFOが空

になるまで読み出します。

0

SSP1SR RO 0x00C ステータスレジスタ 0 x 0 0 0 0

0003

SSP1CPSR R/W 0x010 クロックプリスケールレジスタ 0

SSP1IMSC R/W 0x014 割り込みマスクセット/クリアレジスタ 0

SSP1RIS RO 0x018 原割り込みステータスレジスタ 0 x 0 0 0 0

0008

SSP1MIS RO 0x01C マスク割り込みステータスレジスタ 0

SSP1ICR WO 0x020 SSPICR割り込みクリアレジスタ NA

[1] 「リセット値」は使用ビットに格納されているデータのみを示しています。予約ビットの内容は含まれていません。

Table 164: SPI/SSP Control Register 0 (SSP0CR0 - address 0x4004 0000, SSP1CR0 - address 0x4005 8000) bit description

Bit Symbol Value Description Reset

Value 3:0 DSS データサイズ選択。このフィールドは各フレームの転送ビッ

ト数を制御します。値0000-0010 は未サポートのため、使用 しないでください。

0000

0011 4ビット転送 0100 5ビット転送 0101 6ビット転送 0110 7ビット転送 0111 8ビット転送 1000 9ビット転送 1001 10ビット転送 1010 11ビット転送 1011 12ビット転送 1100 13ビット転送 1101 14ビット転送 1110 15ビット転送

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

11.7.2 SPI/SSP0 制御レジスタ 1

このレジスタは、SPI/SSPコントローラの特定の動作を制御します。

5:4 FRF フレーム形式 00

00 SPI

01 TI

10 Microwire

11 この組み合せは未サポートのため、使用しないでください。

6 CPOL クロック出力極性。このビットはSPIモードでのみ使用されま す。

0 0 SPI コントローラはフレーム間のバスクロックをローに維持

します。

1 SPI コントローラはフレーム間のバスクロックをハイに維持 します。

7 CPHA クロック出力位相。このビットはSPIモードでのみ使用されま す。

0 0 SPI コントローラはフレームの最初のクロック遷移でシリア

ルデータをキャプチャします(クロックラインのフレーム間 状態からの遷移)

1 SPIコントローラはフレームの2番目のクロック遷移でシリア ルデータをキャプチャします(クロックラインのフレーム間 状態への遷移)

15:8 SCR シリアルクロックレート。バス上のビット当たりのプリス ケーラ出力クロック数から1を引いた値。 CPSDVSRをプリス ケール分周器、APBクロック(PCLK)をプリスケーラにクロッ クを供給するクロックと仮定した場合、ビット周波数は式 PCLK / (CPSDVSR × [SCR+1])で算出されます。

0x00

31:16 - - 予約済み

-Table 164: SPI/SSP Control Register 0 (SSP0CR0 - address 0x4004 0000, SSP1CR0 - address 0x4005 8000) bit description

Bit Symbol Value Description Reset

Value

Table 165: SPI/SSP Control Register 1 (SSP0CR1 - address 0x4004 0004, SSP1CR1 - address 0x4005 8004) bit description

Bit Symbol Value Description Reset

Value

0 LBM ループバックモード 0

0 通常動作時

1 シリアル入力は、シリアル入力ピン(MISO またはMOSI) からではなく、シリアル出力(MOSIまたはMISO)から取 得されます。

1 SSE SPIイネーブル 0

0 SPIコントローラはディスエーブル。

1 SPI コントローラはシリアルバス上で他のデバイスと通信 します。ソフトウェアでは、このビットを設定する前に、

他のSPI/SSPレジスタおよび割り込みコントローラレジス

タに適切な制御情報を書き込む必要があります。

FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

11.7.3 SPI/SSP データレジスタ

ソフトウェアを使用して、このレジスタに送信するデータを書き込んだり、受信済みの データを読み取ることができます。

2 MS マスタ/スレーブモード。このビットはSSEビットが0の 場合にのみ書き込むことができます。

0 0 SPIコントローラはバス上でマスタとして動作して、SCLK、

MOSI、SSELの各ラインを駆動し、MISOラインを受信しま す。

1 SPI コントローラはバス上でスレーブとして動作して、

MISOラインを駆動し、SCLK、MOSI、SSELの各ラインを受 信します。

3 SOD スレーブ出力ディスエーブル。このビットはスレーブモー ド(MS = 1)の場合にのみ関係します。 1の場合は、SPIコ ントローラによる送信データライン(MISO)の駆動がブ ロックされます。

0

31:4 - 予約済み。ユーザーソフトウェアによって予約ビットに 1 を書き込まないでください。予約ビットから読み取った値 は未定義です。

NA Table 165: SPI/SSP Control Register 1 (SSP0CR1 - address 0x4004 0004, SSP1CR1 - address

0x4005 8004) bit description

Bit Symbol Value Description Reset

Value

Table 166: SPI/SSP Data Register (SSP0DR - address 0x4004 0008, SSP1DR - address 0x4005 8008) bit description

Bit Symbol Description Reset Value

15:0 DATA 書き込み:ステータスレジスタのTNFビットが1の場合(Tx FIFO が満杯ではない場合)は、ソフトウェアによって随時、以降の フレームで送信するデータをこのレジスタに書き込むことがで きます。 Tx FIFO がすでに空で、SPI コントローラがバス上でビ ジーではない場合は、ただちにデータ送信が開始されます。それ 以外の場合は、以前からのデータがすべて送信(および受信)さ れるとただちに、このレジスタに書き込んだデータが送信され ます。データ長が16ビット未満の場合は、このレジスタに右詰 めでデータを書き込む必要があります。

読み取り:ステータスレジスタのRNEビットが1の場合(Rx FIFO が空ではない場合)は、ソフトウェアによって随時、このレジ スタからデータを読み取ることができます。ソフトウェアに よってこのレジスタが読み取られると、SPI コントローラは Rx FIFO内の最も古いフレームのデータを返します。データ長が16 ビット未満の場合、このフィールドのデータは右詰めになり、上 位ビットには0が書き込まれます。

0x0000

31:16 - 予約済み

-FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

11.7.5 SPI/SSP クロックプリスケールレジスタ

このレジスタは、プリスケーラがプリスケーラクロックを得るためにSPIペリフェラルク

ロックSPI_PCLKを分周する際の係数を制御します。このプリスケーラクロックは、ビッ

トクロックを決定するために、さらにSSPCR0レジスタのSCR係数によって分周されます。

重要: SSPnCPSR値は適切に初期化してください。初期化が不適切な場合、SPIコントロー ラは正確にデータを伝送できません。

スレーブモードの場合、マスタが供給するSPIクロックレートはSection 3.4.15で選択さ れたSPIペリフェラルクロックの1/12以下でなければなりません。 SSPnCPSRレジスタの 値は関係しません。

マスタモードの場合、CPSDVSRmin= 2以上(偶数のみ)。

11.7.6 SPI/SSP 割り込みマスクセット / クリアレジスタ

このレジスタは、SPIコントローラの4つの割り込み条件それぞれについてイネーブルに するかどうかを制御します。留意点として、ARMの場合、「マスクされている」という用 語は従来のコンピュータ用語とは逆の意味で使用されています(従来のコンピュータ用語 では、「マスクされている」とは「ディスエーブルであること」を意味します)。 ARM で は、「イネーブルであること」を示す場合に「マスクされている」と表現します。混乱を 避けるために、ここでは「マスクされている」という用語を使用しないことにします。

Table 167: SPI/SSP Status Register (SSP0SR - address 0x4004 000C, SSP1SR - address 0x4005 800C) bit description

Bit Symbol Description Reset Value

0 TFE 送信FIFOが空。送信FIFOが空の場合、このビットは1(空でな い場合は0)。

1 1 TNF 送信 FIFOが満杯ではない。 Tx FIFOが満杯の場合、このビット

は0(満杯でない場合は1)。

1 2 RNE 受信FIFOが空ではない。受信FIFOが空の場合、このビットは0

(空でない場合は1)。

0 3 RFF 受信FIFOが満杯。受信FIFOが満杯の場合、このビットは1(満

杯でない場合は0)。

0 4 BSY ビジー。 SPIコントローラがアイドル状態の場合、このビットは

0。フレームを送信/受信中か、Tx FIFOが空でない場合は1。 0 31:5 - 予約済み。ユーザーソフトウェアによって予約ビットに1を書

き込まないでください。予約ビットから読み取った値は未定義 です。

NA

Table 168: SPI/SSP Clock Prescale Register (SSP0CPSR - address 0x4004 0010, SSP1CPSR - address 0x4005 8010) bit description

Bit Symbol Description Reset Value

7:0 CPSDVSR 2〜254の偶数値。この値によってSPI_PCLKを分周して、プ リスケーラ出力クロックを得ます。ビット0は常に0と読み取 られます。

0

31:8 - 予約済み

-FT D RAF FT DR

AFT DRA

FT D FT D

RA FT D

RA FT D

RA FT DR

A

11.7.7 SPI/SSP 原割り込みステータスレジスタ

この読み取り専用レジスタでは、SSPIMSC レジスタでイネーブルになっているか否かに かかわらず、アサートされた割り込み条件に対して1が設定されます。

Table 169: SPI/SSP Interrupt Mask Set/Clear register (SSP0IMSC - address 0x4004 0014, SSP1IMSC - address 0x4005 8014) bit description

Bit Symbol Description Reset

Value

0 RORIM 受信オーバーランが発生した場合(Rx FIFO が満杯でさらにフレーム

を完全に受信した場合)に割り込みをイネーブルにするには、ソフト ウェアによってこのビットを設定する必要があります。 ARM の仕様 では、これが発生した場合、前回のフレームデータが新しいフレーム データによって上書きされます。

0

1 RTIM 受信タイムアウト条件が発生した場合に割り込みをイネーブルにす るには、ソフトウェアによってこのビットを設定する必要がありま す。受信タイムアウトはRx FIFOが空ではなく、「タイムアウト時間」

中に読み取りがなかった場合に発生します。タイムアウト時間はマ スタモードとスレーブモードで同一で、SSPビットレートによって決 定されます。 PCLK / (CPSDVSR×[SCR+1]) のとき、32ビットです。

0

2 RXIM Rx FIFO が半分以上満杯になった場合に割り込みをイネーブルにする

には、ソフトウェアによってこのビットを設定する必要があります。

0

3 TXIM Tx FIFO が半分以上空になった場合に割り込みをイネーブルにするに

は、ソフトウェアによってこのビットを設定する必要があります。

0 31:4 - 予約済み。ユーザーソフトウェアによって予約ビットに1を書き込ま

ないでください。予約ビットから読み取った値は未定義です。

NA

Table 170: SPI/SSP Raw Interrupt Status register (SSP0RIS - address 0x4004 0018, SSP1RIS - address 0x4005 8018) bit description

Bit Symbol Description Reset Value

0 RORRIS Rx FIFOが満杯時にさらにフレームを完全に受信した場合、こ

のビットは1 に設定されます。 ARMの仕様では、これが発生 した場合、前回のフレームデータが新しいフレームデータに よって上書きされます。

0

1 RTRIS Rx FIFOが空ではなく、「タイムアウト時間」中に読み取りがな

かった場合、このビットは1に設定されます。タイムアウト時 間はマスタモードとスレーブモードで同一で、SSPビットレー トによって決定されます。 PCLK / (CPSDVSR×[SCR+1]) のとき、

32ビットです。

0

2 RXRIS Rx FIFOが半分以上満杯の場合、このビットは1に設定されま

す。

0

3 TXRIS Tx FIFOが半分以上空の場合、このビットは1に設定されます。1

31:4 - 予約済み。ユーザーソフトウェアによって予約ビットに 1 を 書き込まないでください。予約ビットから読み取った値は未

NA

ドキュメント内 LPC111x UM Rev0015 Japanese (ページ 178-185)