GPIO IC シリーズ
GPIO エキスパンダ IC
BU1850MUV
●概要 GPIO エキスパンダは、IO ポート拡張 IC です。 IO ポートが不足がちなアプリケーションに非常に有効となります。例えば、①I2C の書き込み動作により GPIO 端子の出力 の状態を制御,②I2 C の読み込み動作により GPIO 端子の入力状態を知る、ことができます。 さらに、GPIO の端子状態の変化があった場合に割り込み信号を出力する機能があり、常時監視の必要はなく CPU 負荷を あたえることはありません。その他、パワーオンリセット内蔵・3V トレラント入力・NMOS オープンドレイン出力などの 機能を備えています。 ●特長1) 8 ポート General purpose input/output インタフェース(150kΩPull-down) 2) I2C スレーブ・シリアルインタフェース(400kHz Fast-mode 対応) 3) 割り込み(NMOS Open-drain 出力, 特定 bit マスク, 1s パルス除去) 4) 3V トレラント入力 5) Power On Reset 内蔵 6) 3mmx3mm 小型パッケージ ●絶対最大定格 特に指定のない限り Ta=25℃ 耐放射線設計はしておりません。 *1 入力電圧範囲は+0.3V を含め電源電圧絶対最大定格 4.5V を超えないようにしてください。 *2 Ta=25℃以上で使用する場合は、1℃につき 2.72mW を減じます。 ●動作条件 項 目 記 号 最小 標準 最大 単位 条件 電源電圧範囲(VDD) VVDD 1.65 1.80 3.6 V Core, XINT, XRST, SCL, SDA, ADR, Power On Reset 電源電圧範囲(VDDIO) VVDDIO 1.65 1.80 3.6 V GPIO[7:0]
項 目 記 号 定 格 単 位 備考 電源電圧*1 VDD -0.3 ~ +4.5 V VDD≦VDDIO で使用 VDDIO -0.3 ~ +4.5 V 入力電圧 VI -0.3 ~ VDD +0.3 *1 V XRST, ADR
VIT -0.3 ~ 4.5 V XINT, SCL, SDA, GPIO[7:0] 保存温度範囲 Tstg -55 ~ +125 ℃
許容損失 PD 272*2 mW
●外形寸法図 図1 外形寸法図(VQFN016V3030)
(UNIT: mm)
B U 1
8 5 0
Lot No.
●端子配置図 1 XIN T 2 XR ST 3 SC L 4 A D R 5 SDA 6 VDD 7 VDDIO 8 VSS 9 G P IO 0 10 GP IO1 11 GP IO2 12 GP IO3 13 GPIO4 14 GPIO5 15 GPIO6 16 GPIO7 図2 端子配置図(Top View) ●ブロック図 Input Filter I2C Bus Control Shift Register INT_MASK Interrupt Logic 8bit 8bit
Functional Block Diagram
XINT SCL SDA Write Pulse Read Pulse GPIO [7:0] VDDIO IN/OUT Control XRST GPIO[7:0] VDD ADR Interrupt Filter Power On Reset VSS Reset Gen
●端子機能
PIN
No. PIN name I/O
Power source
system Function Init
Cell Type 1 XINT O VDD 割り込み出力(1s パルス除去)
*1
(NMOS Open-drain) Hi-Z B
2 XRST I VDD Reset(Low Active) I E 3 SCL I VDD I2C 用クロック I A 4 ADR I VDD I2C 用デバイスアドレス変更 I E 5 SDA I/O VDD I 2 C 用シリアルデータ入出力
(NMOS Open-drain) Hi-Z C 6 VDD - - 電源(Core, I/O, Power On Reset) - -
7 VDDIO - - 電源(I/O) - -
8 VSS - - GND - -
9 GPIO0 I/O VDDIO
General purpose input/output. (NMOS Open-drain*2/CMOS 出力,
150kΩPull-down*3)
I
Pull-down D 10 GPIO1 I/O VDDIO
11 GPIO2 I/O VDDIO 12 GPIO3 I/O VDDIO 13 GPIO4 I/O VDDIO 14 GPIO5 I/O VDDIO 15 GPIO6 I/O VDDIO 16 GPIO7 I/O VDDIO *1 レジスタ設定により、特定 Bit マスク処理を行うことが可能です。 *2 VDDIO 以上の電位に Pull-up して使用してください。 *3 レジスタ設定により、Pull-down のオン、オフが可能です。
A
B
C
D
E
図4 端子等価回路図●機能説明 1. 動作モード 電源供給後 XRST 設定により、Power Down 状態、動作状態になります。起動シーケンス詳細は、電気的特性5を参照 してください。 1-1 電源供給 Core 電源(VDD)と IO 電源(VDDIO)への、単独供給は禁止です。 電源供給は Core 電源、IO 電源、同時に供給してください。 1-2 Power On Reset Power On Reset を内蔵しているため、XRST 端子を使用しなくても動作します。この場合は VDD と XRST を基 板上で接続してください。 1-3 Power Down 状態
XRST=”0”とすることで Power Down 状態となります。内部回路が初期化され、I2C の入力がされてもすべて無効 となります。Power On Reset もオフとなります。
1-4 動作状態
XRST=”1”とすることで、動作状態となります。START 条件が入力されることにより、I2C 通信が行われま す。STOP 条件が入力されることにより、Standby になります。本状態では Power On Reset がオンになり ます。
2 I2C Bus Interface GPIO の各機能は内部レジスタによって制御します。そのレジスタの書き込み、読み込みに I2C Slave インタフェース を用います。Bit の転送レートは最大 400kHz の Fast-mode をサポートします。 SCL、SDA 端子の外部 Pull-up は, VIH, VILを考慮した電位にしてください。 2-1 Slave アドレス デバイスのアドレス(Slave アドレス)は ADR 端子で以下の 2 種類を選べます。 2-2 Bit 転送
SCL が”1”の間で 1Bit のデータ転送をします。Bit 転送時,SCL が”1”の間では SDA の信号遷移は行えません。 SCL が”1”で SDA が変化すると、START 条件もしくは STOP 条件が発生し、制御信号と解釈されます。
SDA SCL SDA安定状態: データ有効 SDA変化 可能 図5 Bit 転送
2-3 START 条件・STOP 条件・反復 START 条件
データ転送が行われていないとき、SDA と SCL が”1”になっています。この時、SCL が”1”のままで SDA が”1”から”0” へ遷移すると START 条件(S)となりアクセスを開始します。その後データ転送を行い、SCL が"1"のままで SDA が”0”から”1”へ遷移すると STOP 条件(P)となりアクセスを終了します。STOP 条件が行われず、再度、START 条件が入った場合は、反復 START 条件(Sr)となります。
図6 START 条件・STOP 条件・反復 START 条件 A7 A6 A5 A4 A3 A2 A1 R/W 0 0 0 1 0 0 1 1/0 0 0 0 1 1 1 0 ADR=0 ADR=1 SDA SCL S Sr START条件 反復START条件 P STOP条件
2-4 Acknowledge
START 条件発生後、8Bit ずつデータ転送を行います。SCL の立ち上がりで SDA を取り込みます。8Bit 転送後、 Master は SDA を開放して”1”にし、Slave は SDA を”0”とすることで Acknowledge 信号を返します。
SCL 1 2 8 9 Masterによる SDA出力 Slaveによる SDA出力 Acknowledge S START条件 Acknowledge用 クロックパルス 非Acknowledge 図7 Acknowledge 2-5 書き込みプロトコル レジスタアドレスは Slave アドレスと R/W ビットを転送した次の 1 バイトで転送します。3 バイト目は 2 バイト 目で書き込んだ内部レジスタへデータを書き込み、4 バイト目以降は自動的にレジスタアドレスがインクリメント されます。ただしレジスタアドレスが最終アドレス(13h)となったときは次のバイトの転送で(00h)となりま す。転送終了後アドレスはインクリメントされています。 S A A A P データ レジスタアドレス Slave アドレス Master側が送信 Slave側が送信 R/W=0(書き込み) データ A レジスタアドレス インクリメント レジスタアドレス インクリメント D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0 X X X A4 A3 A2 A1 A0 X X X X X X X 0 A=Acknowledge A=非Acknowledge S=START条件 P=STOP条件 図8 書き込みプロトコル
2-6 読み出しプロトコル Slave アドレスと R/W ビット書き込み後、次のバイトから読み出します。読み出すレジスタは最後にアクセスし た次のアドレスとしそれ以降はインクリメントしたアドレスのデータが読み出されます。アドレスが最終アドレス となったら次のバイトの読み出しは 00h のものが読み出されます。転送終了後アドレスはインクリメントされてい ます。 1 S A P Master側が送信 Slave側が送信 R/W=1(読み出し) データ 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 レジスタアドレス インクリメント レジスタアドレス インクリメント A=Acknowledge A=非Acknowledge S=START条件 P=STOP条件 A 図9 読み出しプロトコル 2-7 複合読み出しプロトコル 内部アドレスを指定した後、反復 START 条件を発生させてデータ転送方向を変更し読み出しを行います。 それ以降はインクリメントしたアドレスのデータが読み出されます。アドレスが最終アドレスとなったら次のバイ トの読み出しは 00h のものが読み出されます。転送終了後アドレスはインクリメントされています。 S A A A P Master側が送信 Slave側が送信 R/W=0(書き込み) Sr 1 R/W=1(読み出し) A Slaveアドレス X X X X X X X 0 レジスタアドレス X X X A4 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=Acknowledge A=非Acknowledge S=START条件 P=STOP条件 Sr=反復START条件 A 図 10 複合読み出しプロトコル 2-8 I2C 転送中の ILLEGAL アクセスが発生した場合 その時にアクセスしていたデータは破棄されますので、再度アクセスを行ってください。 ILLEGAL アクセスは以下の場合になります。 START条件・STOP条件が連続で発生。 Slaveアドレス・R/Wビット書き込み時に反復START条件・STOP条件が発生。 データ書き込み中に反復START条件・STOP条件が発生。
3 設定レジスタ
データを連続して書き込むとアドレスはインクリメントされます。最終アドレスが 13h だった場合は、次に書き込まれ るレジスタアドレスは 00h となります。XRST を”0”にすることにより、レジスタ値は初期値に戻ります。
3-1 レジスタマップ
Addr Init Type D7 D6 D5 D4 D3 D2 D1 D0
00h - - reserved reserved reserved reserved reserved reserved reserved reserved
01h - - reserved reserved reserved reserved reserved reserved reserved reserved
02h - - reserved reserved reserved reserved reserved reserved reserved reserved
03h - - reserved reserved reserved reserved reserved reserved reserved reserved
04h 00h R/W RESET reserved reserved reserved reserved reserved reserved reserved
05h - - reserved reserved reserved reserved reserved reserved reserved reserved
06h - - reserved reserved reserved reserved reserved reserved reserved reserved
07h - - reserved reserved reserved reserved reserved reserved reserved reserved
08h 00h R/W INTEN7 INTEN6 INTEN5 INTEN4 INTEN3 INTEN2 INTEN1 INTEN0
09h - - reserved reserved reserved reserved reserved reserved reserved reserved
0Ah - - reserved reserved reserved reserved reserved reserved reserved reserved
0Bh - - reserved reserved reserved reserved reserved reserved reserved reserved
0Ch - - reserved reserved reserved reserved reserved reserved reserved reserved
0Dh - - reserved reserved reserved reserved reserved reserved reserved reserved
0Eh - - reserved reserved reserved reserved reserved reserved reserved reserved
0Fh - - reserved reserved reserved reserved reserved reserved reserved reserved
10h 00h R GPI7 GPI6 GPI5 GPI4 GPI3 GPI2 GPI1 GPI0
11h 00h R/W GPO7 GPO6 GPO5 GPO4 GPO3 GPO2 GPO1 GPO0
12h 00h R/W WRSEL7 WRSEL6 WRSEL5 WRSEL4 WRSEL3 WRSEL2 WRSEL1 WRSEL0
13h 00h R/W XPD7 XPD6 XPD5 XPD4 XPD3 XPD2 XPD1 XPD0
※ reserved は 0 以外書き込まないでください。10h アドレスは書き込んでも無視されます。
3-2 レジスタ機能説明
※ n は 7~0GPIO[7:0]端子の番号になります。
Symbol Addr Description
RESET 04h “1”を書き込むことでレジスタを初期値に戻します。このレジスタ値は”0”に戻されます。
GPIn レジスタは初期化されません。
INTENn 08h “1”で GPIOn端子を割り込み入力に。”0”で割り込みマスク。
GPIn 10h GPIOn 端子を Read します。書き込みは無視されます。
GPOn 11h GPIOn 端子の出力値。
WRSELn 12h GPIOn 端子を“0” で入力、”1”で出力に。
4. GPIO・割り込み制御 4-1 GPIO 設定 初期値として、GPIO[7:0]は入力、Pull-down 状態になります。 このとき、WRSELn=”0”, XPDn=”0”になります。(n はそれぞれの GPIO 端子の番号になります) GPIO の設定は以下を参照してください。 GPIO 状態 レジスタ GPOn WRSELn XPDn 入力, Pull-down オン * 0 0 入力, Pull-down オフ * 0 1 出力, H ドライブ 1 1 * 出力, L ドライブ 0 1 * 出力, Hi-Z※1 0 0 1 ※1 この使用では外部で VVDDIO以上の電位に Pull-up して使用してください。 使用しないGPIO端子の扱いについて 出力にしている場合は、Open にしてください。入力にしている場合は、”0”を入力するか、Pull-down をオンにす るなど Open にしないで下さい。また、割り込みを使用する場合は、INTEN レジスタで使用しない端子は”0”にし てマスクし、割り込み発生を抑制してください。 4-2 割り込み設定
割り込みが発生すると XINT 端子より L 出力されます。初期値は Hi-Z になっています。Pull-up して使用してくだ さい。
初期値として、INTEN レジスタにより、”0”としてマスクされています。使用したい Bit を”1”にし、マスクを解除 して使用します。また、WRSEL レジスタは入力”0”になっている必要があります。
4-3 GPIO 出力動作
内部レジスタアドレス設定後、Master から送信されたデータを MSB から書き込みを開始し、Acknowledge を返信 後に GPIO 端子を変化さます。Write Configuration Pulse はレジスタ書き込み時 Acknowledge のタイミングで発生 します。
S X X X X X X X 0 Ack MSB Reg Address LSB Ack MSB Data1 (GPO[7:0]) LSB Ack P 1 2 3 4 5 6 7 8 9
SCL
SDA
Start Condition Write Acknowledge From Slave
GPIO[7:0]
Acknowledge From Slave Stop Condition Data1 Valid tDV Write Configuration Pulse
S X X X X X X X 0 Ack MSB Reg Address LSB Ack MSB Data1 (GPO[7:0]) LSB Ack MSB WRSEL = 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 Write Configuration
Pulse
4-4 GPIO 入力動作
Slave アドレスと R/W ビット書き込み後、次のバイトから GPIO 端子の読み出しを開始します。
Acknowledge 後から次の Acknowledge までの間に確定していたデータが GPI レジスタに取り込まれ、Master に送 信されます。
WRSEL レジスタが入力になっている端子はすべて Read Configuration Pulse のタイミングで、GPI レジスタに読 み込まれます。そのため、SDA の送信する各 bit のデータはその直前に取り込まれた GPI レジスタ値になります。
Stop Condition
S X X X X X X X 1 Ack
SCL
SDA
Start Condition Read Acknowledge From Slave
GPIO[7:0] D1
P
No Acknowledge From Master
tDS Read Configuration Pulse 1 2 3 4 5 6 7 8 9 NA tDH D1 [7] D1 [6] D1 [5] tDS D2 D1 [4] D2 [3] D2 [2] D2 [1] D2 [0] GPI[7:0] Reg D1 D2 tDH
図 12 Read from GPIO port
4-5 割り込み動作
GPIn レジスタ値(初期値は“0”)と違う値が GPIO 端子から入力されることにより、XINT が”1”から“0”に変化しま す。XINT の”0”を解除するには、GPI レジスタを読み出すことで、Acknowledge 送受信後に”1”となります。 GPIO 端子の値がそのまま出力に反映され、XINT は保持されませんので、端子がまた同じ値に戻れば XINT は”1”
になります。
INTEN レジスタが”1”の端子は、どれか1つでも違う値になれば、XINT は”0”になります。どの GPIO 端子が変化 したかは、最初に読み出した GPI レジスタ値を Master 側で保持し、XINT がアサート後に読み出した値と比較し て判別してください。
Stop Condition
S X X X X X X X 1 Ack NA
SCL
SDA
Start Condition Read Acknowledge From Slave
GPIOn
Data2 (GPI[7:0])
MSB LSB
Data1 Data2
P
No Acknowledge From Master
tIV tIR XINT Data1 Data2 GPIn Reg 1 2 3 4 5 6 7 8 9 Data3 Data2 tIV tIR 図 13 Interrupt Valid/Reset
●電気的特性 1. DC 特性
特に指定のない限り VVDD=1.8V,VVDDIO=1.8V,Topr=25℃
項 目 記 号 規 格 値 単 位 条 件
最 小 標 準 最 大
Input H Voltage1 VIH1 0.7xVVDDIO - 3.6 V
GPIO[7:0] Input L Voltage1 VIL1 -0.2 - 0.3xVVDDIO V
Input H Voltage2 VIH2 0.7xVVDD - 3.6 V SCL, SDA,
Input L Voltage2 VIL2 -0.2 - 0.3xVVDD V SCL, SDA, XRST, ADR
Input H Voltage3 VIH3 0.7xVVDD - VVDD+0.2 V XRST, ADR
Input H Current1
(3V Tolerant) IIH1 -1 - 1 A VIN=3.6V
*1
Input H Current2 IIH2 -1 - 1 A VIN=1.8V, XRST,ADR
Input L Current IIL -1 - 1 A VIN=0V*1, XRST,ADR
Output H Voltage1 VOH1 0.75xVVDDIO - - V IOH=-2mA, GPIO[7:0]
Output L Voltage1 VOL1 - - 0.25xVVDDIO V IOL=2mA, GPIO[7:0]
Output H Voltage2 VOH2 VVDDIO-0.25 - - V IOH=-0.2mA, GPIO[7:0]
Output L Voltage2 VOL2 - - 0.25 V IOL=0.2mA, GPIO[7:0]
Output L Voltage3 VOL3 - - 0.3 V IOL=3mA, SDA, XINT
*1 XINT(Hi-Z), XRST, SCL, SDA(IN), ADR, GPIO[7:0](IN, Pull-down オフ)
2. 消費電流
特に指定のない限り VVDD=1.8V,VVDDIO=1.8V,Topr=25℃
項 目 記 号 規 格 値 単 位 条 件
最 小 標 準 最 大 Power Down Current
(VDD) IPD1 - - 1.0 A XRST=VSS Power Down Current
(VDDIO) IPD2 - - 1.0 A Standby Current (VDD) ISTBY1 - - 3.0 A XRST=VDD, SCL=VDD, SDA=VDD Standby Current
(VDDIO) ISTBY2 - - 1.0 A Operating Current1 (VDD) IOP1 - 14 25 A I2C 400kHz 100% traffic density*1 Operating Current1 (VDD) IOP2 - 2 8 A I2C 400kHz 1% traffic density*2 *1 すべての GPIO 端子を出力にし、01010101、10101010 出力を繰り返したパターンになります。 *2 *1 のパターンに、I2C が動作していない期間を 99%入れたものになります。
3. I2C AC 特性 SCL SDA tSU;STA tBUF tHD;STA tLOW tHIGH 1/fSCLK
tSU;DAT tHD;DAT tSU;STO
(反復)
START条件 BIT 7 BIT 6 Ack STOP条件
転送状態 図 14 I2 C AC タイミング 特に指定のない限り VVDD=1.8V,VVDDIO=1.8V,Topr=25℃ 項 目 記 号 規 格 値 単 位 条 件 最 小 標 準 最 大 SCL クロック周波数 fSCLK - - 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
4. GPIO AC 特性 SCL GPIO[7:0](出力) tDV Ack 転送状態 BIT 1 BIT 0 GPIO[7:0](入力) XINT tDS tDH tIV tIR Ack BIT 0 BIT 1 図 15 GPIO AC タイミング 特に指定のない限り VVDD=1.8V,VVDDIO=1.8V,Topr=25℃ 項 目 記 号 規 格 値 単 位 条 件 最 小 標 準 最 大
Output Data Valid Time tDV - - 0.8 s 図 11 参照
Input Data Setup Time tDS 100 - - ns
図 12 参照 Input Data Hold Time tDH 0.8 - - s
Interrupt Valid Time tIV - - 5 s
図 13 参照 Output Data Valid Time tDV - - 0.8 s
5. 起動シーケンス VDD, VDDIO XRST SCL SDA tVDD tRWAIT tI2CWAIT tRV tVDD tRWAIT tI2CWAIT tVDD tVDD 図 16 起動シーケンスタイミング 特に指定のない限り VVDD=1.8V,VVDDIO=1.8V,Topr=25℃ 項 目 記 号 規 格 値 単 位 条 件 最 小 標 準 最 大 VDD Stable Time tVDD - - 5 ms VDD, VDDIO は 同時オン Reset Wait Time tRWAIT 0 - - s XRST 制御*1
Reset Valid Time tRV 10 - - s
I2C Wait Time tI2CWAIT 10 - - s
*1 Power On Reset 内蔵しているため、XRST を使用しなくても動作します。この場合は VDD と XRST を基板上で接続してください。
注) VDD=0V 時、SCL 端子を 0V から 0.5V 以上に遷移させた場合、SCL 端子が電流を引き込みます。3V トレラント I/O の SDA、XINT、GPIO[7:0]端子においても同様です。(GPIO[7:0]端子の場合は VDDIO=0V 時。)
VDD Port (2kΩ Pull-Up) 0V 3V Port Pull Current 数ms 数100uA 0V 図 17 VDD=0V 時、端子動作
●応用回路例 SCL GPIO7
BU185
0M
UV
MPU
VSS 0.1uF 1.8V VD D V DDI O 0.1uF 3.0V GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 SDA IN XINT XR S T SCL SDA GPIO7BU185
0M
UV
VSS 0.1uF 1.8V VD D V DDI O 0.1uF GPIO6 GPIO5 GPIO4 GPIO3 GPIO2 GPIO1 GPIO0 XINT XR S T SCL SDAOther I
2C Devices
ADR ADR 図 18 応用回路例●発注形名セレクション