📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

94行目: 94行目:
また、USIPE5ビットはSPI等と共用している場合があるため、セットしてもよい。<br>
また、USIPE5ビットはSPI等と共用している場合があるため、セットしてもよい。<br>
<br>
<br>
==== SPI接続 ====
==== SPI接続 ====
MSP430F2013のUSIモジュールをSPIモードで使用する場合、以下のピンを使用する。<br>
MSP430F2013のUSIモジュールをSPIモードで使用する場合、以下のピンを使用する。<br>
106行目: 105行目:
<br>
<br>
USIモジュールのピン機能を有効化するには、USICTL0レジスタでUSIPE7、USIPE6、USIPE5ビットをセットする。<br>
USIモジュールのピン機能を有効化するには、USICTL0レジスタでUSIPE7、USIPE6、USIPE5ビットをセットする。<br>
<br><br>
== USI (Universal Serial Interface) ==
MSP430F2013のUSI (Universal Serial Interface) をSPIマスタとして使用する。<br>
<br>
==== SPIモード ====
SPIには4種類の動作モードが存在しており、以下に示す2つのパラメータで定義される。<br>
<br>
* CPOL (Clock POLarity)
*: クロックのアイドル状態
* CPHA (Clock PHAse)
*: データのサンプリングタイミング
<br>
<center>
{| class="wikitable"
! SPI Mode !! CPOL !! CPHA !! クロック待機状態 !! データ取得エッジ
|-
| Mode 0 || 0 || 0 || Low || 立上り
|-
| Mode 1 || 0 || 1 || Low || 立下り
|-
| Mode 2 || 1 || 0 || High || 立下り
|-
| Mode 3 || 1 || 1 || High || 立上り
|}
</center>
<br>
==== USICKPH / USICKPL と SPIモードの対応 ====
MSP430F2013のUSIでは、SPIモードは以下に示す2ビットで決定される。<br>
<br>
<center>
{| class="wikitable"
! USIビット !! 意味
|-
| USICKPL || クロック極性 (CPOL)
|-
| USICKPH || クロック位相 (CPHA)
|}
</center>
<br>
<center>
{| class="wikitable"
|+ 対応表
! SPI Mode !! USICKPL !! USICKPH
|-
| Mode 0 || 0 || 0
|-
| Mode 1 || 0 || 1
|-
| Mode 2 || 1 || 0
|-
| Mode 3 || 1 || 1
|}
</center>
<br>
==== USIOE (USI Output Enable) ====
USIOE (USI Output Enable)は、USIがピンを出力として駆動するかどうかを制御するビットである。<br>
<br>
SPIマスタ動作時では、以下に示す信号をMSP430F2013側が生成する必要がある。<br>
このため、SPIマスタでは <code>USIOE = 1</code> が必須となる。<br>
* SCLK (クロック)
*: 出力
* MOSI
*: 出力
* MISO
*: 入力
<br>
仮に、<code>USIOE = 0</code> の場合、以下に示すようにSPI通信は成立しない。<br>
* SCLKが出力されない。
* MOSIがハイインピーダンス (Hi-Z) となる。
<br>
==== MOSI / MISOが方向切替されない理由 ====
SPI通信はフルデュプレックス通信であり、データ線の方向は固定である。<br>
<br>
USIが内部的に入出力方向を固定管理するため、P1DIRレジスタを直接操作する必要はない。<br>
これは、1本の双方向データ線を使うI2C通信との大きな違いである。<br>
<br>
<center>
{| class="wikitable"
! 信号 !! 方向
|-
| MOSI || マスター --> スレーブ
|-
| MISO || スレーブ --> マスター
|}
</center>
<br><br>
<br><br>