Опубликован: 21.06.2011 | Уровень: для всех | Доступ: свободно
Лекция 9:

Счетные схемы ЭВМ. Счетчики и сумматоры

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >

В следующем примере рассмотрим 4-входовую схему, включающую мультиплексоры и счетчики (рис. 9.9). Необходимо заполнить таблицу состояний в соответствии с заданной последовательностью входных сигналов: 2, 4, 1, 9, 10, 15, 6, 3, 13, 14.

Пример схемы с двумя мультиплексорами и счётчиком

увеличить изображение
Рис. 9.9. Пример схемы с двумя мультиплексорами и счётчиком

Адресные входы мультиплексора MS 1 соединены следующим образом: А1 - со входом " d ", А0 - со входом " а ". А адресные входы мультиплексора MS 2 соединены: А3 - со входом " d ", А2 - со входом " b ", А1 - со входом " c ", А0 - со входом " а ". На информационные входы D3 … D0 MS 1 подается код 12_{10}=1100_{2}. Поэтому его входы D3 и D2 соединены с источником питания + 5 В, т.е. на них постоянно подается сигнал логической 1. Входы D1 и D 0 заземлены, т.е. на них постоянно подается сигнал логического 0. На информационные входы D 15 … D 0 мультиплексора MS 2 подается код 5А33Н=0101\text{ }1010\text{ }0011\text{ }0011_{2}. Поэтому его входы D14, D12, D11, D9, D5, D4, D1 и D0 соединены с источником питания + 5 В, т.е. на них постоянно подается сигнал логической 1. А входы D15, D13, D10, D8, D7, D6, D3 и D2 заземлены, поэтому на них постоянно подается сигнал логического 0.

В данной схеме переключение счетчика СТ будет происходить в том случае, когда на выходе MS 1 будет логическая 1, т.е. когда он будет передавать информацию со входа D2 или D3. Это происходит при наличии на его адресных входах А1А0 кодов 10_{2} и 11_{2}. С учетом подключения А0 к входной линии a, а А1 - к входной линии d, получим следующее:

  1. для получения кода А1А0=10_{2} на входы abcd нужно подать комбинацию 0**1_{2}, где " * " - любое значение (и логический 0, и логическая 1 ). В конкретных кодах - это 4 варианта кодов abcd: 0\underline{00}1_{2}=1_{10} ; 0\underline{01}1_{2}=3_{10} ; 0\underline{10}1_{2}=5_{10} ; 0\underline{11}1_{2}=7_{10}.
  2. для получения кода А1А0=11_{2} на входы abcd нужно подать комбинацию 1**1_{2}. В конкретных кодах - это 4 варианта кодов abcd: 1\underline{00}1_{2}=9_{10} ; 1\underline{01}1_{2}=11_{10} ; 1\underline{10}1_{2}=13_{10} ; 1\underline{11}1_{2}=15_{10}.

Сброс счетчика СТ будет происходить в том случае, когда на выходе MS 2 будет логическая 1, если он будет передавать информацию со входов D0, D1, D4, D5, D9, D11, D12 или D14.

При показанном подключении входных сигналов ( a - к А0, b - к А2, c - к А1, d - к А3 ) коммутация D0 к выходу MS 2 производится при подаче на А3А2А1А0 кода 0000_{2}. Это достигается при abcd=0000_{2}=0_{10}.

Аналогично, коммутация D1 к выходу MS 2 производится при подаче на А3А2А1А0 кода 0001_{2}. Это достигается при abcd=1000_{2}= 8_{10}.

Аналогично, коммутация D4 к выходу MS 2 производится при подаче на А3А2А1А0 кода 0100_{2}. Это достигается при abcd=0100_{2}= 4_{10}.

Аналогично, коммутация D5 к выходу MS 2 производится при подаче на А3А2А1А0 кода 0101_{2}. Это достигается при abcd=1100_{2}= 12_{10}.

Аналогично, коммутация D9 к выходу MS2 производится при подаче на А3А2А1А0 кода 1001_{2}. Это достигается при abcd=1001_{2}= 9_{10}.

