度々すみません。以下のカウンター回路を製作する必要があります。
1、クロックは10MHz以下
2、クロックを間引く回路は出来ている。(出力1とする)
3、出力1を受けて数え始め、presetした値(入力2とする)で立ち上がる。
4、立ち上がった後はもう一つのpresetした値(入力3)までカウントされるまではhigh levelとし、入力3まで数え終わったらlow levelになる。
5、1から4を繰り返す。

分かりにくかったらすみません。ラッチ機能を搭載させればよいのでしょうが、上記のような回路を74シリーズのみで製作できないでしょうか?(FPGAかCPLDなどのプログラムを組むことはできないので御了承ください。)

よろしくお願いいたします。

A 回答 (7件)

 


 
 No5を改訂。No4の Delay 回路はそのままです。


入力;
  10Hzの信号 TTLレベル。
  10MHzのマスタークロック TTLレベル。

出力;
  周期 : (N1+1)・0.1sec
  Delay : (N2+3)・100ns
  幅 : (N3+1)・100ns


構成品;
  N1回路=間引き回路。
  N2回路=別掲Dealyブロック。
  N3回路=同上。
  74HC02…1 2入力NORゲートが4回路
  74HC04…2 Inverterが6回路
  74HC74…1 DFFが2回路
  74HC112…1 JKFFが2回路


クロック分配;
  10MHz入力
    ↓
  74HC04を1ゲート
    ├─→ JKJFFのCLK2本
    ↓
  74HC04を1ゲート
    ├─→ N3回路のカウンタCLK
    ↓
  74HC04を2ゲート直列
    ├─→ N2回路のカウンタCLK
    ↓
  74HC04を2ゲート直列
    └─→ 74HC74のCLK2本

  10Hz入力 → N1回路のCLK入力


リセット分配;
  手動スイッチのリセット配線を、全素子のリセット入力へ。


接続;
  N1回路出力P1 → DFFのD1入力
  DFFのQ1出力 → DFFのD2入力
  DFFのQ1bar出力とQ2出力 → NOR1の入力(負のAND)
  そのNOR1の出力 → JKFFのJ1入力
  JKFFのQ1出力 → N2回路のLoad入力
  JKFFのQ1bar出力 → NOR2の入力
  N2回路のCA出力 → JKFFのK1入力とInverter1
  そのInverter1出力 → NOR2の入力
  そのNOR2の出力 → JKFFのJ2入力
  N3回路のCA出力 → JKFFのK2入力
  JKFFのQ2出力 → N3回路のLoad入力
  JKFFのQ2bar出力 → Inverter2(出力バッファ)
  そのInverter2の出力 → 最終出力。

以上;



 JKFFは set-reset-FF として動いてます。一番最初は全部リセットなのでJKFFのQ出力はLowで、N2とN3回路は Load されっ放しです。 間引きパルスが J1 に来ると JKFF が set されて N2 カウンタは count-up になります。FFFFFまでカウントが進んでキャリーが出ると K2 で reset されて Load しっ放しに戻ります。次の間引パルスが来るまで子の状態で止まってるはずです。
 N3 の方も全く同様です。
 N2 から N3 に渡るところの Inverter1 と NOR2(負のAND)は、N2 回路の DipSW値が FFFFFのとき J2 にパルス出し放しを防ぐ目的です。
最終出力は一応バッファを通しましたがお任せします。InverterはNORゲートの余りで代用できます。
 なお、
駆動対象が電磁部品なので N2+3,N3+1 などの+されてる数値は気にならないとは思いますが 問題がありましたらお知らせください。
 
 
    • good
    • 0
この回答へのお礼

すばやいご回答ありがとうございます。

enableP,Tでどうにかしようと思っていたので、Loadで反復を防ぐ手は考え付きませんでした。ありがとうございます。
これでひとまず製作してみます。これで製作できたら今まで問題になっていたことが全て解決されます。ありがとうございました。

ちなみに以前のご質問に答えていなかったことがあるので回答します。
1、製作は手ハンダです。不要な残りをGNDにきちんと落とさなかったためにわけのわからないことになっていたことが以前ありました。ご指摘ありがとうございます。
2、カウンタはOMRON社のサムロータリーを使っています。試作機はご指摘のDipSWを使っていたのですが、うまく動く事がわかってからはこちらを使っています。使いやすいのと購入が楽なのが決め手でした。
http://www.fa.omron.co.jp/data_pdf/cat/355.pdf

