2006/11/18(土)8048と24LC64

シリアル EEPROM 24LC64

20061118_0.jpg

8048マイコンボードの空きスペースに24LC64を追加して、I2C経由でシリアルEEPROMの制御に挑戦。

マイクロチップのWEBサイトに日本語のデータシートがあるのを始め、東芝のWEBサイトにも4KBitではあるが、同じ2線式の製品のデータシートを参考に作ってみた。2線式でデータ線は基本的にプルアップされたラインを入出力で扱う訳で、8048の擬似入出力ポートとピッタリマッチ。

温度ロガー

このボードにはDS18B20/DS1822とLCDが付いているが、これで部屋の温度を定期的にこのEEPROMに記録して行けば、実用的な物が仕上がるなぁ。あと、時間も正確に判れば最高だな。クロックを正確に6MHzにトリミングするか、はたまたリアルタイムクロックなチップを取り付けるかどうしようかな。

2816大活躍

このボードは8748/8749用に作った物だが、一応外部ROMとして2716用のソケットを付けておいて大正解。2716コンパチブルなEEPROMの2816(x2816)で開発を行っているが、今回も大活躍だ。消去しなくて良いのはもちろん、書き込み時間も短い。現在XICORの名前はなく、2004年の3月にIntersil社に買収されてしまったが、EEPROM製品はまだ64KBIT以上は入手可能らしい。まぁ今時2KBYTEだとかパラレルだとかは時代遅れなんですがね。あっ8048自体が1976年の物か。30年は経ってるな。

2006/06/25(日)16KbのPROM

小さなメモリー空間

X2816 NMC27C16 MB8516

8080AやZ-80そして8048/8035の外付けのROMとして広く使われた2KBのメモリー(P-ROM)。

今となっては2KBというのは猫の額より狭い空間かもしれないけれど、同時期のSRAMに至っては256x4bitや1024x1bitなんていうのもザラでした。

これら3つはintelの2716ピンコンパチブルなので置き換え可能な品種

Xicor X2816(2816 X2816 X2816B)

XicorのEE-PROM 2816 5V単一で書込み可能 書き込み時間の遅いSRAMと同等に扱える。バイト単位で再書き込み可能(5ms)、一万回保障。100年間のデータ保障。 DateCode 9020

NMC27C16(2716 C-MOS)

National Semiconductor C-MOSの為、消費電流が非常に少ない 80C35と組み合わせて電池駆動可能だろう。DateCode 8424。最近になって、若松通商にて購入した。今でも売っていたのが信じられなかったが。

MB8516(2716)

Fujitsu MB8516 DateCode i2716の富士通版 独特のパッケージです。ピンが折れやすいが金メッキ品です。 DateCode 8103 四半世紀前の物。現在でも問題なく消去・書き込み出来ています。

2006/06/18(日)MCS48 DS1822 高精度温度計完成

0度以下も測定可能

8048とDS18B20を使った温度計だけれども、0度以下の温度表示も対応してみた。なにせ、よく考えてみると、昔のZ80の頃にさえ真面目に数値演算処理なんてした事なかったので、符号付き二進演算について基礎知識が足りなかったのだ。そんな訳で苦労して作ったソースプログラムのテストで家の冷蔵庫の温度を測ってみたら、冷凍庫は-20度だったが、冷蔵庫内は9度だった。これではビールが飲み頃まで冷えないではないか。

この温度計は3桁なので温度によって表示パターンを変える仕組みになっている

100 - 127 チップが壊れそうだが

00.0 - 99.9 これは通常の表示

-0.1 - -9.9 これは0度以下。真冬にはこの程度も必要だろう

-10 - -99 -99度まで測定できるか不明だが。

そして、室温モニターとして温度の変化を音で知らせる。

  • 2/16 度以上高くなると ピッピッピッ
  • 2/16 度以上低くなると ピューン
  • そして 1度以上の変化の場合はそれぞれの音が3回続けて鳴る

室温の変化

部屋の温度の2/16度の変化って結構ありますね。窓を開けておくと、風がスーっと吹き抜けるだけで簡単に0.5度程度は部屋の温度が下がるし、DS18B20の近くに手をかざしただけで0.3度程度は測定値が高くなります。夜には電球のスタンドの光を当てただけでも変化が見られます。

放射冷却の実験にも

現在、28.8度を表示していますが、DS18B20にエチルアルコールを吹きかけると、24.5度程度まで一気に下がります。これは放射冷却を目のあたりにしたのではないでしょうか

DS18B20/DS1822

DS18B20もDS1822も同じモノなんでしょうか。データシートではDS18B20が誤差0.5度、DS1822が誤差2度となっていますが、どちらも、差し替えて見た所、誤差は同じようです。また最小分解能は1/16度ですが、この程度は測定する度にパタパタと変化を繰り返すので、このソフトウェアでは2/16度以上の変化で音は鳴らすようにしている。