Аналогично, коммутация D11 к выходу MS 2 производится при подаче на А3А2А1А0 кода 1011_{2}. Это достигается при abcd=1011_{2}= 11_{10}.

Аналогично, коммутация D12 к выходу MS 2 производится при подаче на А3А2А1А0 кода 1100_{2}. Это достигается при abcd=0101_{2}= 5_{10}.

Аналогично, коммутация D14 к выходу MS 2 производится при подаче на А3А2А1А0 кода 1110_{2}. Это достигается при abcd=0111_{2}= 7_{10}.

При остальных входных комбинациях на выход мультиплексора MS 2 подключается логический 0 с выходов D15, D13, D10, D8, D7, D6, D3, D2.

Примечание: если у счетчика одновременно активны и сигнал сброса ( R=1 ), и сигнал счета ( С=1 ), происходит сброс счетчика. Так, в рассматриваемом примере решения такая ситуация имеет место при подаче входного кода abcd=1001_{2}= 9_{10}.

Таблица состояний схемы приведена в табл. 9.5.

Таблица 9.5. Таблица состояний для примера схемы на рис. 9.9
Код на входах abcd Коммутируемый вход мультиплексора MS 1 Коммутируемый вход мультиплексора MS 2 Состояние выводов счетчика СТ Режим работы счетчика
Дес. Двоичный Входы Выходы
a b c d С R Q8 Q4 Q2 Q1
2 0 0 1 0 D0 D2 0 0 1 1 1 1 Схема пассивна
4 0 1 0 0 D0 D4 0 1 0 0 0 0 Сброс
1 0 0 0 1 D2 D8 1 0 0 0 0 1 Переключение
9 1 0 0 1 D3 D9 1 1 0 0 0 0 Сброс
10 1 0 1 0 D1 D3 0 0 0 0 0 0 Схема пассивна
15 1 1 1 1 D3 D15 1 0 0 0 0 1 Переключение
6 0 1 1 0 D0 D6 0 0 0 0 0 1 Схема пассивна
3 0 0 1 1 D2 D10 1 0 0 0 1 0 Переключение
13 1 1 0 1 D3 D13 1 0 0 0 1 1 Переключение
14 1 1 1 0 D1 D7 0 0 0 0 1 1 Схема пассивна

В следующем примере рассматривается 4-входовая схема (рис. 9.10), включающая дешифраторы, мультиплексоры, счетчики и сумматор. Необходимо заполнить таблицу состояний схемы в соответствии с заданной последовательностью входных сигналов: 0, 1, 2, 3, 5, 7, 10, 12, 13, 9.

Пример совместной работы ИМС средней степени интеграции

увеличить изображение
Рис. 9.10. Пример совместной работы ИМС средней степени интеграции

Адресные входы MS соединены следующим образом: А1 - со входом " d ", А0 - со входом " а ". На информационные входы D3...D0 мультиплексора MS подается код 14_{10}=1110_{2}. Поэтому его входы D3, D2 и D1 соединены с источником питания + 5 В, т.е. на них постоянно подается сигнал логической 1. А вход D0 заземлен, т.е. на него постоянно подается сигнал логического 0. Входы DC подключены следующим образом: вход "4" соединен с входным сигналом " а ", "2" - со входом " d ", "1" - со входом " с ". У счетчика CT 1 переключающи й вход С подключен к выходу мультиплексора MS, а вход сброса R - к выходу логического элемента ИЛИ-1. На входы элемента ИЛИ-1 согласно варианту 1 подаются сигналы с выходов "0" и "2" дешифратора DC. У счетчика CT 2 переключающий вход С подключен к выходу логического элемента ИЛИ-2. На входы элемента ИЛИ-2 согласно варианту 1 подаются сигналы с выходов "4", "5" и "6" дешифратора DC. Вход сброса R подключен к выходу элементу И. Элемент И реализует функцию a\overline{b}\overline{c}. Входы сумматора SM подключены следующим образом. Его вход А8 заземлен, т. к. согласно варианту на него постоянно подается сигнал логического 0. Вход В8 и вход входного переноса Р_{i-1} соединен с источником питания + 5 В, т. к. на них постоянно подается сигнал логической 1, что отображается в табл. 9.6.