このスレッドは今週末まであけておきます。何かまたご意見いただけるようでしたらお願いいたします。

お礼日時:2005/05/11 14:13

 


 
>> N2,N3回路が反復してしまう <<

 いまレスを拝見しました。その通りですね、書いてたとき中断がありまして、そのあと 10Hz を 10MHz と混同して 3回路とも一巡時間が等しいと思い込んだようです。ご免なさいです。シングルショット化したのを乗せます、とりあえず。
 
 
    • good
    • 0

 


 
全体構成;
 間引き回路のDipSW設定値をN1、Delay回路のDipSW設定値をN2、パルス幅回路のDipSW設定値をN3(N3-N2ではなく)と書いてます。

入力;
  10Hzの信号 TTLレベル。
  10MHzのマスタークロック TTLレベル。

出力;
  周期 : (N1-1)・0.1sec
  Delay : (N2-1)・100ns
  幅 : (N3-1)・100ns

クロック分配;
  10MHz入力
    ↓
  74HC04を1ゲート
    ├─→ JKJFFのCLK
    ↓
  74HC04を1ゲート
    ├─→ N3回路のカウンタCLK
    ↓
  74HC04を2ゲート直列
    ├─→ N2回路のカウンタCLK
    ↓
  74HC04を2ゲート直列
    └─→ 74HC74のCLK2本

(これは多数のFFを律するテクの一つで、クロックを 信号の流れ下りと逆向きに昇らせます。これを守ればタイミングマージンが労せず確保されます。)

リセット分配;
  手動スイッチのリセット配線を、全素子のリセット入力へ。

構成;
  N1回路=間引き回路。
  N2回路=別掲Dealyブロック。
  N3回路=同上。
  74HC00…1 NAND
  74HC04…1 Inverter
  74HC74…1 DFF
  74HC112…1 JKFF

接続;
  10Hz信号 → N1回路のCLK入力
  N1回路出力P1 → DFFのD1入力
  DFFのQ1出力 → DDFのD2入力
  DFFのQ1出力とQ2bar出力 → NANDの入力
  NAND出力 → N2回路のLoad入力
  N2回路のCA出力 → Inverter入力(NANDで可)
  そのInverter出力 → N3回路のLoad入力
  N2回路のCA出力 → JKFFのJ入力
  N3回路のCA出力 → JKFFのK入力
  JKFFのQ出力 → 最終出力。

以上;

 NANDやJKFFの不使用な残りは できるだけ入力をGNDに。
ところで製作は手ハンダですか?ワイヤラッピングですか?  電源パスコンはたっぷり付けてください、今までワンショット回路1個で静かだったのがディジタル雑音で悪さしないようにですね。
 
 

この回答への補足

大変お待たせしました。GW中に自分なりに解釈した限りではなんとかできそうな気がしてきました。
ありがとうございます。
が、まだ一つ問題が残っていると思われます。

たとえば、一周期が1秒の場合、(N1=9)
N2=100、N3=110とします。とするならば
t=0でN1がhighに立ち上がり、
t=99*0.1μ秒でN2がhighに立ち上がり、
t=109*0.1μ秒でN3がhighに立ち上がることから
確かにご教示いただいた回路でt=99*0.1μ秒から10*0.1μ秒だけhighになる回路は出来そうです。
ですが、その後にN2ならびにN3をunableにしないとプリセット値を数え続けてしまうことから
t=99*0.1μ*2秒後に再度N2がhighに立ち上がり、
t=109*0.1μ*2秒でN3がhighに立ち上がり、
...というのを繰り返し、1周期の間にN2,N3の設定値によって何度も何度も矩形パルスが立ち上がることになってしまいます。今回の場合はN1が立ち上がってから一度しか立ち上がってはいけないので、N2,N3の回路系に関しては一度数え終わったらENPまたはENTをlowにして数えるのをやめねばならなさそうです。
どういう経路でそのようなパルスを加えるのかはただいま思案中です。
もしまだお付き合いいただけるようでしたら、ご教示願います。
上の回路だけでもいかに自分が勉強不足だったかということで非常に勉強になりました。いつもいつも本当にありがとうございます。

補足日時:2005/05/10 15:02
    • good
    • 0
この回答へのお礼

再度ご回答、どうもありがとうございます。
またお返事が遅れてしまい、申し訳ありませんでした。

