LCDを68系CPU直結で動かした

パラレルのLCD(液晶表示器)は現在だともっぱらマイコンの汎用ポートで制御されるから、どうかすると「訳のわからん独自インタフェース」なんて説明される。なに言ってくれちゃってんだろうね。本当のところあれは68系バスで、実際、68系CPUだと直結して動かすことができる。はい、やって見せましょうってことで作った拡張基板を下に示す。

LCDにはCS(チップセレクト)がなくてEで兼用することになっている。そのためCSとEのANDをとってLCDのEへ入れる。その部分にちょっとしたロジックが必要で、うるさくいえばEが直結でない。あとは疑いようのない直結。LCDまわりの回路を下に示す。CSとEのANDをとるロジックは、拡張基板だと7400のNANDを3個使って構成している。

68系CPUの代表格はMC6800で、それを載せたSBC6800が手もとに売るほどあるが、困ったことにバスが外部へ出ていない。接続しやすいのはSBC6303で、こちらはHD6303が載っている。似たようなもんだし、まあいいか、ということでHD6303でやったら、LCDが四角しか表示しない。とうとうロジアナをつないで原因を調べる騒動に発展。

ロジアナの表示を追うと、ところどころデータが揺れたりヒゲが出たりしている。しかたなく(おいっ)マニュアルを読み返したら、HD6303はデータがアドレスと同一のピンを使うせいで確定が遅いのだった。一方のヒゲはまだ原因が掴めていない。しかし根は同じだと思う。早い話、HD6303のバスは68系バスではないということ。いかんいかん。

あらためてSBC6800でテスト。バスが外部へ出ていないからACIAを取り外してそのICソケットからLCDへ配線。とうていスマートではないが、LCDがMC6800のバスに直結されていることは一目瞭然となり、これはこれで意味がある。結果、LDA命令とSTA命令で普通に表示できた。MC6800は周辺ICやメモリなどと同様にLCDを最速で制御している。

パラレルのLCDが68系CPU直結で動くことは当然の事実として機会あるごとに述べてきた。今にして思えば、偉そうなことをいう前にちゃんと確認しておくべきだった。HD6303で動かなかったときは焦ったぞ。最終的にはMC6800との直結が動き、内心、ホッとしている。今後は、もう確認したのだから、偉そうにいおうと思う。

カテゴリー: 6800, 6809 パーマリンク

LCDを68系CPU直結で動かした への4件のフィードバック

  1. H.I. より:

    初めまして、ツイッターのアカを持っていないのでここに投稿させてください。
    8749で苦労されているそうですが、自作機はイレースチェック、ベリファイ可能です。
    EA、T0、の操作がうまく行っていないと推測します。
    datasheetのVERIFY MODE timing chartは信用ならないので無視します。
    COMBINATION PROGRAM/VERIFY MODEを採用します。
    1、EAに高圧を印加
    2,T0はDATA BUSの向きを制御(2716のOEのような扱い)
    3、RESETでアドレスをラッチ
    4、プログラム電圧には触らず、T0をhighにすれば読み出せます
    5,他はdatasheetの要求どおりで
    このやり方でうまくいきました。

    • vintagechips より:

      初めまして。貴重な情報ありがとうございます。2点、質問させてください。
      ・書き込み動作中の1バイト書き込み直後にベリファイできたのですか。それとも全体を書き込んだあと読み出しができたのですか。
      ・プログラム電圧に触らないとのことですが、ベリファイ時、VDDとPROGは何Vですか。
      教えていただけますなら、誠に恐縮ですが、このコメントへの返信ではなく新しいコメントを付けてください。階層の制限があるものですからすみません。
      よろしくお願い致します。

  2. H.I より:

    最初の質問について、どちらもできます。
    2番めの質問について、読み出し中はVDD、PROGは5VでEAは高圧です。datasheetに準じます。
    datasheetの書き込み動作でVDD、PROGを操作しないから書き込みが行われず、現在の内容が読み出せてしまうと考えるとわかりやすいかも。
    EA=高圧が、内部ROMアクセスのキーになっていると推測します。
    自分がテストしたのはインテル8741Aと日電8749Hです。
    うまく行くことを祈っております。

    • vintagechips より:

      よくわかりました。確かにそれはまだ試していない制御です。現在、内部/外部ROMで動く評価基板を作成中でして、一段落したらやってみます。書き込みとベリファイができたときすぐ動作確認できますから。ありがとうございます。

コメントを残す