С выходов "4", "2" и "1" счетчика СТ 1 сигналы Q4_{1}, Q2_{1} и Q1_{1} согласно варианту поступают на входы сумматора А4, А2 и А1 соответственно. А с выходов "4", "2" и "1" счетчика СТ 2 сигналы Q4_{2}, Q2_{2} и Q1_{2} поступают на входы сумматора В4, В2 и В1 соответственно.

В данной схеме счетчик СТ1 переключается в том случае, когда на выходе MS будет логическая 1. Это происходит тогда, когда он будет передавать информацию со своих входов D1, D2 или D3 при наличии на его адресных входах А1А0 кодов 01_{2}, 10_{2} или 11_{2} соответственно. С учетом подключения А0 к входной линии a, а А1 - к входной линии d, получим следующее:

  1. для получения кода А1А0=01_{2} на входы abcd нужно подать комбинацию 1**0_{2}. В конкретных кодах - это 4 варианта кодов abcd: 1\underline{00}0_{2}=8_{10} ; 1\underline{01}0_{2}=10_{10} ; 1\underline{10}0_{2}=12_{10} ; 1\underline{11}0_{2}=14_{10} ;
  2. для получения кода А1А0=10_{2} на входы abcd нужно подать комбинацию 0**1_{2}. В конкретных кодах - это 4 варианта кодов abcd: 0\underline{00}1_{2}=1_{10} ; 0\underline{01}1_{2}=3_{10} ; 0\underline{10}1_{2}=5_{10} ; 0\underline{11}1_{2}=7_{10} ;
  3. для получения кода А1А0=11_{2} на входы abcd нужно подать комбинацию 1**1_{2}. В конкретных кодах - это 4 варианта кодов abcd: 1\underline{00}1_{2}=9_{10} ; 1\underline{01}1_{2}=11_{10} ; 1\underline{10}1_{2}=13_{10} ; 1\underline{11}1_{2}=15_{10}.

Сброс счетчика СТ1 будет происходить в том случае, когда на выходе элемента ИЛИ-1 будет логическая 1, т.е. когда на выходах дешифратора "0" или "2" будет активный сигнал, равный логической 1. С учетом подключения входов дешифратора ("4" - к а, "2" - к d, "1" - к с ) это происходит в тех случаях, когда:

  1. на входы DC на "4", "2", "1" подается код 0_{10}=000_{2} при a=0, d=0 и с=0. Это достигается при abcd=0*00_{2}, т.е. при подаче двух комбинаций входного кода - abcd=0\underline{0}00_{2}=0_{10} или abcd=0\underline{1}00_{2 }=4_{10} ;
  2. на входы DC на "4", "2", "1" подается код 2_{10}=010_{2} при a=0, d=1 и с=0. Это достигается при abcd=0*01_{2}, т.е. при подаче двух комбинаций входного кода - abcd=0\underline{0}01_{2}=1_{10} или abcd=0\underline{1}01_{2 }=5_{10}.

Переключение счетчика СТ2 будет происходить в том случае, когда на выходе элемента ИЛИ-2 будет логическая 1, т.е. когда на выходах дешифратора "4", "5" или "6" будет активный сигнал, равный логической 1. С учетом подключения входов дешифратора ("4" - к а, "2" - к d, "1" - к с ) это происходит в тех случаях, когда:

  1. на входы DC "4", "2", "1" подается код 4_{10}= 100_{2} при a=1, d=0 и с=0. Это достигается при abcd=1*00_{2}, т.е. при подаче двух комбинаций входного кода - abcd=1\underline{0}00_{2}=8_{10} или abcd=1\underline{1}00_{2 }=12_{10} ;
  2. на входы DC "4", "2", "1" подается код 5_{10}=101_{2} при a=1, d=0 и с=1. Это достигается при abcd=1*10_{2}, т.е. при подаче двух комбинаций входного кода - abcd=1\underline{0}10_{2}=10_{10} или abcd=1\underline{1}10_{2 }=14_{10} ;
  3. на входы DC "4", "2", "1" подается код 6_{10}=110_{2} при a=1, d=1 и с=0. Это достигается при abcd=1*01_{2}, т.е. при подаче двух комбинаций входного кода - abcd=1\underline{0}01_{2}=9_{10} или abcd=1\underline{1}01_{2 }=13_{10}.

