SH2 SH7085 (5) LCD (2)2009年06月05日 22時25分15秒

SC1602BSLB
さて、原因が分かったところでその対策をしなくちゃ
まず SC1602BSLB のデータシートを確認してみる。
Sunlike は
Data output delay time(tDDR) 60nS(Min) 120nS (Max)


データを読み込むまでに数ステップあるはずなので少なくとも100nSあれば十分のはずだ。


しかし、100nSを作るとなるとなかなか難しい。ここは単純に nop を並べることにする。
asm volatile ("nop");
入力クロック周波数は10MHzで8逓倍するので内部クロックは80MHzとなる。
従って nop 1個で 12.5nS だから8個並べればよい。
これで問題なくビジーチェックができるようになった。
オシロで見てみると、1バイト読み出すのに2μS近くかかってしまう。
ビットフィールドを多用しているせいだろう。
データ読み出しのタイミング以外は余裕たっぷりだ。
というか、時間かかりすぎだ。