Высоконадежные счетчики с предсказанием состояний
Высоконадежные последовательностные узлы, в том числе счетчики, имеют широкую область применения в различных цифровых устройствах. В [1–3] описаны методы проектирования счетчиков с самовосстановлением. Однако в процессе восстановления рабочего режима счетчиков с недвоичным модулем может, на определенном интервале времени, нарушиться естественный порядок смены состояний, как показано на примере счетчика с модулем 5 (рис. 1).
В других вариантах счетчиков вхождение в рабочий режим может потребовать нескольких тактов (рис. 2).
В случае двоичных счетчиков воздействие различного рода помех способно привести к сбоям в их функционировании, которые носят характер пропуска состояний, так как количество возможных состояний двоичного счетчика совпадает с числом рабочих (рис. 3).
В верхней строке показана последовательность смены состояний суммирующего двоичного счетчика с модулем 2М в отсутствие сбоев. В нижних строках приведен вариант сбоя, заключающийся в переходе из состояния «1» в состояние «К», минуя промежуточные. В дальнейшем работа счетчика восстановится, но функционирование системы, в состав которой он входит, может нарушиться. Для счетчиков с недвоичным модулем возможны как сбои в виде пропуска состояний, так и переходы в нерабочие.
В [4] описан способ построения высоконадежного двоичного счетчика, осуществляемый путем резервирования системы. Однако возможны и другие подходы для решения данной задачи.
Основная идея их реализации основана на том, что состояния счетчика детерминированы, то есть последовательность их смены заранее известна. Так, когда речь идет о суммирующем двоичном счетчике, то, если он в текущем такте находился в состоянии М, значит, в следующем оно должно смениться состоянием М+1 и т. д. Это позволяет предсказать состояние счетчика в следующем такте и сравнить его с тем, в которое он перейдет после поступления очередного тактирующего импульса. Их совпадение является признаком нормального функционирования системы. Если же совпадения нет (в работе счетчика произошел сбой), то счетчик должен быть принудительно установлен в требуемое заранее известное рабочее состояние. Обобщенная функциональная схема таких счетчиков представлена на рис. 4.
В состав системы входит счетчик СЧ с требуемым модулем счета и алгоритмом смены состояний, узел предсказания состояний УПС и схема сравнения кодов — ССК. По входу РЕ счетчик может быть принудительно установлен в состояние, определяемое кодовой комбинацией, присутствующей на информационном входе D.
Временные диаграммы работы суммирующего счетчика с предсказанием состояний приведены на рис. 5.
В исходном состоянии счетчик находится в состоянии N, и на выходе УПС формируется код следующего состояния — N+1. Работа схемы сравнения кодов при этом заблокирована низким уровнем входного сигнала. По положительному фронту входного импульса счетчик СЧ меняет свое состояние с N на N+1. Выходной код устройства предсказания (УПС) при этом сохраняется, а ССК разблокируется. Поскольку в этом случае коды с выходов счетчика и УПС совпадают, то сигнал на выходе ССК также будет нулевым. При низком уровне входного сигнала состояние СЧ сохраняется, а на выходе УПС появится следующее (предсказанное) состояние. Работа ССК на этом интервале времени будет заблокирована. В следующем такте в отсутствие сбоя счетчик перейдет в состояние N+2, затем на выходе ССК появится код N+3 и т. д.
Если по положительному фронту входного импульса СЧ перейдет в состояние N±K, не соответствующее предсказанному, то на выходе ССК появится единичный сигнал, под действием которого в счетчик СЧ будет принудительно занесено требуемое (следующее рабочее) состояние. Ложных комбинаций на выходе такого устройства при появлении сбоя не возникает, так как выходной сигнал снимается с узла предсказания состояний.
Один из вариантов реализации суммирующего двоичного счетчика с предсказанием состояний представлен на рис. 6.
Устройство включает суммирующий двоичный счетчик СЧ с асинхронной предустановкой по входу РЕ и синхронизацией по положительному фронту входного импульса, сумматор СМ, параллельный регистр-защелку РГ, синхронизируемый по отрицательному потенциалу, цифровой компаратор К и ключ Кл, выполненный на элементе «И», формирующий сигнал предустановки РЕ только при наличии сигналов высокого уровня на обоих его входах.
Временные диаграммы работы счетчика в отсутствие сбоя приведены на рис. 7. В текущем такте по положительному фронту входного импульса на выходе счетчика сформируется код числа N, который поступит на сумматор и на один из входов компаратора. Сумматор прибавит к коду счетчика единицу, и на его выходах появится код N+1. Поскольку к началу такта в регистре зафиксировано предшествующее состояние N, то на входы компаратора будут поступать одинаковые коды и на его выходе сформируется нулевой сигнал, который через ключ Кл заблокирует работу входа предустановки РЕ счетчика СЧ. С выхода системы будет сниматься код числа N.
По нулевому уровню входного сигнала код N+1 с выхода сумматора запишется в регистр РГ и поступит на выход. Из-за неравенства кодов на входах компаратора на его выходе появится единичный сигнал, однако нулевым уровнем входного сигнала запись данных с выхода регистра в счетчик будет заблокирована ключом Кл. Положительный фронт следующего входного импульса вызовет переход счетчика в состояние N+1, формирование на выходе сумматора кода N+2, и т. д.
Работа счетчика при возникновении сбоя представлена временными диаграммами на рис. 8.
Если по положительному фронту второго тактирующего импульса счетчик перейдет в состояние N±K вместо N+1, то на выходе компаратора появится единичный сигнал. Так как при этом ключ Кл будет открыт высоким уровнем тактирующего импульса, то сигнал такого же уровня сформируется и на входе предустановки РЕ счетчика СЧ. Это вызовет его переход в состояние N+1, определяемое кодом числа, записанного в регистр РГ в предыдущем такте, и появление на выходе сумматора СМ кода N+2. После записи в разряды счетчика требуемого в данном такте состояния, на выходе компаратора сформируется нулевой сигнал, что приведет к блокировке входа предустановки и восстановлению правильного режима работы всей системы. В таком устройстве самовосстановление происходит сразу же после возникновения сбоя, что в дальнейшем сохраняет требуемую последовательность смены выходных состояний счетчика.
Данный подход может быть использован и для реализации высоконадежных вычитающих счетчиков. Для этого потребуется в качестве СЧ использовать вычитающий счетчик и в каждом такте из кода, формируемого счетчиком, вычитать единицу.
Модифицированный вариант суммирующего двоичного счетчика с предсказанием состояний (рис. 9) вместо сумматора содержит постоянное запоминающее устройство ПЗУ, в которое по адресу, совпадающему с кодом выходного состояния счетчика, записан код его следующего состояния (табл. 1).
Адрес |
0 |
1 |
2… |
М–2 |
М–1 |
Вых. код |
1 |
2 |
3… |
М–1 |
0 |
Временные диаграммы работы такого устройства в отсутствие и при возникновении сбоя аналогичны приведенным на рис. 7 и 8.
Еще один вариант аналогичного счетчика с модулем М представлен на рис. 10. Его отличие заключается в том, что в соответствующие ячейки ПЗУ заносятся данные о текущем и последующем состояниях счетчика, которые коммутируются на выход запоминающего устройства уровнем входного сигнала (табл. 2). Его единичное значение вызывает появление кода текущего состояния, а нулевое — последующего. Для этого ПЗУ условно разбивается на два банка, и по соответствующему адресному входу входным сигналом производится их переключение. Временные диаграммы функционирования такого устройства приведены на рис. 11.
Адрес |
0 |
1 |
… |
N |
… |
M–1 |
||||
Вх. |
1 |
0 |
1 |
0 |
… |
1 |
0 |
… |
1 |
0 |
Вых. ПЗУ |
1 |
2 |
2 |
3 |
… |
N+1 |
N+2 |
… |
0 |
1 |
При поступлении положительного фронта входного сигнала счетчик СЧ устанавливается в состояние N и на выходе ПЗУ также формируется код числа N, который в предыдущем такте был записан в регистр РГ. По нулевому уровню входного сигнала на выходах ПЗУ и регистра защелки РГ появятся коды N+1, и сигнал на выходе компаратора К останется нулевым.
С приходом следующего положительного фронта счетчик перейдет в состояние N+1. В течение высокого уровня входного сигнала на выходе ПЗУ будет поддерживаться код N+1, и этот же код будет сниматься с выходов регистра. При нулевом уровне входного сигнала состояния выходов ПЗУ и РГ изменятся одновременно и сигнал на входе предустановки РЕ сохранится нулевым.
В случае возникновения сбоя счетчик СЧ по фронту входного сигнала перейдет из состояния N+1 не в N+2, а в N±К, на выходе ПЗУ появится аналогичная кодовая комбинация, а с выхода регистра РГ будет сниматься зафиксированный в предыдущем такте код N+2. На входы компаратора поступят разные сигналы, что приведет к формированию на его выходе положительного импульса, по которому произойдет запись в разряды счетчика СЧ требуемой в данном такте рабочей комбинации N+2.
Метод предсказания состояний может быть использован и при построении высоконадежных счетчиков с недвоичными модулями. В [1–3] описаны структуры недвоичных счетчиков с самовосстановлением (рис. 12, 13).
В первом варианте используется анализатор состояний (А), формирующий определенный сигнал при появлении сбоя. Под действием этого сигнала, поступающего на вход предустановки РЕ счетчика, в его разряды записывается одна из рабочих комбинаций состояний разрядов. Далее процесс работы счетчика продолжается.
В схеме на рис. 13 в качестве счетчика используется параллельный регистр и постоянное запоминающее устройство, в которое по адресу, определяемому текущим состоянием, записывается код следующего. По адресам, соответствующим сбойным комбинациям, заносится код одного из правильных состояний. Такие устройства восстанавливают свою работу в следующем такте после возникновения сбоя.
Однако их общим недостатком является нарушение процесса смены состояний счетчика, связанное с пропуском нескольких тактов правильной работы, так как в общем случае восстановление происходит не в комбинацию, следующую за тактом после возникновения сбоя. Кроме того, подобные устройства несвободны от сбоев, связанных с пропусками состояний.
Модифицированный вариант счетчика со структурой, приведенной на рис. 12, в котором реализован метод предсказания состояний, представлен на рис. 14.
Здесь используется дополнительный параллельный регистр-защелка РГ, синхронизируемый нулевым потенциалом, и постоянное запоминающее устройство ПЗУ. Высоким уровнем входного импульса в регистр заносится текущее состояние счетчика К1, при этом из ПЗУ выбирается код следующего состояния К2 и поступает на информационные входы счетчика D. В рабочем режиме сигнал на выходе анализатора равен нулю и записи данных в разряды счетчика не происходит.
Временные диаграммы его работы показаны на рис. 15.
При возникновении нерабочей комбинации либо сбоя К* на выходе анализатора появится единичный сигнал, в счетчик будет занесена следующая правильная комбинация К4, считываемая в этом такте из ПЗУ, и функционирование системы восстановится без пропуска рабочих состояний.
- Угрюмов Е. П. Цифровая схемотехника / Учеб. пособие для вузов. 2‑е изд., перераб. и доп. СПб: БХВ‑Петербург, 2005.
- Лехин С. Н. Схемотехника ЭВМ. СПб: БХВ‑Петербург, 2010.
- Лехин С. Н. Построение высоконадежных последовательностных устройств с использованием программируемых структур. Вестник ПсковГУ. Серия «Экономические и технические науки». Вып. 4. Псков, 2014.
- Лехин. С. Н. Двоичные счетчики повышенной надежности // Компоненты и технологии. 2014. № 2.