シーケンス回路

  1. 状態推移図

    1. 制御回路
      制御回路は状態推移図(flow diagram:流れ図,または,フロー図とも呼ばれる)で記述されることが多い.制御回路は処理の実行順序を示している.図では条件付状態推移を行っている.まず,Aの処理をし,次の時刻で X=0 なら 状態 B,X=1 (^X=0) なら状態 Cへ進む.状態 B または C に推移後、次の時刻では状態 D に進む. さらに,Y が 1 なら A に戻り Y=0 なら E に移り終了する.各状態では定められた仕事をすることになる。

    2. 状態推移図の例


    3. 動作表
      状態推移図は,処理過程を直感的に理解するのに便利である.A,B,Cの状態間の推移は次のの動作表のようにまとめることができる

      1. 動作表の例


    4. 動作の記述
      この動作表では現在の状態と条件が定まると、次の時刻での状態が定まることになる.入力 X の条件により異なる処理をすることは言語記述では

         if (X) then B else C

      に相当する.また,Y は繰り返し条件を指定する.したがって,この制御回路全体の言語記述では

      do{
      A;
      if (^X) then B ;
      else C;
      D;
      } while (Y)

      となる.A,B,C,Dは特定の処理を実行することになるが、ここでは、制御の流れのみに注目しているから、具体的な内容は記述していない。

    5. 問題
      上の記述と、以下の記述の相違点を述べよ。また、下の記述に相当する状態推移図を書きなさい。
      while(Y){
          A;
      if (^X) then B ;
      else C;
      D;
      }

  2. D型FFとクロック信号

    1. D型FF
      D型FFはCKの立ち上がりでD信号の値を記憶しQに出力します。^QはQの逆を出力します。また、PR(Preset)は0になると記憶を1に、CLR(CLeaR)は0になると、記憶を0にします。



    2. クロック信号
      一定時間間隔で、パルスを発生する信号をクロック信号と言います。FFはこのクロック信号で記憶する値を更新します。



  3. 制御回路の合成

    1. 設計手法
      状態遷移図で記述された回路は,一つの状態に一つのFF(フリップフロップ)を用いることにより簡単に合成することができます.まず,各状態 A〜E に対して,QA〜QEの5つのFFを用意します.各FFの中で一つのFFのみが値1を取ることとし,他のFFの値は0とします.最初状態 A とするため,QA のみが1であるよう設定されているものとします.
       状態 A から B への推移は 、QA が1であれば 次の時刻でXの値に従い QB または QC を1とし,QA を0に戻すことで実現できる.同様に,CからDへの推移は 、QC が1のとき次の時刻で QDを1,QC を0とすることとなる.この動作を回路にすると次の図となる.



    2. 初期設定
      この回路が期待道理に動作するには、各FFが正しく初期化される必要がある。FFには通常、プリセットとクリアを行う端子があり、プリセットを0にするとFFは1に、クリアを0にするとFFは0に設定される。初期設定にはリセット信号を用いる。この信号で、FFのQAのみ1にセットし、他のFFは0にクリアする。

    3. 問題
      リセット信号が0になったら、FFを初期化する回路を付加しなさい。

    4. 問題
      条件Xが1のとき、A>B>C、0のとき、A>C を繰り返し実行する回路を設計しましょう。



    5. 問題
       計数器を用いて、カウンタを道いて、状態A,B,Cを10回繰り返す回路を設計しなさい。

  4. 実験

    1. 内容
       例題のシーケンス回路をパッチボードで制作してください。クロックとリセット信号は、発信用PIC(OSCラベル)を利用します。スイッチはトグル型を利用します。

    2. 回路図


    3. 動作確認
      OSCのリセットスイッチで全体をリセットします。スイッチX,Y の値に従い、LEDが点灯することを確認してください。