こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

LEDドライバICのカスケード接続

添付図のようにLEDドライバICを搭載した基板を複数枚カスケード接続しています。
DATA、CLK、ENABLE、LATCHの4線式8BITのICです。
ここで、最終基板の点灯だけを確認するために、ダミーカウント基板(?)のようなものを製作したいのですが、どのような回路になるのでしょうか?
DATAを送信するマイコンのプログラムは変更せずに、CPLD等は使用せずに組みたいのですが・・。
1枚の基板にドライバICが1個搭載されているとして、最終の5枚目の検査の場合を例に御教授いただけると幸いです。
ドライバICを必要数(この例では4個)並べるくらいしか思いつかないのです・・。もっとカスケード数が多くなるとこんな方法では対処できないので。。
よろしく御願いいたします。

投稿日時 - 2010-01-29 00:33:39

QNo.5631589

困ってます

質問者が選んだベストアンサー

再三に渡り申し訳ないですが、回路間違ってますね。
2入力ANDではなく2入力XORです。

>設定したクロックに達すると7430は"L"を出力するので74164は"HOLD"状態になり、以降クロックが入力されてもHOLD状態であるためカウントアップせずに"L"出力のままとなる。

その理解であってます。

>FIFOに入力されそのままターゲット基板へ出力されていたDATAが、RD端子が"H"になることでFIFOからのData出力が止まる

このデバイスはRD/WRは正論理ですので、"H"になることでFIFOからのData出力開始されます。
RD/WR負論理のFIFOを使用する場合は読み替えてください。

使い方としては、
1、SW1~5でカウンタをとめる値を設定します。(SWは負論理とする)
2、出力開始前にリセットSWをLowにしてFIFOとカウンタを初期状態にします。
3、WRは常にアクティブにしてますのでCLK入力されるたびにすべてFIFOに保存されます。
4、SWの値とカウント値が一致するとカウンタがホールドされ、RD信号は"H"になります。
5、次に入力されたCLKからデータ出力します。

データはカウンタ分遅延されて出力されますので、一見シフトレジスタと同様の動作に見えます。

注意事項として、この回路では段数0は再現できてないので、段数0も必要でしたらバイパスさせるように変更する必要があります。

投稿日時 - 2010-02-02 22:20:57

お礼

ありがとうございます!
お蔭様で回路の動作は理解できました。

カウンタにも同期式と非同期式があるようで、非同期のほうで実験してみたいと思います。

お付き合いいただきましてありがとう御座いました。

投稿日時 - 2010-02-08 00:06:21

このQ&Aは役に立ちましたか?

3人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.4

色々間違ってそうですので修正しておきます。

まだ色々おかしなところがある気がしますので、
もし使用されるのであれば見直しされることをお勧めします。

投稿日時 - 2010-01-31 00:34:30

お礼

いろいろとありがとう御座います。
勉強不足でまだ理解が浅いのですが、データシートを読ませていただきました。

設定したクロックに達すると7430は"L"を出力するので74164は"HOLD"状態になり、以降クロックが入力されてもHOLD状態であるためカウントアップせずに"L"出力のままとなる。

すいません、FIFOはこれから勉強させていただきますが、FIFOに入力されそのままターゲット基板へ出力されていたDATAが、RD端子が"H"になることでFIFOからのData出力が止まる、と解釈したいのですが、この解釈はあっていますでしょうか?(これならば全体の回路動作が理解できるので・・)

何より、御丁寧にアドバイスいただきありがとうございます。

投稿日時 - 2010-02-02 01:41:56

ANo.3

ただ、それでは段数が10段になれば10個のシフトICが必要になってしまい回路規模が巨大になってしまいます。

ならば、FIFOで可変長のシフトレジスタを作ってしまおうと言うのがNo1の案です。
LED基板のデータシートを見たところ、データのシフト部はENABLEやLATCH信号は使用してないようです。
単純なシフトレジスタのようですのでLatch信号でカウントする案は使えませんね。

クロック数のみをカウントして、指定したカウント値に達したらFIFOのRDを許可することにしましょう。
カウンタは74163を2つ、FIFOはSN74ACT2228(256x1)を使用して、32段まで対応させる仕様としてみましょう。
http://focus.tij.co.jp/jp/docs/prod/folders/print/sn74act2228.html
http://search.digikey.com/scripts/DkSearch/dksus.dll?vendor=0&keywords=fifo+SN74ACT+256+x1+soic

実際に検証してないのですが、こんな感じですかね。
http://homepage2.nifty.com/y-daisan/html/B080106.html
http://homepage2.nifty.com/y-daisan/html/B071201.html

投稿日時 - 2010-01-31 00:02:39

ANo.2

>最初の必要数のDATAを記憶しておいて、あとはラッチ信号が来るまでクロックを捨て続ける、といった考えで良いのですよね?

違います。最初の8bitを記憶するだけではダメです。
シフトして次々入力されてくるデータはすべてLED基板のFFに記憶されていますので、ダミー回路でも同様に保持しておく必要があります。
そのための記憶回路が必要になるのです。

ただ、シフトレジスタ(例えば74HC91)では単純にLED基板をシフトレジスタICに置き換えるだけですので、想定されるLED基板の段数分ICを実装して出力を切り替えて使用することになるでしょう。

投稿日時 - 2010-01-30 23:05:16

ANo.1

信号の詳細仕様がよく理解できないのでアイデアだけになりますが・・・。

まず、カウンタだけでは無理です。
段数に応じた記憶回路が必要になります。
記憶回路はシフトレジスタ、ラッチ、FIFOなどです。

>もっとカスケード数が多くなるとこんな方法では対処できないので。。

確かに汎用ロジックでは段数分のシフトレジスタICが複数必要になってきます。
最初から段数を想定して段数分のシフトレジスタを用意してもよいですが、FIFO+カウンタではいかがでしょう?
http://www.indexpro.co.jp/search/search-ctg.asp?dcode=100215

・EN信号入力時にFIFO書き込みを行い、ラッチ入力時にカウンタをUPさせます。
・ラッチの回数が想定される段数に達するとEN信号をRD側にも入力します。
(NANDなどで段数に達するまではマスクしておく)

これだとFIFOの記憶容量の許すかぎり段数を増やすことができます。
ご参考まで。

投稿日時 - 2010-01-29 09:45:20

補足

早速の御回答ありがとうございます。
http://www.semicon.toshiba.co.jp/docs/datasheet/ja/ASSP/TB62777FNG_ja_datasheet_090130.pdf
このICをカスケード接続します。

最終段の基板の点灯が正しいかを確認するということは、マイコンから出力される最初のデータを記憶する必要があるということに今、気が付きました。
最初の必要数のDATAを記憶しておいて、あとはラッチ信号が来るまでクロックを捨て続ける、といった考えで良いのですよね?

まだ私の頭では回路まで浮かびませんが・・(^^;;

投稿日時 - 2010-01-30 08:40:54

あなたにオススメの質問