本文へスキップ


Cypress EZ-USB : EZ-USB FX2 56pin [3]

 本ページでは、EZ-USBに簡単な周辺回路(右図。早押しクイズの解答ボタン)を付け加えます。解答者AまたはBがクイズの問題がわかったらプッシュボタンAまたはBを押します。早く押された方のLED(AまたはB)が点灯し解答権を示します。クイズの解答が終了したら、初期状態に戻すためリセットボタンを押します。
 この回路はEZ-USBがなくても動作しますが、最初はEZ-USBを単なる+5Vの供給元として使用し、次にこの回路の状態をPCでモニターし、PC出力でリセットできるように改造します。
 とにかく、回路が動作する理屈を理解することより、回路を組むスキルを習得することに重点を置いてください。

必要なパーツ

 右下図に必要なパーツを図示しました。このうち74HCT32についてはその入力が直接EZ-USBに接続されることがないため74HC32を使用してもかまいません。尚、EZ-USBの出力を受けるためにはHCTシリーズであることが必要で、HCシリーズは不可です。
 回路図にLEDの型番とそれに直結している抵抗(LED用電流制限抵抗)の抵抗値が示されていないのは、皆さんに自由にプッシュボタンとLEDを選択していただきたかったからです。
 プッシュボタンの色と対応するLEDの色を同じにした方がわかりやすいですが、手元にあった青いボタンを流用したので、高価な青色LEDを使わざるを得なくなっています。
 電流制限抵抗の抵抗値を決定するには以下の点を考慮する必要があります。

1. LEDの順方向電圧(VF)
2. LEDを光らせるのに必要な電流値。
3. LEDからの電流を吸い込むIC(74HCT00)に流せる最大電流値。

 3.については74HCT00のデータシートから20mAが限度だとわかる(絶対最大定格(Absolute Maximum Ratings)のInput/Output Clamp Currentを調べる)ので、LEDに流す電流はこれより小さい値にする必要があります。また、LEDについては青・赤ともに15mAも流せば十分光ることがわかっています。
 順方向電圧は基本的には店で確認するか型番からデータシートを確認しますが、デジタルテスターで測定できれば手っ取り早いです。通常デジタルテスターを抵抗測定モードにし、更にその中の選択でダイオードのマークを出すと順方向電圧が測定できます。ダイオードの両端をテスターの2つのピンで挟みます。向きがあります。通常足の長い方が+側(アノード)でそれをテスターの赤いピンを接触させます。ただし、赤色LEDは1.788Vと分かりましたが青色LEDは測定できませんでした。その理由は、青色LEDの順方向電圧が3から3.6V(店頭での表示)と非常に大きいためです。
 電流制限抵抗の抵抗値は、(5[V]-順方向電圧[V])/電流値(0.015A)で計算します。その結果、赤色LEDでは214Ω、青色LEDでは(順方向電圧を3.5Vとすると)100Ωとなります。抵抗値は正確でなくてよいので近い抵抗値のものを購入してください。

電源回路の配線

 回路の配線には大きく分けて電源回路の配線と信号線の配線の2種類があり、両者を意識して分けて配線するべきです。そして、以下のような順番で電源回路の配線を先に検査まで完了するようにします。今回もそうですが、電源回路については決まり切っていること(ICのVCCとGNDの接続など)は回路図に表記されていないことも多いので、ここで定番の配線方法を学びます。

1. EZ-USBを結合するための2列ピンヘッダ―2個、IC(74HCT00x2および74HCT32)をハンダ付けします 。2個のピンヘッダは80pのピンヘッダを20pずつに折って作成します。ICはすべて向きを一致させ一列に配置します。ICのピンはできるだけ深く突っ込んでハンダ付けします。その結果ICのピンが裏側で出っ張った場合ニッパーで切り落とします。

2. 0.8mmfのすず線を用いて、GND(CN2のpin1,2)と+5V(CN2のpin3,4)の電源線を配線します。2本とも裏面においてICの2列のピンの並びの間を通します(+5Vが左側)。この配置だとCN2から+5VとGNDのすず線を引き出すと交差して接触してしまうため、+5Vのすず線は一旦表側に出して迂回させGNDのすず線とは立体交差させます。

3. ICのVCC(14pin)とGNDピン(7pin)を0.5mmfのすず線を用いて、それぞれ+5VとGND線に接続・ハンダ付けします。この系統のICは大きさが異なってもすべて対角線上に端にVCCとGNDがあるので同じ形での電源線への接続となります。

