74hc154の代替え品

 74hc154は4-to-16 line decoderですが、これの機能を3-to-8 line decoderを2個使って作る事が出来るそうです。ここでは試作7としてこの機能を実現したいと思います。TD4作成に際してICがひとつ増え、配線が複雑になりますが74hc154が入手できなくなってもTD4を作る事は可能です。

使用する材料は、だいたいこんなところ。ICは74hc161(1個)と74hc138(2個)です。ユニバーサル基盤は両面(スルーホール)ものです。

まずはデータシートから

  ここでは74hc138のデータシートと真理値表及び74hc161との接続について説明します。

74hc138のピン配置図です。A0〜A2の3つが入力、Y0〜Y7の8つが出力になります。NXP Semiconductors のデータシートより転載
74hc138の機能ダイアグラムです。/E1,/E2,E3が制御用のピンです。/E1,/E2は「Active LOW」、すなわち「L」で有効になります。また、E3は「Active HEIGH」で「H」で有効になります。E3を「L」に接続すると出力Y0〜Y7すべてが「H」となります。74hc154をエミュレートするには、/E1及びE3の2つの制御用ピンを利用します。/E2ピンは「L」に結線します。NXP Semiconductors のデータシートより転載
74hc138の真理値表です。/E1,/E2,E3が各々「L」、「L」、「H」の場合にのみマルチプレクサとして機能します。74hc161のQA,QB,QCを74hc138のA0,A1,A2に結線します。また、QDは一個の74hc138(@)の/E1と結線します(E3は「H」に結線します)。もう一個の74hc138(A)についてはE3ピンに結線します(/E1は「L」に結線)。NXP Semiconductors のデータシートより転載
74hc161のピン配置図です。この工作ではQDはフラッグとして利用されます。カウンタが0〜7までカウントする間は、このQDからは「L」が出力されます。そうすると一個目の74hc138は機能し、QDから「H」が出力されると最初の74hc138は機能しなくなり、2個目の74hc138が機能し始めるという仕組みになります。
ソフトが無くて回路図は上手に描けないので模式図を示します。74hc154を模すために74hc138を2個使用します。74hc161の出力中、QDをフラッグとして使用します。74hc154は4bit出力を16bit信号にばらしますので3bit出力を8bit信号にばらす74hc138は前半の8bit信号を@の74hc138が受け持ち、後半の8bit信号をAの74hc138が受け持ちます。その出力を制御するのが/E1,/E2及びE3です。/E1,/E2のどちらかに「H」を入力するとY0〜Y7の出力すべてが「H」となります。また、E3に「L」を入力しても同じ事になります。その辺のところは74hc138の真理値表を見て下さい。
74hc161のQDは@の/E1に、そしてAのE3に結線します。ちなみに@の/E2は「L」に、E3は「H」に結線します。こうする事で初期には@が機能する事になります。カウンタが0〜7までカウントする間は4bit目が「L」ですが、8になると4bit目が「H」となり@の機能は抑えられます。
QA〜QDの出力は0:「0000」、1:「0001」、2:「0010」、3:「0011」、4:「0100」、5:「0101」、6:「0110」、7:「0111」となり、その間QDは「0」すなわち「L」になります。この間は@の74hc138のY0〜Y7からは真理値表に対応する出力が期待できます。
ちなみに、この間Aの74hc138のE3には「L」が入力される事になりますから、Aの機能は抑えられます。そしていよいよカウンタが「8」を数えると出力は「1111」すなわち「HHHH」となり、作業はAのICの手に渡る事になります。
QDから「H」が出力されるとAの74hc138の機能が回復し、「1000」、「1001」、「1010」、「1011」、「1100」、「1101」、「1110」、「1111」と数えて、Aの74hc138が「0」から数え始めます。こうして、2つの74hc138がシームレスに共同して4bit信号を16bitにばらし、74hc154に機能を実現する事ができます。

いよいよ作業開始

  

まず、部品面に部品を配置したところ。左側の4つのLEDランプはカウンタ(74hc161)からの出力を表示するためのもの、残りはマルチプレクサからの出力対応。8bit毎に色を変えてあります。
ハンダ面
電源(陽極)の配線を終えたところ
電源の配線を終えたところ。青は陰極。はみ出している線(青、赤)はテスターなどに仮電源を提供するためのもの。
クロックなど基本的な信号の配線を終えたところ。
白い線は信号用です。この状態でカウンタが機能します。
当面、カウンタが正しく働くか確かめます。
この段階ではまだLEDランプの配線を行っていないのでテスターで出力を確認します。正しく動作したのでLEDへの配線を行います。
LEDランプの配線が終わったので、カウンタ部分だけ動作確認します。74hc161のカウンタとしての動作試験

お約束のトラブル・・です

  「お約束」と言っていいほどトラブルに見舞われながらTD4を完成させましたが、この試作でもトラブルに遭遇してしまいました。原因は両面ユニバーサル基盤を使ったせいだと思います。どこかで、ICの出力と入力がショートしていたようです。

カウンタの動作確認を終え74hc138への配線を終えたところトラブルが発生しました。カウンタが機能しなくなりました。トラブルの最中は必至で写真も撮れませんでした。74hc161が正しくカウントアップ出来ずに飛んでしまいます。74hc161からの出力は2V位しかありません。異常です。
74hc161が壊れているかも知れないと・・相変わらず・・74hc161は手ごわい!ICを取り換えたりと試してみましたが壊れていませんでした。そこで電池もチェックしたりと色々やってみました。
導通試験も色々やりましたが何とも手がかりがつかめませんでした。IC付近の配線は狭いところに入り組んでいて、どこか異常に接触している可能性があるため、一度配線をさばく事にしました。
切れた配線が悲しい・・・。
両面ユニバーサル基盤を使ったため、穴にハンダが入り込んでハンダをとるのに大変でした。写真はハンダ吸い取り線です。これは必需品です。IC周りのハンダをきれいに取りました。
この状態でカウンタ機能を確認したところ正常に戻りました。やはり、IC周りの配線に問題があったようです。結線が難しいです。作戦を変更して結線が複雑なところはポートを立てることにしました。盤の端に十分な間隔をとってポートのピンを立てます。ICからの配線はここに結線します。
ピンクの点でマークしてあるのがポートです。ここに74hc161からの出力を結線し、上部のピンから2つの74hc138へ配線します。こうする事でIC周りはすっきしします。
74hc138を一個だけ実装し、試験しています。
ここまでは順調です。後はもう一個実装すればOK・・・かな?
上の試験の続きです。この段階で一個目の74hc138の役割は終わり。
中途省略して、さらに一個目に戻ってきたところです。順調そうです。
さらに途中省略してミノミシクリップを配線に置き換えて・・。順調。
2個目の74hc138を実装して試験しているところ。カウンタが「1000」を出力して2個目の74hc138へ移ったところ。
2個目の最後。カウンタ出力は「1111」。
2順目。順調です。後は配線に置き換えれば・・いいはず。
じゃじゃじゃじゃーーーん!完成です。動作試験は74hc154エミュレータの動作試験を見て下さい。

まとめ

  国内で入手困難になった74hc154を74hc138二個でエミュレートする事が出来ました。ICは一個増え、配線も少し込み合いますが、ともかくTD4を作る事は出来ます。但し、CD74HC154ENはまだアールエスコンポーネンツ(株)で購入する事ができます(2013/12/22現在)。但し5個単位です。5個で510円。また、CD74HC138Eも同じサイトで購入できます。外国から取り寄せですので1週間位かかります。10個単位です。10個で630円。