2010年1月10日日曜日

16セグメントLED“KA2311-42B-UR91”で遊ぶ(Part-7)

末年始をはさんで少し間があいてしまったが、6桁表示ユニットの試作機も問題なく動いており、回路はひとまずFixとしておきたいと思う。

このテの“バス配線モノ”は、手書きの図面だとやはり読みにくいように思う。 特に、他人の書いた図面はねぇ
ということで、今日はちょっと頑張って図面書きの時間を取ってみた次第。


路図はこちら。
例によって縮小されているが、クリックで元のサイズの画像が表示される。

それではごくごく簡単に、回路の説明をしておきたいと思う。

表示ユニットの入力端子は、5V電源、GNDを除いて、DATA、CLOCK、DISPの3本のみとなっている。
基本動作としては、DATAに送りたいデータの最初のBitをセットし、CLOCKをL→H→Lと変化させてやる。 これを23Bit分繰り返して1桁分の表示データが転送されることになる。
ソフトで1Bit分ずつ転送するのは少し面倒ではあるが、今回は表示ユニットを複数接続することを視野に入れて、単純なインターフェースで接続できるように考えてみた。

さて、今回のキーパーツだが、74ACシリーズの8Bitシフトレジスタ 74AC164を3本使用した。 74ACシリーズはドライブ能力が24mAと高いため、あまり良い使い方とは言えないが、LEDドライバとしても実力十分といえる。
ここで、LEDのカソード側は 16セグメント+DPで17Bit分必要になるが、8Bitシフトレジスタ×2本では1Bit分足りず、苦しい選択を迫られる。
当初はアノード側を別のシフトレジスタとして、DPをDATA端子に直接割り当ててしまう(シフト後にDPのデータを送ってやる)ことを考えていた。
また、カソード側ドライブ用の74AC164にはシフト後のパラレルデータをラッチしておく機能がないので、シリパラ変換中のデータはそのままLEDに供給される。 このまま表示されるとゴミデータが表示される原因にもなるので、その間表示を消すための回路も必要だ。
ここも最初はアノード側ドライバとして74HC595あたりにトランジスタを外付けし、表示OFFは3ステートバッファを解放して実現しようと考えていたのだが、74HC595はドライブ能力が6mAなので、大食いLEDにはちょっともの足りない。 ドライブ用トランジスタとして2SA1300を起用するとしても、スペック上、十分に飽和させるためには IC/IBを40とするよう指定されている。

ということで、結局74AC164の3段重ねとし、アノード側も同じシフトレジスタを使うことにした。 アノード側ドライバには2SA1300を各桁毎に接続、それに全桁を一括OFFできるよう、ダイオードともう1個2SA1300を使って制御することに決定した。

個人的には、74HC595の74ACタイプがあれば、このテの用途には便利に思うのだが・・・

0 件のコメント: