インターフェース動作波形


オシロスコープはPicoscope3206Bです。 一般のスタンドアロン型には無い機能があり、このオシロスコープの方が波形観測し易い事もあります。
こちらのPicoScope4224も使ってみましたが、 この程度の用途であれば、このバンド幅でも十分使えます。
何れもロングメモリー機能は波形観測、解析が快適に出来ます。


電源ON 時のDC-DC出力立ち上がり波形

1ch青:I2CバスのSCL波形
 電源ON後、最初に行う処理は以下であるが、電源電圧が安定している必要がある。
  a)時計ICから日付、時刻を入力。
   (最初のクロック波形)

  b)液晶ICの初期化。
   (2個目以降のクロック波形)


2ch赤:DC-DC出力電圧波形
 9ms弱で3.3vに安定している。
電源ON時の初期動作波形

以下の2つを同時に初期化処理をしている。
 1ch青:I2CバスのSCL波形
  a)液晶ICの初期化は、200msの間隔で2回初期化用のコマンドを送っている。


 2ch赤:SDのクロック波形(2GバイトのSD)
  b)SDを初期化している間の波形。
    ・SDの容量により初期化時間は変化する。
    ・SDが未装着の場合はこのクロック波形は出ない。


左図の場合はSDの初期化終了後に液晶の表示を開始しているが、液晶IC初期化中にSDの初期化が終了した場合は液晶IC初期化終了後、 即表示を開始する事になる。
時計ICからの定周期入力波形

 1ch青:I2CバスのSCL波形

秒の変化を検出する為に定周期で秒の値を入力しているが、 消費電流を減らす為に、1秒変化手前から100ms周期で入力している。

SCL、SDAのプルアップ抵抗に流れる電流も、インターフェース回数が多ければそれだけ電池を消費するので、 1秒変化検出をする為のインターフェース回数を減らしている。

また、液晶表示に変化がある時のみ液晶ICに更新表示データを送っているので、変化がなければ 左図の様に時計ICとのインターフェース波形のみになる。
SD挿入時の初期化タイミング

 1ch青:SD挿入スイッチ接点信号波形(挿入時GND短絡)
 2ch赤:SDのクロック波形

SDコネクタにSDを挿入する度にSDの初期化を行うが、SDを挿入した500ms後に初期化処理を開始している。

これは、SDを挿入した時の接点を「こする」期間を考慮して、この時間遅らせている。

しかし、このSD初期化処理期間に接点を「こする」様な操作をして、接触不良があると初期化エラーを発生してしまう。
これは避けられないので、挿入操作は適度な速さで行う事ですが、普通の挿入操作をしていれば殆ど問題ありません。
(SDを使用したデジカメ等のメーカー製品も同様の事が言えます)
時計ICから「秒」の値をリードしている波形

 1ch青:I2CバスのSCL波形
 2ch赤:I2CバスのSDA波形


・スコープ1: 「秒」の値リード時間は、約145us。
 a)最初の3バイトデータはリードする為のライト・コマンド。
 b)最後の1バイトが「秒」のリード・データ


・スコープ2: ライト・クロック周期は2.76us(362kHz)。


・スコープ3: リード・クロック周期は3.28us(305kHz)。



汎用ポートを使いI2C相当の通信処理をしているが、ループ処理の関係でライト時とリード時では若干クロック周期が異なっている。

リード時は、SDAのプルアップ抵抗値によって立ち上がり時間、及び立下り時間の「なまり具合」が変わりますが、 以下の事柄を考慮して適切なプルアップ抵抗値を選択する事になる。

■消費電流を下げる為に出来るだけ抵抗値を大きくしたいが、「なまり」が大きくなってしまいクロックを速く出来ない。

■抵抗値を小さくすれば「なまり」が小さくなるが、消費電流が大きくなってしまう。またドライブ能力が小さいとLowレベル電圧が上がってしまう。
SDライト波形-1(2GバイトのSD)

 1ch青:SDのCLOCK波形
 2ch赤:SDのSI波形

a)SI波形がある間が1セクタ−の256バイト転送期間。約5ms。
b)CLOCK後半波形期間は、ライト完了をポーリングして検出している。約5ms。

SDはメーカーや、容量等によりライト時間は異なるが、このSDの場合は1セクタ−のライト時間に5ms掛かっている事になる。
従い、単純計算では以下の様に、51.2Kbyte/sec が最大ライト速度になる。

a)512バイト転送時間+ライト時間 = 0.01sec。
b)1sec/0.01sec = 100セクター/sec。
c)100*512 = 51200バイト/sec。
SDライト波形-2(2GバイトのSD)

 1ch青:SDのCLOCK波形
 2ch赤:SDのSO波形

ポーリングして、0xFF を受信するとライト完了です。