ledtemp.lst

ledtemp.lst

2006/06/04(日)8048使用 デジタル温度計 V2 完成

今度は個人宅でサーバー運用

実は、このprotom.orgって色々な所で寄生していて、昨日の夜11時に旧サーバを停止して、本日の昼には立ち上がる予定だったんですが、DNSサーバのキャッシュ時間を縮めておくのを忘れたため、周辺のPCがなかなか新IPアドレスに向いてくれなくて右往左往してしまいました。

配線完了

LED 8048 温度計

約3時間かかりました。しかし、7SEGのLEDのスタティック駆動って結局全部の本数を配線するって事ですね。最後は少し嫌になりました・・

まっ、いつものUEW線での配線なんですが、ちょっと込み入ってますね。

小さく作るにはテクニックより目の良さと集中力が必要だな。

なんとか簡単にプリント基板って作れない物だろうか。

CD-Rに直接プリントとかってプリンターがあるから、プリント基板に直接パターンを印刷して、そのままエッチングっていうプリンター無いでしょうか。

8048デジタル温度計 V2 完成

LED 8048 温度計

DS18B20はほんとに凄い。無校正の状態で0.1℃単位で測定出来るそれにデータシートでは誤差0.5℃だ。が、この8748バージョンは失敗だった。折角出来たのでデジカメで写真を撮っていると、温度がどんどん上がっていくのが確認できる。

最初は、電気スタンドのライトの光が当たってそれが影響しているのかなと思った・・・が、

設計ミス

何気なく8748を指で触れるとあちちち!かなり熱いのである。やっぱり、LEDとポート直結はまずかったらしい。いくら同じIntelだからって、何時からおまえはPentiumになったんだ!といわんばかりの熱さだ。しかし、今更各ポートに抵抗を付けるスペースなど基板の何処にもないのだ!あー。3時間かけてUEW線をハンダ付けしたのはなんだったんだ?もう寝よ。

100Ω

で、取り急ぎ、LEDのコモンからVCCへの配線の途中に100オーム入れて見ました(7セグのLED3個で100オームの抵抗一本を共有)これがドンピシャで、8748は熱くなりません。明るさもまぁまぁ。今晩はこのボードを枕元に置いて寝てみよう。火事にならないよね。きっと。

2006/06/03(土)MCS48 7SEG LED 温度計

2進数と10進数

nibble - decimal

DS1820では温度を小数点以下4ビットまで測定できる(データが来る)のであるが、これを10進数で表示するところで困っている

LED3桁で0.1℃単位まで測定できる温度計を作ろうとしているが、小数点以下1桁で丸めようとするとこんな結果になってしまう。

かと言って、小数点以下2桁ではムダな感じもする

回路図はこんな感じで(6/4 100Ω追加)

LED 8048 ledtemp

配線待ち

LED 8048 ledtemp

CPUにintel MCS-48/8048 (今回はNECのuPD8748HD) 7SEGのLED DS1820の簡単な作り。

2006/05/20(土)セメダイン ラピー

UV-EPROMの窓シール

UV-EPROM 窓シール

昔はパーツ屋に行くとPROMの窓シールとか普通に売っていましたが、暫く前からめっきり見かけなくなりました。自分で使う分くらいは手元に少しあるのですが、大抵は黒いビニールテープを切って使っていました。2716とかのUV-EPROMだとそんなに神経質にならなくても良いのですが、8748/8479とかのEPROM内蔵の古いマイコンは光に弱くて、スタンドライトを付けたり、写真を撮ろうとしてフラッシュを使うとその途端に暴走してしまいます。で、写真にある通り文房具屋にいったら古い在庫らしいメタリックテープが80円で売っていました。金、銀、赤、青の4色でした。

8748も8749も2716も大喜び

さっそく家でEPROMの窓に張ろうとすると幅が広くて少しはみ出ますが、ハサミで切ってしまえばOKです。張って見た感じ、とってもグッドです。

ネットで「セメダイン ラピー」のページを見ると、今はこの大きさの物は販売していませんでした。まだ沢山在庫あったからもう少し買ってこようかな。

でもちょっと薄いみたい

しかし、それでもデジカメのストロボを近ずけて写真を撮ると8748は暴走してしまいました。薄いので強い光は透けるようです。

2006/03/26(日)MCS48 8048ボード EEPROM セルフプログラミング

EE-PROMの動作

8048ボードV2ではプログラムメモリーを自己書き換えできるように設計したが、上手く動作せず日曜日を一日費やすが結局上手くいかず挫折。movx @R0,A などで書き込んだ瞬間に8048の動作が変になってしまう。これは予想だが、書き込みが完了するまでは次の動作に移れないのではないだろうか。

