kaoaruさんのページ



【プリンタポートにEEPROMをつける】


vcioscmをそのまま利用して、Xicor(ザイコー)の
X25097Pというシリアル接続のEEPROMをつないでみました。

回路図を参照してください。+5Vの電源と
D-Sub25ピンがあればいいだけです。
(もちろんX25097Pは必要です)

ソースはvcioscmの「sample.cpp」を単純に
差し替えるだけでいいはずです。

実際に製作したものは基板写真を
ご覧下さい。

実行結果は写真をご覧下さい。


プリンタポートにアクセスするルーチンは、Xicorのサイトに
ある資料をそのまま利用しました。

オリジナルのほうは、Turbo-Cによるコーディングですが、
ポートの入出力関数が異なるだけなので、単純に置き換え
関数を作成してみました。

おもむろに、今日作って試せたわけですのでお手軽ハードと
いうことになりますが、これだけでずいぶん勉強(?)に
なるのではないかとおもいます。

EEPROMだから何なの?という意見もあるかもしれませんが、
所謂「ドングル」などもこういう手のものですので、
応用はきくと思います。

問題は、この手のシリアル(SPIインターフェースというらしいです)
EEPROMは生産を終息しており入手が困難です。IICタイプが主流のよう
ですが、一般には入手がむずかしいかもしれません。

実際に製作したものを参照していただければわかると思いますが、
+5Vの電源に3端子レギュレータ(東芝TA78005P)を使用しましたが、
間違ってもプリンタポートの+5Vは使用しないように!
(PCがこわれるかも?)

ソース中に記述しておきましたが、フラッシュROMの書き込みと
いうものは制限があり、「ページライト」では一回で書き込める
バイト数がX25097Pの場合は「32バイト」です。

X25097Pは「8kビット」ですので「1kバイト」あるわけで、
すべての領域を一回で書き込むのは不可能です。しかも、書き込みを
おこなってから次の書き込みまでは500mSほど間をあけなければいけません。
その間、EEPROMにアクセスすると書き込みを失敗します。

コンパクトフラッシュやスマートメディアの書き込みが
遅いと思ったことはありませんか?じつは前述したことが理由なのです。
これはハードからくる制約なので対処のしようがないのです。


ソフト概要 URL
サンプルソース
(vcioscmライブラリ中の  
sample.cppと置換えると
簡単にテストできます)
こちらからどうぞ
回路図 こちらからどうぞ
基板写真(表) こちらからどうぞ
基板写真(裏) こちらからどうぞ
実行画面 こちらからどうぞ



kaoaruさんのホームページへ



戻る