2016.9.23
前へ
次へ
ホームページトップへ戻る

マイコン独立大作戦
CRTインターフェースボードの製作

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
WindowsパソコンにUSB接続して使う現行方式はそれなりに便利ではありますが、ときとしてWindows
のしがらみから開放されて、小さいながらも独立した一個のパソコンとして機能したいと思うこともあります。
昔はそれが普通のことだったのですが、安価なCRTディスプレイが生産中止となって久しい今日ではそれ
は叶わぬことと諦めていたのですが…。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

[第21回]


●水平同期信号回路(2)

下の回路図は前回も見ていただいた「水平同期信号回路」です。
もとは[第14回]でお見せしました。



この回路は「水平」同期回路なので、水平1ライン(80バイト)分のアドレスラインを作り出します。
IC7(74HC393)に1文字分を表示するパルスを入力することで、IC7(74HC393)からはRAMを順にアクセスするアドレスが出力されます。
80(字)は50Hです。
ところが、前回も書きましたがIC7(74HC393)は50Hではクリアされません。
70Hまでカウントが進んだとき、はじめてクリアされます。
IC8(74HC10)のpin6がカウントクリア信号になります。
つまり上の回路で作り出されるRAMのアドレスは000〜06Fということになります。

なぜ50Hではなくて70Hなのか?
というところで前回はタイムアウトになってしまいました。

水平1ラインの表示期間は文字数で80字ですが、1ライン全体の長さはそれにフロントポーチ、同期パルス、バックポーチが加わった期間になります。
ここがポイントです。
下の図は[第18回]でお見せしました。



1ドットを表示するクロックは14MHzですから、1文字8ドットを表示する時間は8/14≒0.571μsです。
上図の上側の波形の各期間をこの1文字分の時間で割って文字数で示してみます。

フロントポーチ 8文字(4.568μs)
水平同期パルス 8文字(4.568μs)
バックポーチ 16文字(9.136μs)
水平表示期間 80文字(45.68μs)
水平1走査期間 112文字(63.952μs)

このように文字単位で計算すると、上図の波形の数値との間に少しずれが出ますが、コンポジットビデオ信号はある程度の許容度がありますから、この程度のずれは問題にはなりません。
上でお見せした回路はこの文字数をもとに組み立てられています。
水平1走査期間は約64μsですが、それを文字数で表すと112文字を表示する期間になります。
112は16進数では70Hです。
水平同期カウンタIC7(74HC393)が70Hでクリアされるのはそのためです。
それでは80字(50H)はどこで出てくるのかといいますと、IC14(74HC11)pin12の出力がそれです。
ここは本当は74HC08でよいのですが、配線の都合で74HC11を使っています。
Q4(IC7pin11)とQ6(IC7pin9)が同時にHになったとき(50H)、IC15(74HC74)のpin5がHになります。
この出力は次段で1文字分の時間補正をしたのちIC15pin8から出力されて水平ブランキング信号となります。
RAMからは00〜6FHの期間中ずっと文字コードが出力され、それを受けてROM〜シフトレジスタからビット表示データがシリアル出力されますが、ブランキング信号がマスクをかけて50H〜6FHの期間は文字が表示されないようにしています。

このあと水平同期パルスについて説明するつもりだったのですが、本日も時間がありません。
次回に説明することにいたします。

CRTインターフェースボードの製作[第21回]
2016.9.23upload

前へ
次へ
ホームページトップへ戻る