MSP430G2553 - ポートピン
概要
MSP430G2553では、ポート1とポート2の2つのポートがあり、合計16本のGPIOを持つ。
- P1.0からP1.7までの8本のピンがポート1
- P2.0からP2.7までの8本のピンがポート2
各ポートピンは入力、出力、特殊機能のいずれかに設定できる。
特殊機能には、タイマ、UART、SPI、I2C等がある。
各ポートには、それぞれ3つの8ビットレジスタがある。
- PxDIR
- 各ピンの入出力方向を設定
- PxIN
- 各ピンの入力値を読み取り
- PxOUT
- 各ピンの出力値を設定
また、割り込み機能をサポートしており、各ポートにはそれぞれ割り込み用のレジスタがある。
- P1IE
- P2IE
- 割り込みを有効化
- P1IES
- P2IES
- 割り込みエッジ選択
- P1IFG
- P2IFG
- 割り込みフラグ
プルアップ / プルダウン抵抗を内蔵しており、各ポートのPxRENレジスタで有効化することができる。
ポートマッピング機能により、一部の特殊機能を異なるポートピンに割り当てることができる。
この概要から、MSP430G2553のポートピンは柔軟で多機能であり、様々なアプリケーションに適している。
各レジスタを適切に設定することにより、目的に合わせて各ポートピンを構成することができる。
4つの動作モード
MSP430マイコンでは、各ポートピンには複数の機能を割り当てることができる。
これらの機能は、ピンの動作モードと呼ばれている。
ピンの動作モードを選択するために、PxSELとPxSEL2の2つのレジスタが使用されている。
各ポートピンには、以下に示す4つの動作モードがある。
- I/O機能 (デジタル入出力)
- プライマリ・ペリフェラル機能
- セカンダリ・ペリフェラル機能
- ターシャリ・ペリフェラル機能
PxSELとPxSEL2の組み合わせにより、これらの動作モードが選択される。
- I/O機能 (デジタル入出力)
- PxSEL = 0, PxSEL2 = 0
- プライマリ・ペリフェラル機能
- PxSEL = 1, PxSEL2 = 0
- セカンダリ・ペリフェラル機能
- PxSEL = 0, PxSEL2 = 1
- ターシャリ・ペリフェラル機能
- PxSEL = 1, PxSEL2 = 1
I2C通信の場合、使用するピン (例: P1.6とP1.7) をターシャリ・ペリフェラル機能に設定する必要がある。
以下の例では、P1SELとP1SEL2の両方に同じ値 (BIT6 + BIT7) を設定している。
P1SEL |= BIT6 + BIT7;
P1SEL2 |= BIT6 + BIT7;
この設定により、P1.6とP1.7がI2C通信のSCLとSDAピンとして機能するようになる。
したがって、P1SELとP1SEL2に同じ値を設定することにより、ピンの動作モードをターシャリ・ペリフェラル機能に設定し、てI2C通信に必要なピン機能を有効にしている。
各ペリフェラル機能
プライマリ・ペリフェラル機能、セカンダリ・ペリフェラル機能、ターシャリ・ペリフェラル機能は、MSP430マイコンのピンに割り当てられた複数の機能を表している。
これらの機能は、ピンの動作モードと呼ばれ、PxSELとPxSEL2レジスタを使用して選択される。
これらの機能を使い分けることで、限られたピン数で多様な機能を実現することができる。
ピンの動作モードを適切に設定することにより、目的のペリフェラル機能を有効にして、マイコンを効率的に活用することができる。
ただし、全てのピンが全ての機能を持っているわけではないため、マイコンのデータシートを参照して、各ピンに割り当てられている機能を確認する必要がある。
また、同じピンに複数の機能を同時に割り当てることはできないため、使用する機能に応じてピンの設定を適切に行う必要がある。
プライマリ・ペリフェラル機能
ピンに割り当てられた最も一般的なペリフェラル機能である。
例えば、UARTの送受信ピン (TXD、RXD)、SPI通信のピン (SCLK、MOSI、MISO) 等がプライマリ・ペリフェラル機能に該当する。
PxSEL = 1, PxSEL2 = 0
の設定で有効になる。
セカンダリ・ペリフェラル機能
プライマリ・ペリフェラル機能の代替機能である。
同じピンに複数のペリフェラル機能を割り当てる場合に使用される。
例えば、タイマ出力、PWM出力、比較器の入力等がセカンダリ・ペリフェラル機能に該当する。
PxSEL = 0, PxSEL2 = 1
の設定で有効になる。
ターシャリ・ペリフェラル機能
プライマリおよびセカンダリ・ペリフェラル機能とは異なる第3の機能である。
一部のピンでのみ使用可能で、特定の用途に特化した機能である。
例えば、I2C通信のSCLとSDAピン、アナログ入力のピン等がターシャリ・ペリフェラル機能に該当する。
PxSEL = 1, PxSEL2 = 1
の設定で有効になる。