[H8-ML(3215)] Re: シリアルROMの読み出し速度
From: 廣田 正孝 <mhirota@xxxxxxxxxxxxx>
Date: 2003年05月23日(金)01時16分26秒
 こんにちは、廣田です。

miyamae wrote:
> 
> 宮前です
> 
> シリアルROM(I2C)の256Kbit(24LC256)を全部読み出すの
> に、15秒ぐらいか
> かっていて
> 速度に少しがっかりしてます。 (シーケンシャルリード)
> deleyはほとんど全て外したので、今のロジック(構造)では劇的には速く
> ならない気がします。
> 
> 条件
> CPU:3048F  16Mhz
> 言語:AKI−3048用C(I2CのアクセスもCで)
> モニター配下で、割り込みは使用していません。
> プログラムは増設SRAM、スタックは内蔵RAM。
> 
> 15秒に対して、コメント頂きたいです。

現状のSCLの波形をオシロなどで観測していますか? 大抵のIICインターフェイス
を使用したデバイスは1MHzくらいまでは動作します。
1MHzで動けばシーケンシャルリードで0.6秒は掛からない。

シーケンシャルリードなら4byte/65クロックで読み込めるはず。(概算で)
IICタイミングクロックを1MHzとして(5V駆動時)
256kbit= 32,768byte
32,763/4= 8192リードリードアクセス
8192×65μs = 0.53s

ただし、IICの最大クロック(SCL)周波数は400kHzとどこかで読んだ気がしますので、
規格内に入れるなら 1.4s位になるかと。

#ソフトでSCLのタイミングなどを作ってシリアル-パラレル変換するとなると、
#1SCL=10μsくらいならなんとかなりそうな気がしますが。
#そうすると6秒を切るくらいまでスピードアップできそう。
#ただのIO-メモリ転送制御ですから、Cで書くメリットが少ない気がします。
#この部分だけアセンブリ言語で記述してみるとか。
#アセンブラで攻めてみて、SCL=400kHz,全読みとり1.4秒を目標。(きついかな?)


-- 
/******************************************************************************
Name: 廣田 正孝 "Hirota Masataka"
E-mail address:  mhirota@xxxxxxxxxxxxx
******************************************************************************/
スレッド概略
[3211(R)](起点)
 └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]