目次
前
次
交通信号エミュレータ
身の回りにあるシーケンサとして、日々目にするのは
交通信号機でしょう。
最近の交通信号機は、発光体としてLEDを利用したものが多く
ROMシーケンサで実現するには、最適と考えました。
片側1車線の道路に設置してある交通信号機の動作は
次のシーケンスを繰り返しています。
東西と南北に道路がある場合、同時に赤の状態を入れて
安全を確保する仕様でシーケンスを構成。
2組の信号機の状態を抜き出してみます。
- address=0000 // 1(green) 0(yellow) 0(red) / 0(green) 0(yellow) 1(red)
- address=0001 // 0(green) 1(yellow) 0(red) / 0(green) 0(yellow) 1(red)
- address=0010 // 0(green) 0(yellow) 1(red) / 0(green) 0(yellow) 1(red)
- address=0011 // 0(green) 0(yellow) 1(red) / 1(green) 0(yellow) 0(red)
- address=0100 // 0(green) 0(yellow) 1(red) / 0(green) 1(yellow) 0(red)
- address=0101 // 0(green) 0(yellow) 1(red) / 0(green) 0(yellow) 1(red)
ステートは、6通りなのでROMのアドレスは、4ビット以内でOK。
データは6ビットになっていますが、状態は0、1、2という
3通りだけなので、上位2ビット、下位2ビットの計4ビット
で実現できます。
データを上位、下位の2ビットで書き直し。
- address=0000 // 10(green) / 00(red)
- address=0001 // 01(yellow) / 00(red)
- address=0010 // 00(red) / 00(red)
- address=0011 // 00(red) / 10(green)
- address=0100 // 00(red) / 01(yellow)
- address=0101 // 00(red) / 00(red)
ROMに与えるデータは、以下となります。
+0 0x18
+1 0x24
+2 0x30
+3 0x42
+4 0x51
+5 0x00
データは2ビットなので、デコードする回路を接続すれば
交通信号機エミュレータを実現できそう。
74LS139を利用すれば、1パッケージのICで実現できそう。
アドレス4ビット、データ4ビットのROMシーケンサを利用
すればよいので、次の回路を上の回路に接続。
ROMシーケンサを動かすクロックは、周波数を低くしたいので
外部に分周器を持ったクロックジェネレータを用意。
目次
前
次