目次
前
次
LED方向指示器(2bits)
ROMシーケンサを利用して、自動車で使う方向指示器を
エミュレートしてみます。
レジスタと論理積を利用し、次の回路をROMシーケンサで
動かすことを考えました。
動作シーケンスは、以下。
- スイッチ状態を記憶
- ディレイ
- スイッチ状態をLEDに転送
- ディレイ
- '0'をLEDに転送
- ディレイ
- 1に戻る
回路図から、スイッチ状態を記憶するにはTRGにパルスを
出力し、状態をLEDに転送するにはENAに'1'を出力すれば
よいとわかります。
シーケンサにTRG、ENAの値を重ねます。
- ENA='0' TRG='1' スイッチ状態を記憶
- ENA='0' TRG='0' ディレイ
- ENA='1' TRG='0' スイッチ状態をLEDに転送
- ENA='1' TRG='0' ディレイ
- ENA='0' TRG='0' '0'ををLEDに転送
- ENA='0' TRG='0' ディレイ
- ENA='0' TRG='0' 1に戻る
ROMシーケンサの出力を8ビットとし、上位4ビットに
次のアドレス、下位に信号値を使う場合でシーケンサを
組むと、以下。TRGをLSBに、ENAを1ビットとします。
- address=0000 // next=0001 data=0001 (ENA='0' TRG='1')
- address=0001 // next=0010 data=0000 (ENA='0' TRG='0')
- address=0010 // next=0011 data=0000 (ENA='0' TRG='0')
- address=0011 // next=0100 data=0000 (ENA='0' TRG='0')
- address=0100 // next=0101 data=0000 (ENA='1' TRG='0')
- address=0101 // next=0110 data=0000 (ENA='1' TRG='0')
- address=0110 // next=0111 data=0000 (ENA='1' TRG='0')
- address=0111 // next=1000 data=0000 (ENA='1' TRG='0')
- address=1000 // next=1001 data=0000 (ENA='1' TRG='0')
- address=1001 // next=1010 data=0000 (ENA='1' TRG='0')
- address=1010 // next=1011 data=0000 (ENA='0' TRG='0')
- address=1011 // next=1100 data=0000 (ENA='0' TRG='0')
- address=1100 // next=1101 data=0000 (ENA='0' TRG='0')
- address=1101 // next=1110 data=0000 (ENA='0' TRG='0')
- address=1110 // next=1111 data=0000 (ENA='0' TRG='0')
- address=1111 // next=0000 data=0000 (ENA='0' TRG='0')
このROMシーケンサの回路は、次のように単純です。
パワーオンで、ROMにアドレスを与えるレジスタをクリアします。
クロックが入るたびに、ROMが出力するアドレスを記憶するのと
同時に4ビットの信号を出力。
目次
前
次