ただいま解読中なので(JKFFなど全く理解していないので)しばしお待ちください。
GW明けにはお返事できるよう努力します。よろしくお願いいたします。

お礼日時:2005/04/30 20:02

 


 
Delayブロック;

ブロックへの入力;
  Reset入力 → 全74HC160のReset(1)へ
  Load入力 → 全74HC160のLoad(9)へ
  CLK入力 → 全74HC160のCLK(2)へ

ブロックからの出力;
  74HC160最終段のcarry(15)出力 → Pn出力

内部構成;
   DipSW → 74HC160のD入力へ
   DipSW → 74HC160のD入力へ
   DipSW → 74HC160のD入力へ
   DipSW → 74HC160のD入力へ
   DipSW → 74HC160のD入力へ

  +電源 → 初段160のEt(10)と全160のEp(7)へ
  初段160のCarry(15)出力 → 2段目のEt(10)入力へ
  2段目160のCarry(15)出力 → 3段目のEt(10)入力へ
  3段目160のCarry(15)出力 → 4段目のEt(10)入力へ
  4段目160のCarry(15)出力 → 5段目のEt(10)入力へ


DipSWのお奨め;
 現行はSWがグランドで抵抗が電源側ですが、これをSWが電源側で抵抗がグランドにします。こうすれば、現行は
   出力周波数 fout = (入力周波数 fin)/(FFFFF-設定値)
なのが、
   fout = fin/(設定値-1)
になり、
さらに、カウンタICを16進の161や163でなく 10進の160か162を使えば面倒な16進計算が要らなくなります。私は10進16進両方用意してます。
また私事で恐縮ですが、DipSWも
http://www.jae.co.jp/product/pdf/42J.pdf
 の黒や黄色のつまみのあるものを使ってます。これはどのメーカーにもあり、16進だけを持っておけば、10進のときは0~9の間だけ使えばいいです。こうしておけば、設定のたびの計算が全く要らないので実験に集中できます。スライド型のDipSWは全く使ってないです。(しかし、説明に図を使えないと限界がありますね、、、)

以上;
 
 
    • good
    • 0

 


 
No.1補足 >> (3)少し違います。 <<

 了解です、それではNo.2の暫定提案は取り下げます。


>>
          __        __
所要出力 __|  |__....__|  |_
      ↑  ↑ ↑   ↑  ↑ ↑
計数値  P1  P2 P3  P1  P2 P3
P1は数え始めに相当します。 <<

 途中点線で省略してるので周期が読めないので;
(5)たぶん P1<P2<P3 だと思いますが合ってますか。20bitアップカウンタが表現する単調増加数列 00000~FFFFFの範囲内の値だと思っていいですか。
(6)だとすれば、P3のあと、どんなイベントで戻るんでしょうか?例えばカウンタがオーバーフローしたとか、間引き回路のカウンタのキャリーに依る(従属同期)とか。
(7)戻るのはP1に戻るのですか。
(8)あるいは質問を変えて、P1から次のP1までの周期はいくつですか。


 以下素朴な疑問ですが、
(9)レーザ側からの同期信号(確か周期10Hzでしたよね)はこの回路のどこに入るんでしょうか。
(10)間引きは 1/1 から最大何分の1ほどでしょうか。
(11)光出力と同期信号の関系は明確ですか、

  光出力 _____|_____
              →    ←
同期信号 ____| ̄ ̄ ̄|___

例えば図のように
光出力が終わった後に同期信号が立ち下がることが保証されてるかです。要するに同期信号の立ち下がりでシャッタが即動していいのか、あるいは何らかの時間を置いてから動くのかですね。

 
 

この回答への補足

再度ありがとうございます。またまた一つずつ回答していきます。
(5)ご指摘の通りです。
(6)むむむ、的確な回答が出来るかどうか怪しいです。戻るのはP1によるものと思います。

動かす装置は以下の通りです。
1,マスタークロック10MHzのdigital delay generator
以前紹介した製品です。http://www.thinksrs.com/products/DG535.htm
2,1.から10Hzの信号がでるのでそれを間引く。(たとえば100パルスごと。これがP1に相当します。この場合は周期が10sになります。)
3,P1から適当なdelayをおき、適当なパルス幅をもつ出力がほしいのです。というわけでマスタークロックとして1.を使用します。つまりP1の立ち上がりから数えて100nsごとに出ているパルスのa個目のところでパルスを立ち上げ、P1の立ち上げりから数えて(a+b)個めのところでパルスを立ち下げます。
P1の立ち上がりから100n*aのdelayを置き、100n*b秒間high levelのTTLパルスがほしいのです。
時間としてはP1=0とするとP2=100n*a,P3=100n*(a+b)です。100n*(a+b)<100(P1の1周期)です。というわけで戻りはP1の入力でと思っておりました。

