まさはる's Weblog |
Macintoshとオーディオの話題 |
« 2015年10月 | トップページに戻る | 2016年5月 » |
2015年11月
2015年11月23日PRISON ARCHITECT(その6)Category : Game 5 / Posted at 2015年11月23日 11:08前回からの続きで、Prison Architectのロジック回路の遅延ネタの話題です。 初期の頃、うまく動作しなかった4つのNANDゲートを使った簡単なJKフリップフロップですが、もしかして後段のゲートの出力が初段に帰ってくる前に初段のゲートを閉じれば正常に動作するかもと思い、実験してみました。 クロックの1の幅を短くしたJKフリップフロップ回路 結論から先に言うと、この回路はゲーム内で正常に動作します。これは、クロックを奇数個のNOTゲートで反転・遅延させてANDゲートを通すため、クロックの1の幅が短くなっており、初段のゲートを早めに閉めるというものです。 動作させてみて思いましたが、この回路はクロックの1の幅が短くなっているため、その短い時間内に信号が来ていないとフリップフロップとして機能しません。よりシビアな使い方を求められそうなので、幾つかの回路を組み合わせて使う場合には考えものです。 さて、JKフリップフロップがだんだん分かってきたので、ポジティブでマスタースレーブ型でないものを探していたところ、Texas Instrumentsのデータシートにポジティブエッジトリガー・JKフリップフロップのSN74LS109Aの回路図があったので、真似て作ってみました。 ...で、20年前の鉛筆書きのような回路図を真似たのですが、正しく動作しない...。諦めて寝ようかと思っていたところ、回路図の1つ前のページのプリセットの記号が、回路図と違っていることに気づきました。あの回路図、プリセットの上のバーがかすれて消えているw。Qの上のバーも消えていますがそっちは置いといて、回路図のプリセットをバー付きにしたら正常に動作しました。 ポジティブエッジトリガー・JKフリップフロップ回路 もともと回路図が複雑な上に、シンメトリーじゃないので作りにくいのが難点です。色々と作ってみましたが、このゲーム的に作りやすいのは単純作業でできるマスタースレーブ型のようです。なお、今回の2つの回路図は、クリアとプリセットが不要な場合は、単純に消してしまって構いません。 2015年11月22日PRISON ARCHITECT(その5)Category : Game 5 / Posted at 2015年11月22日 07:41最近、囚人をほったらかしにして論理回路にハマっている、Prison Architectの話題です。 ネットを眺めていたら、Texas Instrumentsのデータシートにネガティブエッジトリガー・JKフリップフロップのSN74LVC112Aの回路図があったので、真似て作ってみました。 ネガティブエッジトリガー・JKフリップフロップ回路 前々回に、JKフリップフロップは、マスター・スレーブ型は正常に動作すると記載したのですが、マスター・スレーブ型ではない、この回路図でも正常に動作します。ちなみにこの回路図は、データシートに記載されている回路図から(1)左右開きを上下開きに変更、(2)遅延回路をNOTゲートを4つ使用したものに変更しています。 なお、このゲーム内での実験では、4つのNOTゲートを2つに減らすと正常に動作しません。3つの場合は正常に動作しましたが、4つにしておくのが無難だと思います。 この回路のように遅延回路を使えば、ループする回路でも発振させずに正常に動作させられるということが分かりました。へぇーって感じです。このゲームで論理回路を始めた頃、JKフリップフロップが正しく動作しないと悩んでいた時に、これを知っていればもう少し早く、解決策が見つけられたような気がします。 話変わって、前回まで作っていたあのカウンタ、タイマーを使って定時にクリアする回路を作ってみました。 タイマーを使用したカウンタ・クリア回路 このゲームにあるタイマーは、1時間毎に1か0の出力を設定できるので、シフトレジスタを使用して、今の状態と1クロック前の状態を比較し、違っていれば1クロック分のクリア信号が出るようになっています。なお、この回路図のDフリップフロップは、次の図のものを使用しています。 ポジティブエッジトリガー・Dフリップフロップ回路 Dフリップフロップはこの図のものでなくてもいいのですが、クロックの立ち上がりか立ち下がりで動作するタイプでないと、シフトレジスタが正常に機能しないので、注意が必要です。 2015年11月17日PRISON ARCHITECT(その4)Category : Game 5 / Posted at 2015年11月17日 21:44またまたまた前回からの続きで、Prison Architectの話題です。 前回、10進数2桁のアップカウンタ回路を作って終わったわけですが、あれだと2進数の表示しかできないし...ということで、やっぱりというか案の定、あれに手を出してしまいました。 BCD to 7-Segment Decoder 最初は、メジャーなところのデコーダICの回路図でも真似しようかと思っていたのですが、見てみたら良くわからんw。何がどこに繋がっているのかよく分からない上に、余計な機能が付いています。そこで、ネットでいくつか見つけた、学校の教科書にあるような2進数の0000〜1001を0〜9に変換する機能のみの単純な回路を作ってみました。 実は雨ざらし... 配線状況はラッピングのよう 随分と開きスペースがあり悠長なつくりになっているのは、配線間違いがないように回路図どおりの部品配置にしているためです。うまく動作すれば、部品配置を考えて省スペースにしてみるのも良いかもしれません。 2015年11月15日PRISON ARCHITECT(その3)Category : Game 5 / Posted at 2015年11月15日 17:42前回からの続きで、Prison Architectの話題です。 前回、RSフリップフロップがうまく動作したので、JKフリップフロップを作ろうとしていたのですが、何度作り直しても正しく動作しません。4つのゲートを使った簡単な回路は、どうやら発振してしまうのか無理なようです。そこで、マスター・スレーブ型のJKフリップフロップにしてみました。 JKフリップフロップ回路 この回路は正しく動作します。これができればと言う事で、他にいろいろ作ってみました。 Dフリップフロップ回路 Tフリップフロップ回路 上の絵のTフリップフロップは、JKフリップフロップのJとKをつないでTにしただけなので、JKフリップフロップと殆ど変わりありません。 4bitアップカウンタ回路 Tフリップフロップを4つ使って4bitのアップカウンタを作ってみました。使い方は、Clock端子にカウントしたい対象物(例えばPressure Padの出力)を入れれば、Q0〜Q3に2進数で出力されます。 10進数2桁アップカウンタ回路 10進数の9は2進数で1001なので、Q00とQ03の出力が1になったら次の回路のClock端子に1を入れて桁上げをしています。なお、2桁目は2進数でQ10からQ13に出力されます。 Tフリップフロップ回路(クリア付) ネットで色々と調べてみましたが、クリアの接続の仕方はあまり詳しく書かれていない上に、みんな違うw。Texas Instrumentsのデータシートでは、どうやらJの入口のゲートと、Qバーへの出口のゲートと、その他2箇所にクリアが接続されているようなので、試行錯誤の上、クリアをマスター側の2箇所に接続しました。ネットではスレーブ側に接続している回路図を見かけるのですが、あれだとマスター側が情報を記憶していて、クリア解除後に以前の状態に戻ってしまうと思うけど...。 さて、2進数ですが00〜99までカウント出来るようになったし、次はやっぱりあれですかね。でもあれは配線が大変そうだし。そもそも、このゲームで立派なカウンタを作っても、使い道があまり無いような...w。 (おまけ) f/4のクロック回路 2015年11月 3日PRISON ARCHITECT(その2)Category : Game 5 / Posted at 2015年11月 3日 09:22前回からの続きで、Prison Architectの話題です。 今回の話題は赤色で囲ったあたり このゲーム、進めていくと土地を拡張できるようになるわけですが、右側の拡張は道路を挟むため鬼門です。上の絵は、Lサイズマップで土地の拡張を左側1回、右側1回したものですが、右側にこれだけ広い土地があると、囚人を道路の向こうに渡したくなるものです。 赤字の数字とアルファベットはゲートです このゲートの動作は次のとおりです。なお、Road Gate 1とRoad Gate 4はDoor Controlにより遠隔操作がされており、車や人がゲートの前に来ると警備員がゲートを開けるようになっています。 1) 常時はRoad Gate 1, 2, 3, 4は閉まっており、Large Jail Door a, b, c, dは開いています。 これは鉄道の踏切に似ていて、Road Gate 1に列車が来るとLarge Jail Door b, cが閉まり、Road Gate 4に列車が到達するとLarge Jail Door b, cが開く仕組みです。踏切と違うのは脱走防止のため、ゲートが2重になっているところでしょうかw。 回路はこのようになっています この回路はRSフリップフロップ回路(Wikipedia - フリップフロップ)を使用しており、Sに1が入るとQが1、Qバーは0に、Sが0になってもQとQバーの値は保持され、Rに1が入るとQが0、Qバーは1になるというものです。 (必要なもの) なお、このゲームでは、信号を出すアイテムから受けるアイテムに向かって配線する必要があるので注意が必要です。上の回路図の場合は、左のほうから右に向かって配線すればいいでしょう。また、Logic Circuitは右クリックで論理ゲートの種類が変わるので、NOTとNANDにする必要があります。ちなみに、ここではNOTとNANDを2個づつ使っていますが、2個のNORでも同じことができます。その場合はSとRが逆さまになります。 使ってみると分かるのですが、囚人が「開けてー」って言うと、警備員がゲートを開けに行くし...w。まぁ、でも大体いい感じです。とりあえず今のところ脱走はありません。 |
« 2015年10月 | トップページに戻る | 2016年5月 » |
まさはる's Weblog, Copyright © 2000-2024 まさはる. |