GPIO IC シリーズ
GPIO エキスパンダ IC
BU8272GUW
●概要 GPIO エキスパンダは、IO ポート拡張 IC です。 IO ポートが不足がちなアプリケーションに非常に有効となります。例えば、①I2C の書き込み動作により GPIO 端子の出力 の状態を制御,②I2 C の読み込み動作により GPIO 端子の入力状態を知る、ことができます。 さらに、GPIO の端子状態の変化があった場合に割り込み信号を出力する機能があり、常時監視の必要はなく CPU 負荷を あたえることはありません。その他、パワーオンリセット内蔵・3V トレラント入力・NMOS オープンドレイン出力などの 機能を備えています。 ●特長1) 400Kbps, 2-Wire serial interface 2) Interrupt output
3) 20-bit General purpose input/output interface 8bit・12bit を別電源で使用可能
●絶対最大定格
※1 入力電圧範囲は+0.5V を含め絶対最大定格を超えないこと。
また、入力電圧は Core 電源(VDD)≦IO 電源(VDDI2C、VDDIO1、VDDIO2)で使用すること
※2 Ta=25℃以上で使用する場合は、1℃につき 3.1mW を減じます。 耐放射線設計はしておりません。 ●推奨動作範囲 特に指定のない限り Ta=-25℃~+85℃ 項 目 記 号 定 格 単 位 備 考 電源電圧 VDD -0.3 ~ +2.5 V - VDDI2C -0.3 ~ +3.5 V - VDDIO -0.3 ~ +3.5 V - 入力電圧 VI -0.3 ~ VDD +0.5 ※1 V CMOS Core -0.3 ~ VDDI2C +0.5 ※1
V CMOS I/O for 2-Wire
-0.3 ~ VDDIO +0.5 ※1 V CMOS I/O
保存温度範囲 Tstg -55 ~ +125 ℃ -
許容損失 PD 310 ※2
mW -
項目 記号 最小 標準 最大 単位 条件
電源電圧範囲(VDD) VVDD 1.65 1.80 1.95 V Core
電源電圧範囲(VDDI2C) VVDDI2C 1.65 - 3.45 V 2-Wire,INT,ADR, XRST 電源電圧範囲(VDDIO1) VVDDIO1 1.65 - 3.45 V GPIO[7:0] 電源電圧範囲(VDDIO2) VVDDIO2 1.65 - 3.45 V GPIO[19:8]
2-Wire 動作周波数 FI2C - - 400 KHz Slave
No.09098JAT01
Not
Recommended
for
New
Designs
●電気的特性
特に指定のない限り VDD=1.8V,VDDIO=3.0V,VDDI2C=3.0V,Ta=25℃
項目 記号 上下限 単位 備考
Min. Typ. Max.
Input H Voltage VIH 0.75xVDDIO - - V -
Input L Voltage VIL - - 0.25xVDDIO V -
Input H Current IIH 0 - 3 A -
Input L Current IIL -3 - 0 A -
Output H Voltage VOH VDDIO-0.2 - - V IOH=-1.0mA Output L Voltage VOL - - 0.2 V IOL=1.0mA SCL クロック周波数 fSCL - - 400 KHz
バスフリータイム tBUF 1.3 - - s
(反復)START 条件
Setup Time tSU:STA 0.6 - - s (反復)START 条件
Hold Time tHD:STA 0.6 - - s SCL Low Time tLOW 1.3 - - s SCL High Time tHIGH 0.6 - - s Data Setup Time tSU:DAT 100 - - ns Data Hold Time tHD:DAT 0 - - ns STOP 条件 Setup Time tSU:STO 0.6 - - s Interrupt Valid tIV - - 0.1 s Interrupt Reset tIR - - 1.0 s Output Data Valid tDV - - 0.8 s Input Data Setup Time tDS 100 - - ns Input Data Hold Time tDH 0 - - s Standby Current ISTBY - - 3.0 A
Not
Recommended
for
New
Designs
● 外形寸法図(VBGA035W040) 図 1 外形寸法図
Not
Recommended
for
New
Designs
●端子配置図 図 2 端子配置図(Bottom View)
F
E
D
C
B
A
1
2
3
4
5
6
VDDI2C
GPIO18
GPIO16
GPIO14
GPIO13
VDDIO2
GPIO12
GPIO19
GPIO17
GPIO15
VDD
ADR
SDA
GND
GND
GPIO11
GPIO10
GPIO8
XRST
GND
GND
GPIO9
INT
GPIO2
GPIO4
GPIO6
GPIO7
VDD
GPIO0
GPIO1
GPIO3
VDDIO1
SCL
GND
GPIO5
Not
Recommended
for
New
Designs
●ブロック図 図 3 ブロック図 Input Filter I2C Bus Control Shift Register GPIO [19:8] INT_MASK Interrupt Logic Reset 8bit 12bit 8bit 12bit
Functional Block Diagram
INT SCL SDA VDD Write Pulse Read Pulse GPIO [7:0] VDDIO1 VDDIO2 IN/OUT Control XRST GPIO[7:0] GPIO[19:8] VDDI2C ADR
Not
Recommended
for
New
Designs
●端子機能 1.端子表
PIN No.
Land
number PIN name I/O
Power source system Function Cell Type XRST 1 A1 VDDI2C - - 2 (NC) - - - 3 C3 GND - - 4 C1 ADR IN VDDI2C B -
5 C2 SDA INOUT VDDI2C 2-Wire 用シリアルデータ入出力 A Hi-z
6 D1 SCL IN VDDI2C 2-Wire 用クロック B -
7 D2 XRST IN VDDI2C Reset(Low Active) B L 8 E1 INT OUT VDDI2C 割り込み出力 ※1 C -※3
9 E2 GND - -
10 F1 VDD - -
11 F2 GPIO0 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2 A Hi-z
12 D3 GND - -
13 F3 GPIO1 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2
A Hi-z 14 E3 GPIO2 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2
A Hi-z 15 F4 GPIO3 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2
A Hi-z 16 E4 GPIO4 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2
A Hi-z 17 F5 GPIO5 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2
A Hi-z 18 E5 GPIO6 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2 A Hi-z
19 F6 VDDIO1 - -
20 E6 GPIO7 INOUT VDDIO1 General purpose inout. Pull-up to VDD※2 A Hi-z
21 D4 GND - -
22 D6 GPIO8 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2
A Hi-z 23 D5 GPIO9 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2
A Hi-z 24 C6 GPIO10 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2
A Hi-z 25 C5 GPIO11 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2
A Hi-z 26 B6 GPIO12 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2 A Hi-z
27 B5 VDD
28 A6 VDDIO2 - -
29 A5 GPIO13 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2
A Hi-z
30 C4 GND - -
31 A4 GPIO14 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2 A Hi-z 32 B4 GPIO15 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2 A Hi-z 33 A3 GPIO16 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2 A Hi-z 34 B3 GPIO17 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2 A Hi-z 35 A2 GPIO18 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2 A Hi-z 36 B2 GPIO19 INOUT VDDIO2 General purpose inout. Pull-up to VDD※2 A Hi-z
※1 レジスタ設定により、Low Active/High Active 選択と特定 Bit マスク処理を行うことが可能です。 ※2
IOSEL レジスタ=”1”時は VDDIO1(2)電源と同電位で Pull-up してください(IOSEL レジスタについては レジスタ機能説明を参照してください)。 ※3 GPIO 端子の状態によって初期値が変わります(GPIO 端子”H”入力なら、”H”出力)
Not
Recommended
for
New
Designs
2. 端子等価回路図 図 4 端子等価回路図
A
B
C
Not
Recommended
for
New
Designs
●機能説明
1. 2-Wire Bus Interface 1.1 Slave アドレス
SDA、SCL 端子の外部 Pull-up は DVDDI2C と同電位で使用してください。
BU8272GUW の制御は 2-Wire Slave インタフェースを用いて行います。デバイスのアドレス(Slave アドレス)は ADR=”1” 時は「0001111」、ADR=”0”時は「0001000」の 2 種類を選べます。Bit の転送レートは最大 400Kbps の Fast-mode をサポー トします。
図 5 Slave Address
1.2 Bit 転送
SCL が”1”の間で 1Bit のデータ転送をします。Bit 転送時,SCL が”1”の間では SDA の信号遷移は行えません。SCL が”1”で SDA が変化すると、START 条件もしくは STOP 条件が発生し、制御信号と解釈されます。
図 6 Bit 転送
1.3 START 条件・STOP 条件
SDA と SCL が”1”の時、2-Wire バス上でデータ転送は行われていません。この時、SCL が”1”のままで SDA が”1”から”0” へ遷移すると START 条件(S)となりアクセス開始を、SCL が"1"のままで SDA が”0”から”1”へ遷移すると STOP 条件(P) となりアクセス終了を示します。 図 7 START・STOP 条件 SDA SCL SDA安定状態: データ有効 SDA変化 可能 SDA SCL S P START条件 STOP条件 A7 A6 A5 A4 A3 A2 A1 W/R ADR=0 0 0 0 1 0 0 0 0/1 ADR=1 0 0 0 1 1 1 1 2-Wire Slave アドレス
Not
Recommended
for
New
Designs
1.4 Acknowledge
START 条件発生後、8Bit ずつデータ転送を行います。8Bit 転送後、Master は SDA を開放し、Slave は SDA を”0”とするこ とで Acknowledge 信号を返します。
図 8 Acknowledge
1.5. 書き込みプロトコル
書き込みプロトコルを以下に示します。以下の様に BU8272GUW 内の GPIO レジスタアドレスは、Slave アドレスと書き 込み命令を転送した次の 1 バイトで転送します。3 バイト目は 2 バイト目で書き込んだ内部レジスタへデータを書き込み、 4 バイト目以降は自動的にレジスタアドレスがインクリメントされます。ただしレジスタアドレスが最終アドレス(09h) となったときは次のバイトの転送で(00h)となります。転送終了後アドレスはインクリメントされています。
GPIO レジスタアドレスは(00h)で GPIO レジスタの[7:0]、(01h)で GPIO[15:8]、(02h)で GPIO[19:16]に割り振られて います。また、GPIO レジスタアドレスが(02h)時の転送データの MSB 4Bit は破棄され、LSB 側の 4Bit が GPIO ポート に出力されます。 図 9 書き込みプロトコル SCL 1 2 8 9 Masterによる SDA出力 Slaveによる SDA出力
Acknowledg
S START条件Acknowledg用
クロックパルス非Acknowledg
S A A A P データ レジスタアドレス Slave アドレス Master側が送信装置 Slave側が送信装置 A=Acknowledge A=非Acknowledge S=START条件 P=STOP条件 R/W=0(書き込み) データ A レジスタアドレス インクリメント レジスタアドレス インクリメント D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 X X X X A3 A2 A1 A0 X X X X X X X 0Not
Recommended
for
New
Designs
1.6 読み出しプロトコル
Slave アドレスと R/W ビット書き込み後、次のバイトから読み出します。読み出すレジスタは最後にアクセスした次のア ドレスとしそれ以降はインクリメントしたアドレスのデータが読み出されます。アドレスが最終アドレスとなったら次のバ イトの読み出しは 00h のものが読み出されます。転送終了後アドレスはインクリメントされています。GPIO ポート[19:16] を読み出し時はデータの MSB 側 4Bit に 0 が付加され、残りの 4Bit に GPIO ポートの値が出力されます。
1 S A P Master側が送信装置 Slave側が送信装置 A=Acknowledge A=非Acknowledge S=START条件 P=STOP条件 R/W=1(読み出し) データ A データ A Slaveアドレス X X X X X X X D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 レジスタアドレス インクリメント レジスタアドレス インクリメント 図 10 読み出しプロトコル 1.7 複合読み出しプロトコル 内部アドレスを指定した後、再送開始条件を発生させてデータ転送方向を変更し読み出しを行います。それ以降はインクリ メントしたアドレスのデータが読み出されます。アドレスが最終アドレスとなったら次のバイトの読み出しは 00h のものが 読み出されます。転送終了後アドレスはインクリメントされています。 図 11 複合読み出しプロトコル S A A A P Master側が送信装置 Slave側が送信装置 A=Acknowledge A=非Acknowledge S=START条件 P=STOP条件 Sr=反復START条件 R/W=0(書き込み) Sr 1 R/W=1(読み出し) A Slaveアドレス X X X X X X X 0 レジスタアドレス X X X X A3 A2 A1 A0 Slaveアドレス X X X X X X X データ データ レジスタアドレス インクリメント D7 D6 D5 D4 D3 D2 D1 D0 レジスタアドレス インクリメント D7 D6 D5 D4 D3 D2 D1 D0 A
Not
Recommended
for
New
Designs
1.8 Timing Diagram 図 12 Timing Diagram SCL SDA tSU;STA tBUFtHD;STA tLOW tHIGH 1/fSCLK
tSU;DAT tHD;DAT tSU;STO
(反復)
START条件 BIT 7 BIT 6 Ack STOP条件 転送状態
Not
Recommended
for
New
Designs
2. GPIO・INT Interface
Power On 時に Default 値として、GPIO[19:0]は入力モードになります。
InterruptMaskSel レジスタを”1”に設定することにより、特定 Bit の Intterrup Mask が可能になります。 IOSEL レジスタ=”0”時に各 R/W レジスタ値を変更することにより、Read/Write を切り替えます。
IOSEL レジスタ=”1”時には各 GPIO レジスタ値を”1”にすることにより、Read に切り替わる(GPIO ポートの外部 Pull-up は、 VDDIO1(2)と同電位で使用してください)。 図 13 GPIO・INT 制御回路 Data From Shift Register Write Configuration Pulse Read Configuration Pulse XRST S S Read Data Register
Interrupt Logic GPIO[19:0] Interrupt Mask Data From Shift Register S GPO Reg R/W Reg GPI Reg IOSEL Reg I/O電源と同電位で Pull-upして下さい 0 1 0 1 0 1
Not
Recommended
for
New
Designs
2.1 Write To GPIO Port
内部レジスタアドレス設定後、Master から送信されたデータを MSB から書き込みを開始し Acknowledge を返信後に GPIO ポート値を変化させる。
・IOSEL=”1”
IOSEL レジスタ(レジスタ機能説明参照)が”1”の状態では、送信されたデータに”0”が書かれていた Bit のみ Acknowledge 送信後に GPIO ポートからデータ(”0”)を出力します。”1”が書かれていた Bit に対応した GPIO ポートは入力状態(Hi-Z) となっています。
図 14 Write to GPIO port (Pull-up モード)
・IOSEL=”0”
IOSEL レジスタが”0”の状態では、RWSEL レジスタ(レジスタ機能説明参照)の値によりデータの入出力が決定され る為、RWSEL レジスタの各 Bit に”0”を書き込み後、データが GPIO ポートから出力されます。先に、RWSEL レジ スタに”0”の書き込みを行っておけば、データが書かれた直後の Acknowledg 後に GPIO ポートから出力することも可 能です。
図 15 Write to GPIO port (RWSEL モード)
S X X X X X X X 0 Ack MSB Reg Address LSB Ack MSB Data1 (GPIO[7:0]) LSB Ack MSB Data2 (GPIO[15:8]) LSB Ack P
Data2 Valid
1 2 3 4 5 6 7 8 9
SCL
SDA
Start Condition Write Acknowledge From Slave
GPIO [7:0]
Acknowledge From Slave
Acknowledge From Slave
tDV Stop Condition Data1 Valid tDV GPIO [15:8]
S X X X X X X X 0 Ack MSB Reg Address LSB Ack MSB Data1 (GPIO[7:0]) LSB Ack MSB RWSEL = Write Mode LSB Ack P
Data1 Valid
1 2 3 4 5 6 7 8 9
SCL
SDA
Start Condition Write Acknowledge From Slave
GPIO [7:0]
Acknowledge From Slave
Acknowledge From Slave
tDV Stop Condition Data2 Valid GPIO [15:8] tDV
Not
Recommended
for
New
Designs
2.2 Read From GPIO Port
Slave アドレスと R/W ビット書き込み後、次のバイトから GPIO ポートの読み出しを開始する(2-Wire 読み出しプロトコ ルについては 8.1.6 を参照)。Acknowledg 後から次の Acknowledge までの間に確定していたデータが Master に送信される。
図 16 Read from GPIO port
2.3 Interrupt Valid/Reset
GPIO レジスタ値と違う値(初期値は ALL-“1”)が GPIO ポートから入力されることにより、INT 信号が”1”から“0”に変化し、 Acknowledge 送受信後に”1”となる。
INTSEL レジスタ値を変更することにより、High-Active/Low-Active の選択ができます。
図 17 Interrupt Valid/Reset
Stop Condition S X X X X X X X 1 Ack Ack MSB Data3 LSB NA
1 2 3 4 5 6 7 8 9 SCL
SDA
Start Condition Read Acknowledge From Slave
GPIO
Acknowledge From Master Data2
MSB LSB
Data1 Data2 Data3
P
No Acknowledge From Master
tIV tIR
INT
Stop Condition
S X X X X X X X 1 Ack Ack MSB Data1 LSB NA
1 2 3 4 5 6 7 8 9 SCL
SDA
Start Condition Read Acknowledge From Slave
GPIO
Acknowledge From Master Data0
MSB LSB
Data1 Data2
P
No Acknowledge From Master
tDH tDS Data0
Not
Recommended
for
New
Designs
●設定レジスタ 00h~09h 以外のアドレスを設定した場合は、レジスタアドレスは 00h となります。 最終アドレスが 09h だった場合は、次に書き込まれるレジスタアドレスは 00h となります。 XRST を”0”に落とすことにより、設定レジスタ値は Init の値に戻ります。 1. レジスタマップ 2. レジスタ機能説明
Addr Init Type D7 D6 D5 D4 D3 D2 D1 D0
00h ffh R/W GPIO7 GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 01h ffh R/W GPIO15 GPIO14 GPIO13 GPIO12 GPIO11 GPIO10 GPIO9 GPIO8 02h 0fh R/W - - - - GPIO19 GPIO18 GPIO17 GPIO16 03h 00h R/W MASK7 MASK6 MASK5 MASK4 MASK3 MASK2 MASK1 MASK0 04h 00h R/W MASK15 MASK14 MASK13 MASK12 MASK11 MASK10 MASK9 MASK8 05h 00h R/W - - - - MASK19 MASK18 MASK17 MASK16 06h ffh R/W RWSEL7 RWSEL6 RWSEL5 RWSEL4 RWSEL3 RWSEL2 RWSEL1 RWSEL0 07h ffh R/W RWSEL1 5 RWSEL1 4 RWSEL1 3 RWSEL1 2 RWSEL1 1 RWSEL1 0 RWSEL9 RWSEL8 08h 0fh R/W - - - - RWSEL1 9 RWSEL1 8 RWSEL1 7 RWSEL1 6 09h 03h R/W - - - INTSEL IOSEL2 IOSEL1
Symbol Addr Init Description GPIO7 ~ GPIO0 00h ffh GPIO7~0のデータをRead/Writeします GPIO15 ~ GPIO8 01h ffh GPIO15~8のデータをRead/Writeします GPIO19 ~ GPIO16 02h 0fh GPIO19~16のデータをRead/Writeします
Write時のMSB4bitは破棄され、Read時はMSB4bitには"0"が 埋められます MASK7 ~ MASK0 03h 00h 0:GPIO7~0に"0"が書き込まれた場合のInterruptをマスクしません 1:GPIO7~0に"0"が書き込まれた場合のInterruptをマスクします MASK15 ~ MASK8 04h 00h 0:GPIO15~8に"0"が書き込まれた場合のInterruptをマスクしません 1:GPIO15~8に"0"が書き込まれた場合のInterruptをマスクします MASK19 ~ MASK16 05h 00h 0:GPIO19~16に"0"が書き込まれた場合のInterruptをマスクしません 1:GPIO19~16に"0"が書き込まれた場合のInterruptをマスクします
Write時のMSB4bitは破棄され、Read時はMSB4bitには"0"が 埋められます RWSEL7 ~ RWSEL0 06h ffh 0:GPIO7~0をBit毎に出力モードにします 1:GPIO7~0をBit毎に入力モードにします RWSEL15 ~ RWSEL8 07h ffh 0:GPIO15~8をBit毎に出力モードにします 1:GPIO15~8をBit毎に入力モードにします RWSEL19 ~ RWSEL16 08h 0fh 0:GPIO19~16をBit毎に出力モードにします 1:GPIO19~16をBit毎に入力モードにします IOSEL1 09h 1h 0:RWSEL7~0値を有効にします 1:Pull-upモードに切り替えます IOSEL2 1h 0:RWSEL19~8値を有効にします 1:Pull-upモードに切り替えます
INTSEL 0h 0:InterruptをLow Activeに設定します 1:InterruptをHigh Activeに設定します
Not
Recommended
for
New
● Appendix
1. I2C と 2-Wire の違いについて
Open-Drain Inout セルではなく通常の Inout セル(Hi-z、”0”のみ出力)使用し、I2C Interface を実現している。同電位の通信で あるならば、通常の I2C Master 機能を持った IC と BU8272GUW を繋いでも問題なく通信可能である。同様に、I2C Slave 機能 を持った IC と同 BUS 上に繋がっていても問題なく通信可能である。 2. 2-Wire 転送中の ILLEGAL アクセス*1が発生した場合 その時にアクセスしていたデータは破棄されます。再度アクセスを行ってください。 *1スタート条件・ストップ条件が連続で発生 Slave アドレス・R/W ビット書き込み時に再送条件・ストップ条件が発生 データ書き込み中に再送条件・ストップ条件が発生 3. 使用しない GPIO ポートの扱いについて
使用していない GPIO ポートは Pull-up するか、GND に落としてください。GND に落とした場合には、Interrupt が発生してし まうため、そのポートに該当する GPIO レジスタに Read アクセスを行う、または Mask レジスタで Interrupt 発生を抑制してく ださい。
使用していない GPIO ポートの電源については、Open にはせず何らかの電源を供給してください。 4. 電源供給時の注意
CORE 電源(VDD)と I/O 電源(VDDI2C、VDDIO1、VDDIO2)への、単独供給は禁止です。
電源供給は CORE 電源から I/O 電源の順に供給してください。また電源起ち下げ時は、I/O 電源から CORE 電源の順に落とし てください。
5. リセット解除タイミング
CORE 電源(VDD)、IO 電源(VDDI2C、VDDIO1(2))を供給し電源安定後に XRST を解除すること。
VDD VDDI2C、VDDIO1(2) XRST 解除
Not
Recommended
for
New
Designs
●発注形名セレクション