Сброс счетчика СТ2 будет происходить в том случае, когда на выходе элемента И будет логическая 1. Этот логический элемент в данной схеме реализует функцию a\overline{b}\overline{c}. Значение этой функции будет равно 1 при a=1, b=0 и с=0, когда abcd=100*_{2}, т.е. при подаче двух комбинаций входного кода - abcd=100\underline{0}_{2}=8_{10} или abcd=100\underline{1}_{2 }=9_{10}.

С учетом подключения сумматора SM, он осуществляет вычисления:

\begin{array}{rrl}
& \underline{
	\begin{array}{ccccc}
	& _{+}0 & Q4  & Q2  & Q1 \\
	& _{+}1 & Q4  & Q2  & Q1 \\
	& &  &  &  1 \\
	\end{array}
}
&
\begin{array}{l}
  \\
  \\      
  \gets \text{ Входной перенос } P_{i-1}\\
\end{array} \\

\text{ Выходной перенос } \to &	
   \begin{array}{ccccc}
        P_{i-1}& S8 & S4  & S2  & S1 \\	
   \end{array}
&\\
\end{array}

Например, для первой строки таблицы состояний (таблица 25) нужно произвести вычисления:

\begin{array}{rrl}
& \underline{
	\begin{array}{ccccc}
	& _{+}0 & 0 & 0  & 0 \\
	& _{+}1 & 0  & 1  & 0 \\
	& &  &  &  1 \\
	\end{array}
}
&
\begin{array}{l}
  \\
  \\      
  \gets \text{ Входной перенос } P_{i-1}\\
\end{array} \\

\text{ Выходной перенос } \to &	
   \begin{array}{ccccc}
        &  & 0  & 1  & 0 \\	
   \end{array}
&\\
\end{array}

Аналогично нужно сделать вычисления для остальных строк таблицы. Все результаты приведены в табл. 9.6.

Таблица 9.6. Таблица состояний для примера схемы на рис. 9.10
Код на входах abcd Коммутируемый вход MS Активный выход DC Состояние входов Подключение входов сумматора Состояние выходов сумматора Режим работы схемы
Десятичный Двоичный СТ 1 СТ 2 A8 к СТ 1 B8 к СТ 2 P_{i-1}
a b c d C R C R A4 A2 A1 B4 B2 B1 P_{i} S8 S4 S2 S1
0 0 0 0 0 D0 "0" 0 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 Сброс СТ 1
1 0 0 0 1 D2 "2" 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 Сброс СТ 1
2 0 0 1 0 D0 "1" 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 Пассивный
3 0 0 1 1 D2 "3" 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 Счет CT 1
5 0 1 0 1 D2 "2" 1 1 0 0 0 0 0 0 1 0 1 0 1 0 1 0 1 1 Сброс СТ 1
7 0 1 1 1 D2 "3" 1 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 0 Счет CT 1
10 1 0 1 0 D1 "5" 1 0 1 0 0 0 1 0 1 0 1 1 1 0 1 1 1 0 Счет CT 1 и СТ 2
12 1 1 0 0 D1 "4" 1 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 0 0 Счет CT 1 и СТ 2
13 1 1 0 1 D3 "6" 1 0 1 0 0 1 0 0 1 1 0 1 1 1 0 0 1 0 Счет CT 1 и СТ 2
9 1 0 0 1 D3 "4" 1 0 1 1 0 1 0 1 1 0 0 0 1 0 1 1 1 0 Счет CT 1 и СТ 2

< Лекция 8 || Лекция 9: 12345 || Лекция 10 >