今回用いているX2816BPの資料はみつからないが同等品種のX2816Cでは書き込みが完了するまではD7のビットには最後に書き込んだデータの反転ビットが現れると書いてある。つまり今回の構成では書き込み命令を発行した瞬間に、次のプログラムのインストラクションフェッチサイクルではとんでもない命令を実行してしまうという事だろうか。

74LS123を使って書き込み後に5msの間CPUを停止するように8048のSS端子に接続して見たがこれも上手く行かない。これが上手く行かないのはなぜか現在では理解できない。

内蔵モードならOK

20060326_1.jpg

それでは8748の出番である。8748の内蔵プログラムから外付けのEE-PROMに対して書き込みを行ったらどうだろうか。急いでボードにジャンパーを取り付けて内蔵/外付けモード切替式に改造。全く同じプログラムを8748に書き込んで起動すると何事も無かったようにプログラムはスルスルと走り切る。その後EE-PROMの2816をライターで読み出すと見事にデータが書き込まれている。仕組みは至極簡単。アドレス上位3ビットをP20-P22にOUTL P2,Aで書き込んだ後、下位アドレスをR0にデータをAccにセットしてMOVX @R0,Aするだけ。その後5mS分をループで費やすも良し、MOVX A,@R0で書き込んだデータと同じ値が返って来るまでポーリングしても良しだ。

IMSA-48

では一体どんな回路になっているんだろうか。やはり、外付けプログラムメモリーをEE-PROMにして尚且つ自分自身を書き換えるのは無理があるのか。

この写真で見る限りやっぱりRAMにしないとダメだろうか。ちなみにIMSAI 8048についてはこちらを参照

2022.11.30 追記 こちらのサイトにマニュアル・回路図までアップロードしてありました。

https://vintagecomputer.ca/imsai-8048-control-computer

PRAM

共立電子 PRAM-64

何年か前に大阪の共立電子で「PRAM-64」なる物を\100-で購入してきた事があり8048の自己書き換えが上手く行かずに途方にくれている時、気分転換にこのPRAM-64の書き込みに挑戦してみた。データシートがないのでなんとも言えないが、これは多分、消去しなくて良いEP-ROMの代替品ではないだろうか。

という事で早速ROMライターに差し込んで、デバイスは多分2764だろうという事で書き込みをするが、当然の如くエラーとなる。本体にはスイッチが付いておりこれの役割も不明。格闘する事一時間。なんと書き込みに成功した。以下は結果だけを記録してお

スイッチを下側に倒して一旦ブランクチェックを行う。これによって全アドレスがFFになる

今度はスイッチを上側に倒して通常通り書き込みを行う

書き込みデバイスとしてIntel2764のQuickアルゴリズムを使う

しかしどうやってRAMの全領域をFFにセットしているのだろうか?もしかしてこのRAMって電源を切った後の初期データが全部FFとか?

2006/03/21(火)室温モニター

実際の抵抗値と8048のカウント値を実測してみた

20060321_2.gif

20060321_3.gif

うーんどうなんでしょ。大体いい線いってませんかね。でもサーミスタ自体の温度対抵抗値が直線では無い(確か低いほうでカーブが大きくなる)ので温度計としては不合格かもしれないけれど、室温モニター程度には使えるのではないだろうか。しかし思っていた以上にキレイな直線(すこし鈍っているかな)で驚いた。

私の部屋の温度状態を8048が監視中。

で夜は全く見えません。次はバージョン3として蛍光表示管か7セグメントLEDで作り直そうか。しかし、これで暫くは8048達と戯れる事ができるぞと。

20060321_4.jpg

2006/03/19(日)病み上がりのハンダテラピー

得意のUEW配線

20060319_0.jpg

今日は日曜日、朝は早起きしてコタツに座って、ハンダ付けを始める。久しぶりに部屋の中にヤニの香りが広がる。40前の視力には非常に辛い仕事である。UEW線と基板の銅箔パターンの色が非常に似ているのと、視力が弱っているためだろうか上手く目のフォーカスが合わない・・・が、3時間もやっていると人間慣れてくるのだろうか、はたまた昔とったきねづかだろうかカンが戻ってきた

一発始動

20060319_1.jpg

今回はプログラムメモリー外付けだから8035のハズだがコタツから手の届く範囲にあったFujitsuの8749を使うとする。今回はEEPROMだから抜き差しの手間はあるが、書き込みは早い。早速テストパターン発生プログラムをちょろっと書いて動作確認。テスターでポートのパタパタを確認。OKだ。とり合えず美味いビールを飲もう。