Cборник_ЛР
.pdfT |
|
T |
Q0 |
|
|
T |
Q1 |
|
|
T |
Q2 |
||
T |
|
|
|
T |
|
|
|
|
T |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
|
|
R |
|
|
|
R |
|
|
|
|
|
|
|
|
|
Reset
Рис.8.1. Счетчик с последовательным переносом
Т
Q0
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
Q1
0 |
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
Q2
0 |
0 |
0 |
0 |
1 |
1 |
1 |
1 |
0 |
t
Рис.8.2. Тактовая диаграмма суммирующего счетчика с последовательным переносом
При необходимости прервать программу счета тактовых импульсов в схе-
му приходит сигнал сброса R и на всех выходах устанавливаются “0”. Частота переключений первого триггера самая большая, это частота входного тактово-
го сигнала, частота переключений каждого последующего триггера уменьша-
ется в 2 раза. Первый триггер - это младший разряд числа, а последний -
старший разряд. Можно построить на данном счетчике делитель частоты на 2,
на 4 и на 8, если снимать данные с выходов Q0, Q1, Q2 соответственно.
153
Вычитающий счетчик с последовательным переносом показан на рис.8.3,
а на рис.8.4 - его тактовая диаграмма.
|
|
|
|
|
|
T |
|
|
|
|
|
T |
|
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
|
Q0 |
|
|
Q2 |
||||||||||||||
|
T |
|
|
|
|
|
|
T |
|
|
Q1 |
|
|
|
|
||||||||
|
|
|
|
T |
|
|
|
|
|
|
T |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
R |
|
|
|
|
R |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
Reset
Рис.8.3. Вычитающий счетчик с последовательным переносом
Т
Q0 |
|
|
|
|
|
|
|
|
0 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
0 |
Q1 |
|
|
|
|
|
|
|
|
0 |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
0 |
Q2 |
|
|
|
|
|
|
|
|
0 |
1 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
t
Рис.8.4. Тактовая диаграмма вычитающего счетчика с последовательным переносом
Если вход второго и последующих триггеров в счетчике подсоединить к инверсному выходу предыдущего триггера, на выходах триггеров происходит поразрядное вычитание “по модулю 2”, числа на выходе в каждом такте уменьшаются на 1, что и видно из тактовой диаграммы рис.8.4. Поскольку на тактовые входны триггеров передаются сигналы с инвертированных выходов предыдущих, то срабатывание последнего триггера происходит после сраба-
154
тывания всех пердыдущих. Модуль счета в этом триггере рассчитывается ана- |
|||||
логично предыдущему варианту счетчика |
|
|
|||
|
|
|
Kсч = 2п. |
|
|
Если в счетчике необходимо проводить прямой и обратный счет, то реали- |
|||||
зуется структура реверсивного счетчика. Признаком реверсивного переноса |
|||||
является наличие логической схемы управления. Команда на изменение ре- |
|||||
жима счета может быть подана, например, как на рис.8.5. |
|
||||
|
T Q0 |
|
T Q1 |
|
T Q2 |
T |
|
& |
1 |
& |
1 |
T |
|
T |
|
T |
|
|
|
|
|||
Reset |
R |
& |
R |
& |
R |
|
|
|
|||
реверс |
|
|
|
|
|
|
Рис.8.5. Реверсивный счетчик с последовательным переносом |
|
“1” |
|
|
Q0 |
|
|
|
|
Q1 |
|
|
|
|
|
|
|
Q2 |
|||||
|
T |
V |
T |
|
|
|
|
V |
T |
|
|
|
& |
|
|
|
V |
T |
|
|
||
|
T |
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
T |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reset
Рис.8.6. Счетчик параллельного типа Счетчик с параллельным переносом. Для ускорения передачи информации
применяют счетчики с параллельной организацией обработки данных. Ин-
формация в них передается одновременно с выхода каждого триггера на логи-
ческие элементы, включенные параллельно триггерам (рис.8.6). Задержка в логических элементах меньше, чем в триггерах, поэтому процедура счета происходит быстрее.
155
Известно несколько способов синтеза двоично-кодированных счетчиков с модулем счета, не являющимся степенью числа 2:
- принудительная запись в триггеры вычитающего счетчика числа
M = Kсч 1, определяющего модуль счета, рис.8.7;
- принудительный сброс в суммирующем счетчике после того, как прошло необходимое число тактов, формирующих на выходах триггеров число, за-
данное как модуль счета, рис.8.8;
- классический метод синтеза функций возбуждения триггеров в счетчи-
ках с параллельным переносом. В этом методе на управляющие входы тригге-
ров подаются сигналы блока комбинационных управляющих схем. Общая структурная схема выглядит, как на рис.8.9. Управляющие функции возбуж-
дения триггеров получаются путем синтеза из таблицы переходов счетчика, (см. пример далее);
- метод исключения лишних состояний. Этот метод является частным случаем классического метода, при котором заранее известные функции воз-
буждения полного счетчика принудительно переводятся в исходное состояние в моменты достижения числа M = Kсч – 1 в суммирующих синхронных счет-
чиках (или принудительно переводятся в значение, соответствующее числу
M = Kсч – 1 в моменты достижения нулевого значения на выходах вычитающе-
го синхронного счетчика).
Таким образом, при классическом подходе к синтезу функций возбужде-
ния триггеров неполных счетчиков, значения этих функций в “лишних” со-
стояниях могут быть выбраны произвольно (см. пример далее).
В методе исключения лишних состояний фактически изменяется только одно значение в таблице переходов полного счетчика, которое соответствует модулю счета. Причем, необходимо изменять только те функции возбужде-
ния, значения которых в момент окончания счета отличаются от функций воз-
буждения полного счетчика.
156
m0 |
m1 |
m2 |
& |
& |
|
|
& |
|
|
S T |
S T |
Q1 |
S T |
Q2 |
T |
Q0 |
|
|
||
C |
C |
|
C |
|
|
Reset |
R |
R |
|
R |
|
|
|
|
|
|
& |
Рис.8.7. Вычитающий счетчик с принудительной записью модуля счета
&
|
|
|
|
Q0 |
|
|
|
Q1 |
|
|
|
|
Q2 |
|||||
T |
T |
T |
|
|
|
|
|
T |
T |
|
|
|
|
|
T |
T |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
|
R |
|
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reset 1
Рис.8.8. Суммирующий счетчик с принудительным сбросом (Ксч = 6)
157
Комбинационные схемы функций возбуждения fi(Qn)
|
|
f0 |
|
|
|
Q0 fi |
|
|
|
|
|
Qi |
fn |
|
|
|
|
Qn |
|||||||||||||
|
T |
|
|
|
T |
T |
|
|
|
|
|
|
|
|
|
T |
T |
|
|
|
|
|
|
|
T |
T |
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
C |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
Q0 |
|
|
|
|
|
|
Qi |
|
|
|
|
|
|
Qn |
|||||||||
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Reset
Рис.8.9. Обобщенная структурная схема синхронного счетчика
Рассмотрим применение классического метода синтеза управляющих функций на примере синтеза схемы суммирующего счетчика с Kсч = 6, постро-
енного на базе динамического ТV-триггера.
TV-триггер может быть получен из JK-триггера путем объединения входов
J и K во вход V. Таблица переходов этого триггера показана в табл.8.1, откуда видно, что вход V является сигналом разрешения на переключение триггера.
Таблица 8.1
Таблица переходов TV-триггера
V (J = K) |
Qn |
Qn+1 |
|
|
|
0 |
0 |
0 |
|
|
|
0 |
1 |
1 |
|
|
|
1 |
0 |
1 |
|
|
|
1 |
1 |
0 |
|
|
|
Теперь может быть составлена таблица переходов рассматривемого при-
мера счетчика. В столбцы текущих значений счетчика записывается полный набор чисел Qn, соответствующий разрядности счетчика. В столбцы следую-
щих значений счетчика записываются числа Qn+1, в которые должен переклю-
чаться счетчик из соответствующего текущего значения Qn. В столбцы функ-
158
ций возбуждения триггеров записываются значения управляющих сигналов триггера (в данном случае значения сигналов vi), необходимые для осуществ-
ления переключения счетчика из текущего значения Qn в следующее значение
Qn+1.
В нашем примере модуль счета счетчика Kсч = 6, т.е. минимальная разряд-
ность счетчика равна 3. При модуле счета Kсч = 6 в рабочем цикле счетчика задействованы числа от 0 до 5, т.е. при текущем значении Qn = 5 следющим значением должно быть Qn+1 = 0. Таким образом, последние два числа 6 и 7 из всех возможных значений трехразрядных двоичных чисел из рабочего цикла исключаются, а в таблице этим значениям Qn можно сопоставить произволь-
ные значения функций возбуждения vn (символ “Х” в табл.8.2). |
|
|
|
|
||||||||||
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 8.2 |
||
|
|
Tаблица переходов суммирующего счетчика с Kсч = 6 |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Текущее значение |
|
Следующее значение |
|
Функции |
|
||||||||
|
|
счетчика |
|
|
счетчика |
|
возбуждения |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Qn |
|
qn |
qn |
|
qn |
Qn 1 |
qn 1 |
qn 1 |
qn 1 |
vn |
|
vn |
|
vn |
|
|
2 |
1 |
|
0 |
|
2 |
1 |
0 |
2 |
|
1 |
|
0 |
0 |
|
0 |
0 |
|
0 |
1 |
0 |
0 |
1 |
0 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
0 |
0 |
|
1 |
2 |
0 |
1 |
0 |
0 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
0 |
1 |
|
0 |
3 |
0 |
1 |
1 |
0 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3 |
|
0 |
1 |
|
1 |
4 |
1 |
0 |
0 |
1 |
|
1 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
1 |
0 |
|
0 |
5 |
1 |
0 |
1 |
0 |
|
0 |
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
1 |
0 |
|
1 |
0 (6) |
0 (1) |
0 (1) |
0 (0) |
1 (0) |
|
0 (1) |
|
1 (1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6 |
|
1 |
1 |
|
0 |
– (7) |
– (1) |
– (1) |
– (1) |
Х (0) |
|
Х (0) |
|
Х (1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
1 |
1 |
|
1 |
– (0) |
– (0) |
– (0) |
– (0) |
Х (1) |
|
Х (1) |
|
Х (1) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Примечание. В скобках указаны значения для полного счѐтчика с Kсч = 8.
После заполнения таблицы переходов счетчика и доопределения значений функций возбуждения, сответствующих “лишним” значениям Qn можно по
159
картам Карно синтезировать три логические функции vn , |
каждая из которых |
||||||||||
|
|
|
|
|
|
|
|
i |
|
|
|
зависит от набора значений qn . |
|
|
|
|
|
|
|
||||
|
|
|
|
i |
|
|
|
|
|
|
|
q2 |
q1 |
0 0 |
0 1 |
1 1 |
1 0 |
q2 |
q1 |
0 0 |
0 1 |
1 1 |
1 0 |
q0 |
|
q0 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
||
0 |
|
0 |
0 |
X (0) |
0 |
0 |
|
0 |
0 |
X (0) |
0 |
1 |
|
1 |
1 |
X (0) |
0 |
1 |
|
0 |
1 |
X (1) |
1 |
|
|
а) |
|
|
|
|
|
б) |
|
|
|
Рис.8.10. Карты Карно для синтеза логических функций vn |
(а) и vn |
(б). |
|||||||||
|
|
|
|
|
|
|
|
|
1 |
2 |
|
|
Произвольным значениям функций возбуждения (символ “Х”) |
|
|||||||||
|
|
|
присваиваются значения “0” или “1” |
|
|
|
|||||
В результате получаем следующий набор логических функций |
|
vn 1 |
|
|
|
|
vn qn qn qn . |
|||
; |
vn qn qn ; |
|||||||
0 |
|
1 |
2 |
0 |
2 |
0 |
1 |
2 |
Теперь можно получить схему счетчика, показанную на рис.8.11
1 |
|
|
|
|
|
Q0 |
|
|
|||
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|||||
V |
T |
|
|
||||||||
|
T |
|
|
|
|
|
|
||||
|
T |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Q0 |
|
|
||
|
|
|
|
R |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
& |
V T Q1
T
Q1
R
V T Q2
T
Q2
R
Reset
Рис.8.11. Схема суммирующего счѐтчика, полученная классическим методом (Kсч = 6)
160
В заключение рассмотрения классического метода синтеза счетчиков,
можно сказать, что этот метод может быть использован для синтеза последо-
вательностных устройств с произвольной таблицей переходов, построенных
на любом типе динамических триггеров.
Метод исключения “лишних” состояний поясним также на примере сум-
мирующего счетчика с Kсч = 6.
В [2] показано, что в полных суммирующих счетчиках, построенных на
динамических TV-триггерах управляющие функции V(Q) определяются как
i 1 viполн qj .
j 0
В рассматриваемом примере, для получения Kсч = 6 в таблице переходов полного счетчика требуется изменить значения функций возбуждения в стро-
ке, соответствующей Qn = 5. В табл.8.2 значение функции |
возбуждения |
||
V = 1012. |
Значение функции возбуждения полного счѐтчика V |
полн |
= 0112 в |
|
|||
табл.8.2 |
указано в скобках. Значения Vполн и V отличаются старшими двумя |
разрядами и, для получения модуля счета Kсч = 6, требуется изменить значе-
ния функций возбуждения только для триггеров двух старших разрядов.
Введем функцию CLR q2 q1 q0 , которая равна “1” только при Qn = 5 (1012). Тогда необходимое изменение функций возбуждения v можно выра-
зить следующим образом:
v = vполн + CLR, при vполн = “0”, a v = “1”; v = vполн CLR, при vполн = “1”, a v = “0”.
В случае Kсч = 6, Vполн = 0112 и V = 1012:
v1 v1полн CLR q0 CLR ; v2 v2полн CLR q1 q0 CLR .
Функцию v0 изменять не требуется.
Соответствующая схема счетчика изображена на рис.8.12.
161
CLR
& |
|
|
vполн |
|
|
|
|
1 |
1 |
V |
T |
Q0 |
|
|
||
T |
T |
|
|
|
|
Q0 |
|
|
|
|
|
|
R |
|
|
& v2полн
V T Q1
T
Q1
R
CLR
1 |
V T
T
Q2
Q2
R
Reset
&
Рис.8.12. Схема суммирующего счѐтчика, полученная методом исключения лишних состояний (Ксч = 6)
Число импульсов, поступающих на вход счѐтчиков, отображается на вы-
ходе в двоичном коде. В ряде случаев необходимо, чтобы каждому входному импульсу соответствовал сигнал на единственном из выходов устройства
(унитарный код, код ”1 из N”). С наименьшими затратами данная задача ре-
шается при использовании кольцевых счѐтчиков (рис.8.13), представляющих собой сдвиговый регистр, выход последнего разряда которого подсоединѐн к входу первого разряда.
162