4. 積層セラミックコンデンサを片方をVCCに片方をGND線にハンダ付けします。これは、各ICで発生するノイズの他の回路への伝搬を低減するための措置で誤動作の予防です(バイパスコンデンサ、パスコンと言います)。また、CN2の電源の出口すぐにタンタルコンデンサ(+-の極性があるので注意)を、+(-)側を+5V(GND)にハンダ付けします。これはまた、EZ-USBで発生したノイズが電源回路を通じて現在作成している回路に伝搬すること、また逆のノイズ伝搬を低減すること、そして電源電圧のふらつきが存在してもこのコンデンサである程度平滑化されることを目的としており、これも誤動作の予防です。結局、本件のような簡単な回路の場合これらのコンデンサを全く配置しなくてもおそらく問題なく動作すると思いますが、複雑な回路でノイズによる誤動作が発生した場合、通常その原因追求と除去に膨大な時間がかかります。従って、このようなノイズによる誤動作の防止作法はできるだけまめに行いましょう。

 ここまできたら、まず+5VとGNDの電源線がショートしていないかの確認を行います。テスタで2本の電源線を挟みその抵抗値が測定できないか数10MΩ程度ならOKです。また、+5V(CN2の3,4pin)が隣にあるCN2の5,6pinとショートしていないかもテスターで確認します。
 次に、この回路にEZ-USBを接続し、さらにUSBケーブルでPCに接続します。この状態で、GtUSBBox.exeが前回同様立ち上がればOKですが、異常な場合はすぐにUSBケーブルを抜いてください。そして、一旦EZ-USBをこの回路から外してからPCに接続しても問題がなければ、この回路のCN1とCN2のピンヘッダと回路との接続が異常(2本の電源線とCN2との接続方法が間違っている。CN2の1pinから4pin以外がこの回路と接触しているなど)ということになります。また、EZ-USBが単独でも動作がおかしい時は深刻です。上記の操作でEZ-USBが壊れたわけで、EZ-USBを再度調達しなければならないし、回路ももう一度注意深く確認しなければなりません。
 最後に、回路をEZ-USBを介してPCに結合した状態(電源を供給した状態)で、回路の表面で各ICの14pin(VCC)と7pin(GND)の間に+5Vが安定して印加されていることを確認します。

信号線の配線

 電顕回路の配線さえ間違いなく行われていれば、信号線の配線は多少間違えても動作しないだけで壊れるなどの深刻な事態には通常なりません。間違えたら直せばいいだけです。

1. ICの配線はデータシート(型番によりネットで検索できる)でICの内容を確認するところから始めます。HCT00およびHCT32は右図(汎用ロジック・デバイス規格表[CQ出版社]より引用)のようにそれぞれNANDおよびORの回路を4回路ずつ内包しています。このピン配置を参考にして回路通りに接続します。
 尚、本回路を作成する際結局HCT00のNAND回路が3個、HCT32のOR回路が2個未使用状態になります。未使用回路の入力ピン(1,2,4,5,9,10,12,13pinのどれか)は+5VかGNDに直接接続しておきましょう。未使用回路の入力ピンは通常内部回路で弱く電源回路とつながっているので問題が起こらないはずですが、何らかの原因で中間の電圧をノイズ込みで入力してしまう可能性があります。そうするとその回路の出力がVCCとGNDの間を振動する事態となり高周波ノイズの原因となります。また、HCTのようなCMOS ICの場合0VやVCCに入出力が固定されているとほとんど電力を消費せず、値が変動するときに電力を消費します。従って出力が振動するような状態だと無駄に電力を消費しているという意味でも問題です。

2. 逆3角形はGNDという意味です。

3. プッシュボタンについては2個以上の端子がある場合、押したときだけショートする端子のペアをテスターを用いて調べて回路図の様に接続します。

4. LEDは足の長い方が+側(アノード)です。つなぎ間違えれても壊れませんので付け替えればいいだけです。

 以上、組みあがったら、まずテスタ−でもう一度+5VとGNDがショートしていないことを確認してください。そして、いざEZ-USBを接続し、更にUSBケーブルでPCに接続しましょう。その結果、もしどちらかのLEDが点灯すればリセットボタンを押してください。LEDが消灯すればOKです。消灯しなければ異常です。
 次に、2つのプッシュボタンのどちらかを押してください。対応するLEDが点灯しそれがリセットボタンで消灯すればOKです。更に片方のLEDが点灯しているときにもう片方のプッシュボタンを押してもそれに対応するLEDが消灯したままであればOKです。このように動作しないときは配線ミスや接触不良があります。

 右図は青ボタンを押して青色LEDが点灯したところです。作成してみて問題なく動作はしましたが、青色LEDと赤色LEDとでは輝度が全く異なり青色の方が断然明るいです。その理由として、実際にLEDに流れている電流が異なるとか、そもそもLEDの質が異なるので同じ電流を流しても輝度が異なるとかいろいろ考えられます。これを改善するには同じ種類のLEDを使用するとか電流制限抵抗の値を調節して同じ輝度にするとかです。
 また、この回路には基本的な欠点「電源投入時(USBケーブル接続直後)の状態が理論上不定である」があります。とにかくリセットボタンを押せば両LEDが消灯し、次のプッシュボタンの入力を待つ待機状態(「初期状態」と定義します)になるのですが、動作が確定していない回路は本質的に不良品です。右図のように作成した回路ではUSBケーブル接続直後、常に初期状態となりましたが、意図しているわけでなく、たまたまです。
 これをハードウェア的に改良することもできるでしょうが、そのための回路を付け加えることになるのは必至です。一方、この回路をEZ-USBやPCを連動させて、電源投入時に必ずリセット出力するようにすれば、常に理論的に動作を制御でき問題は解決です(ただ、このような単純な回路のためにEZ-USBやPCがないと確定動作しないというのもどうかと思いますが)。

解答者を増やすには

 上記回路では早押しクイズの解答者は2人だけですが、もっと多人数であることが普通です。多人数に対応するには単に回路図上の左のプッシュボタンから右端のNAND回路直前までの回路を人数分用意して、最後のNANDへの人数分の入力信号をまとめてNANDしてその出力をプッシュボタン直後の全てのOR回路に入力すれぼOKです。そのような目的のため74HC30(8個の入力をまとめてNANDする)というICがあり、これで8人までは対応可能です。このICの入力はEZ-USBの端子に絡まず独立しているので、HCTでなく入手しやすいHCも利用できます。解答者が8人未満の時74HC30の入力端子が余りますが、余った入力端子は+5Vに直結しておきます。

> 次に進む