(10)間引きは10Hzを間引くとして100個前後迄です。

(11)今回の場合100ns*(a+b)のタイミングでシャッターが閉じることになります。光出力が終わった後に同期信号が立ち下がることを保証したいということになると思います。

なぜこのような回路が必要なのかは御礼のところに書きます。

補足日時:2005/04/25 16:19
    • good
    • 0
この回答へのお礼

いつも長文にお付き合いしていただき、真に恐縮です。ありがとうございます。

では、この一連の質問の源についてお話します。
そもそも使用しているdigital delay generatorが諸悪の根源なのです。(1.で紹介した製品です。)

10MHzのマスタークロックを出力しているにも関わらず、パルス幅のほうはアナログで作っているため、パルス幅が長くなるとjitterが激しく大きくなってしまうのです。m秒近い幅を持たせると100μ秒前後で前に後ろにゆれているのです。(もっと長くするとjitterはもっと激しくなります。)これだと他の装置と同期を取ろうとすると問題があるので何とかしたいと思い、結局マスタークロック以外の部分を最初から作る羽目になってしまったのです。1台50万近くもする製品なのに肝心要のところでjitterがあるのです。
レーザーだけ動かすのであれば確かに立ち上がりだけで十分なのですが、立下りも重要な装置が絡んでいるためこのような事態になってしまいました。

何卒よろしくお願いいたします。

お礼日時:2005/04/25 16:33

 


 
1.
 暫定提案;
74HC163をN個、74HC157をN個、74HCを1個、クロックバッファゲート適宜。


  全系リセット(手動スイッチ) → 163,107のリセットへ
  間引き回路のクロック出力 → 163,107のCKへ

         invして163のPEへ
               ↑
    163のCA出力-┴→107のJとKへ


  P2置数switch → 157のA(Low)側入力へ
  P3置数switch → 同、  B(High)側入力へ


  107のQbar出力 → 157のselectへ

  107のQ出力 → この回路ブロックの出力



2.
 間引き回路出力のグリッチ対策案

  原発振10MHz → inv ┬→ inv → 163のクロックと
               |      157の4A入力へ
               ↓
    163のCA出力 → NAND → 157の4B入力へ

 (回路図を他所に併用した回答はrejectされたので文章で書きました。)
 
 
    • good
    • 0

 


 
 カウンタ1632のキャリー出力を2ラインセレクタで出力する回路でしたね、
(1)その出力を更に別のカウンタのクロックに使うのですか。

(2)一般に、カウンタを多段接続したキャリー出力には、細いヒゲ状の AND漏れ とか グリッチ(Glitch,不具合) と呼んでる余計なものが出ます。細くてビットのパタンに依存します。これをカウンタのクロックに使うと悲惨です。このへん確認できませんか。

(3) 下図のような事ですか。
             ___       ___
所要出力 ___|    |___|    |__
       ↑   ↑   ↑    ↑   ↑
計数値   P2  P3   P2   P3   P2

(4)
ディジタルICの入手は、通販などの小売りでしょうか、半導体メーカの商社サポートあるのでしょうか。 要するにちょっとマイナーな部品を使えるか、ということです。今回は16進カウンタ74HC163、JKFF74HC112、一致比較器74HC688 程度でできそうですが入手は大丈夫でしょうか。
 
 

この回答への補足

毎度丁寧なご回答、ありがとうございます。一つずつ回答しています。
(1)その通りです。
(2)オシロで確認した限りは特に問題ありませんでした。また別の装置に接続したところ特に問題なくこちらの要求どおりの動作しました。
(3)少し違います。
          __        __
所要出力 __|  |__....__|  |_
      ↑  ↑ ↑   ↑  ↑ ↑
計数値  P1  P2 P3  P1  P2 P3
P1は数え始めに相当します。
74163でいうなればclear,load,enableP,Tが同時にHighになったときのようなことです。
(4)購入ルートはRSコンポーネンツ、秋葉原のお店などからです。

No.2への回答はしばしお待ちください。検討します。

補足日時:2005/04/23 14:16
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング