UBRR 4 UBRR 3 UBRR 2 UBRR 1UBRR7UBRR6UBRR5
19. USARTでのSPI動作
19.6. USARTでのMSPIMとSPIの比較
USARTでのMSPI動作は次に関してSPIと完全な互換性があります。
● 主装置動作タイミング図
● クロック極性選択(UCPOLn)ビットはSPIのSCK極性選択(CPOL)ビットと機能的に同じです。
● クロック位相選択(UCPHAn)ビットはSPIのSCK位相選択(CPHA)ビットと機能的に同じです。
● データ順選択(UDORDn)ビットはSPIのデータ順選択(DORD)ビットと機能的に同じです。
けれどもUSARTでのMSPI動作がUSART資源を再使用するため、USARTでのMSPI動作はSPIと比較して多少異なります。加えて制 御レジスタ ビットの差異、主装置動作だけがUSARTでのMSPI動作によって支援されること、2つの部間で異なる次の特質があります。
● USARTでのMSPI動作は送信部の(2重)緩衝部を含みます。SPIは緩衝部を持ちません。
● USARTのMSPI動作での受信部は追加の緩衝段を含みます。
● SPIの上書き(WCOL)ビットはUSARTでのMSPI動作に含まれません。
● SPIの倍速許可(SPI2X)ビットは含まれません。しかし、対応するボーレート レジスタ(UBRRn)設定によって同じ効果が達せられます。
● 割り込みタイミングに互換性はありません。
● USARTでのMSPI動作が主装置動作だけのため、ピン制御が異なります。
USARTのMSPI動作とSPIでのピンは右表で示されます。 表19-3. USARTでのMSPIMとSPIのピン比較
SPI 備考
USART MSPIM
MOSI 主装置出力のみ TXDn
MISO 主装置入力のみ RXDn
SCK (機能的に同一) XCKn
SS USARTでのMSPIMで未支援 該当なし
19.7. MSPIMでのUSART用レジスタ
以下の節はUSARTを使用するSPI操作で使用されるレジスタを記述します。
19.7.1. UDRn - USART MSPIMデータ レジスタ (USART I/O Data Register)
MSPIMでのUSARTデータ レジスタ(UDRn)の機能と説明は通常のUSART操作と同一です。136頁の「UDRn - USARTデータ レジスタ」をご 覧ください。
19.7.2. UCSRnA - USART MSPIM制御/状態レジスタA (USART Control and Status Register A)
RXCn TXCn UDREn - - - -
-7 6 5 4 3 2 1 0
ビット
UCSRnA ($C8)
R R
R R
R R
R/W R
0 1
0 0
0 1
0 0
Read/Write 初期値
● ビット7 - RXCn : USART受信完了フラグ (USART Receive Complete)
このフラグは受信緩衝部に未読データがある時に設定(1)され、受信緩衝部が空の(換言すると、どんな未読データも含まない)時に解除 (0)されます。受信部が禁止されると、受信緩衝部が破棄され、その結果RXCnフラグは0になります。RXCnフラグは受信完了割り込みを 発生するのに使用できます(USART制御/状態レジスタB(UCSRnB)の受信完了割り込み許可(RXCIEn)ビットをご覧ください)。
● ビット6 - TXCn : USART送信完了フラグ (USART Transmit Complete)
このフラグは送信シフト レジスタ内の完全なフレームがシフト出力されてしまい、送信緩衝部(UDRn)に新規データが現存しない時に設定(1)さ れます。TXCnフラグは送信完了割り込みが実行されるとき、自動的に解除(0)されるか、またはこのビット位置に1を書くことによって解除 (0)できます。TXCnフラグは送信完了割り込みを発生できます(UCSRnBの送信完了割り込み許可(TXCIEn)ビットをご覧ください)。
● ビット5 - UDREn : USART送信データ レジスタ空きフラグ (USART Data Register Empty)
UDREnフラグは送信緩衝部(UDRn)が新規データを受け取る準備ができているかどうかを示します。UDREnが1ならば緩衝部は空で、
従って書かれる準備ができています。UDREnフラグは送信緩衝部空き割り込みを発生できます(UCSRnBの送信データ レジスタ空き割り 込み許可(UDRIEn)ビットをご覧ください)。 送信部が準備できているのを示すため、リセット後のUDREnは設定(1)です。
● ビット4~0 - Res : 予約 (Reserved Bits in MSPI mode)
MSPI動作時、これらのビットは将来の使用に予約されています。将来のデバイスとの共通性のため、これらのビットはUCSRnAが書かれ るとき、0が書かれなければなりません。
19.7.3. UCSRnB - USART MSPIM制御/状態レジスタB (USART Control nad Status Register B) RXCIEn TXCIEn UDRIEn RXENn TXENn - -
-7 6 5 4 3 2 1 0
ビット
UCSRnB ($C9)
R R
R R/W
R/W R/W
R/W R/W
0 1
1 0
0 0
0 0
Read/Write 初期値
● ビット7 - RXCIEn : 受信完了割り込み許可 (Receive Complete Interrupt Enable)
このビットへの1書き込みはUSART制御/状態レジスタA(UCSRnA)の受信完了(RXCn)フラグでの割り込みを許可します。USART受信完 了割り込みはRXCIEnビットが1を書かれ、ステータス レジスタ(SREG)で全割り込み許可(I)ビットが1を書かれ、UCSRnAでRXCnフラグが設定 (1)される場合にだけ生成されます。
● ビット6 - TXCIEn : 送信完了割り込み許可 (Transmit Complete Interrupt Enable)
このビットへの1書き込みはUSART制御/状態レジスタA(UCSRnA)の送信完了(TXCn)フラグでの割り込みを許可します。USART送信完 了割り込みはTXCIEnビットが1を書かれ、SREGで全割り込み許可(I)ビットが1を書かれ、UCSRnAでTXCnフラグが設定(1)される場合に だけ生成されます。
● ビット5 - UDRIEn : 送信データ レジスタ空き割り込み許可 (Transmit Data Register Empty Interrupt Enable)
このビットへの1書き込みはUSART制御/状態レジスタA(UCSRnA)の送信データ レジスタ空き(UDREn)フラグでの割り込みを許可します。
USART送信データ レジスタ空き割り込みはUDRIEnビットが1を書かれ、SREGで全割り込み許可(I)ビットが1を書かれ、UCSRnAでUDREnフ ラグが設定(1)される場合にだけ生成されます。
ビット4 - RXENn : 受信許可 (Receiver Enable)
● ビット2~0 - Res : 予約 (Reserved Bits in MSPI mode)
MSPI動作時、これらのビットは将来の使用に予約されています。将来のデバイスとの共通性のため、これらのビットはUCSRnBが書かれ るとき、0が書かれなければなりません。
19.7.4. UCSRnC - USART MSPIM制御/状態レジスタC (USART Control nad Status Register C) UMSELn1 UMSELn0 - - - UDORDn UCPHAn UCPOLn
7 6 5 4 3 2 1 0
ビット
UCSRnC ($CA)
R/W R/W
R/W R
R R
R/W R/W
0 1
1 0
0 0
0 0
Read/Write 初期値
● ビット7,6 - UMSELn1,0 : USART動作選択 (USART Mode Select)
このビットは表で示されるようにUSART動作種別を選びます。通常USART操作の 完全な記述については、137頁の「UCSRnC - USART制御/状態レジスタC」をご覧 ください。主装置SPI動作(MSPIM)は両UMSELnビットが1に設定される時に許可さ れます。データ順選択(UDORDn)、クロック位相選択(UCPHAn)、クロック極性選択(UC POLn)はMSPIMが許可されるのと同じ書き込み操作で設定できます。
表19-4. USART動作選択
UMSELn0 動作種別 UMSELn1
0 非同期動作
0 1 同期動作
0 (予約)
1 1 主装置SPI (MSPIM)
● ビット5~3 - Res : 予約 (Reserved Bits in MSPI mode)
MSPI動作時、これらのビットは将来の使用に予約されています。将来のデバイスとの共通性のため、これらのビットはUCSRnCが書かれ るとき、0が書かれなければなりません。
● ビット2 - UDORDn : データ順選択 (Data Order)
UDORDnビットが1を書かれるとデータ語のLSBが最初に転送されます。UDORDnビットが0を書かれるとMSBが最初に転送されます。詳 細については141頁の「フレーム形式」節をご覧ください。
● ビット1 - UCPHAn : クロック位相選択 (Clock Phase)
このクロック位相選択(UCPHAn)ビットの設定はデータがXCKnの先行(先)端または後行(後)端で採取/(設定)されるかを決めます。詳細に ついては140頁の「データ転送形式」節をご覧ください。
● ビット0 - UCPOLn : クロック極性選択 (Clock Polarity)
クロック極性選択(UCPOLn)ビットはXCKnクロックの極性を設定します。UCPOLnとクロック位相選択(UCPHAn)ビットの組み合わせがデータ転 送のタイミングを決めます。詳細については140頁の「データ転送形式」節をご覧ください。
19.7.5. UBRRnH, UBRRnL (UBRRn) - USART MSPIMボーレート レジスタ (USART Baud Rate Register)
MSPIMでのボーレート レジスタ(UBRRn)の機能と説明は通常のUSART操作と同一です。139頁の「UBRRnH,UBRRnL - USARTボーレート レ ジスタ」をご覧ください。