[AK4616]
■ シリアルコントロールインタフェース
AK4616の各機能はピンまたはレジスタで設定できます。レジスタへの書き込み方式はI2Cバスです。PDN pin
を “L” にすると内部レジスタ値は初期化されます。RSTN bitに “0” を書き込むと内部タイミング回路がリセ
ットされます。但し、この時レジスタの内容は初期化されません。
* PDN = “L”時はコントロールレジスタへの書き込みはできません。
AK4616のI2Cバスモードのフォーマットは、高速モード(max:400kHz)に対応しています。
1. WRITE命令
I2Cバスモードにおけるデータ書き込みシーケンスはFigure 30に示されます。バス上のICへのアクセスには、
最初に開始条件(Start Condition) を入力します。SCLラインが“H”の時にSDAラインを“H”から“L”にすると、
開始条件が作られます(Figure 36)。開始条件の後、スレーブアドレスが送信されます。このアドレスは7ビッ
トから構成され、8ビット目にはデータ方向ビット(R/W) が続きます。上位7ビットは“0010000”固定です(Figure
31)。アドレスが一致した場合、AK4616は確認応答(Acknowledge) を生成し、命令が実行されます。マスタは
確認応答用のクロックパルスを生成し、SDAラインを解放しなければなりません(Figure 37)。R/W bitが“0”の
場合はデータ書き込み、R/W bitが“1”の場合はデータ読み出しを行います。
第2バイトはサブアドレス(レジスタアドレス)です。サブアドレスは8ビット、MSB firstで構成され、上位3ビ
ットは“0”固定です(Figure 32)。第3バイト以降はコントロールデータです。コントロールデータは8ビット、
MSB firstで構成されます(Figure 33)。AK4616は、各バイトの受信を完了するたびに確認応答を生成します。
データ転送は、必ずマスタが生成する停止条件(Stop Condition) によって終了します。SCLラインが“H”の時
にSDAラインを“L”から“H”にすると、停止条件が作られます(Figure 36)。
AK4616は複数のバイトのデータを一度に書き込むことができます。データを1バイト送った後、停止条件を
送らず更にデータを送ると、サブアドレスが自動的にインクリメントされ、次のデータは次のサブアドレス
に格納されます。アドレス“0EH”にデータを書き込んだ後、さらに次のアドレスに書き込んだ場合にはアド
レス“00H”にデータが書き込まれます。
クロックが“H”の間は、SDAラインの状態は一定でなければなりません。データラインが“H”と“L”の間で状
態を変更できるのは、SCLラインのクロック信号が“L”の時に限られます(Figure 38)。SCLラインが“H”の時に
SDAラインを変更するのは、開始条件、停止条件を入力するときのみです。
S
S
T
O
P
T
A
R
T
R/W="0"
Slave
Address
Sub
Address(n)
S
Data(n)
Data(n+1)
Data(n+x)
P
SDA
A
C
K
A
C
K
A
C
K
A
C
K
A
C
K
A
C
K
Figure 30. I2Cバスモードのデータ転送シーケンス
0
0
0
1
0
0
0
0
R/W
A0
Figure 31. 第1バイトの構成
0
0
A4
A3
A2
A1
Figure 32. 第2バイトの構成
MS1437-J-01
2012/11
- 33 -