Курсовые работы 2012. пояснения к вариантам заданий.
Воскресенье, 04.12.2016, 04:55
Мой сайт
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
Меню сайта
Наш опрос
Оцените мой сайт
Всего ответов: 2
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Поиск
Календарь
«  Январь 2013  »
ПнВтСрЧтПтСбВс
 123456
78910111213
14151617181920
21222324252627
28293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  •  
    Главная » 2013 » Январь » 11 » Курсовые работы 2012. пояснения к вариантам заданий.
    18:43
     

    Курсовые работы 2012. пояснения к вариантам заданий.

    Метод управляемого сброса - хороший, часть 1

    Пример с картинками/таблицами будет чуть позже.

    А пока на словах.
    Допустим поставлена задача сделать счетчик с модулем счета М не равным 2K, для определенности - суммирующий.
    Второе допущение - вы где либо нашли готовую схему счетчика на вашем типе триггера, но полный, т.е. с модулем 2K. И определили по этой схеме (выписали из книги) формулы "стандартных" управляющих функций.
    Далее договоримся, что:
    "st" - индексы управляющих функций стандартной схемы;
    "clr" - индекс "сбрасывающей добавки" управляющих функций (clear);
    "n+1" - индекс следующего состояния выходов Q триггеров;
    "n" - индекс текущего состояния;
    "d" - индекс десятичной записи числа;
    "b" - индекс двоичной записи числа;
    "CLR" - контрольный сигнал, который равен 1 в случае, если счетчик пора сбросить (CLEAR);
    "!" - символ, обозначающий инверсию;
    "X" - произвольное значение, 0 или 1 (т.е. можно выбрать что больше нравится);
    имя сигнала обычным текстом - одноразрядное число;
    имя сигнала полужирным текстом - многоразрядное число (поразрядная функция).

    Очевидно, что результирующие управляющие функции можно в общем случае выразить, как
    Fi = Fst*!CLR + Ficlr*CLR.

    Если CLR=0, то работает стандартная Fst. А если CLR=1, то работает сбрасывающая Ficlr. В этом можно узнать мультиплексор 2 в 1, где CLR подается на адресный вход, а Fst и Ficlr - на информационные.

    Сбрасывающая добавка Ficlr зависит от типа триггера, и может быть как константным значением, так и функцией.

    Для примера возьмем значение модуля счета 25. В нем требуется обеспечить, чтобы вслед за состоянием Qn=11000b=24d следовало состояние Qn+1=00000b.

    В реальной задаче сразу можно отметить, что управляющие функции необязательно модифицировать у всех триггеров.
    Общее правило - модифицируем упр. функции только тех триггеров, изменение значения которых противоречит изменению значения в стандартной схеме
    Наш пример:
    В точке сброса - Qn=11000b должно перейти в Qn+1=00000b.
    В полном счетчике - Qn=11000b=24d перешло бы в Qn+1=11001b=25d.
    Замечаем, что в обоих случаях Q2 и Q1 сохраняют свое значение. Тогда для этих триггеров модифицировать управляющие функции не обязательно!

    Далее рассуждения ведутся только для триггеров, у которых необходимо модифицировать управляющие функции.

    Для разных типов триггеров:

    TV-триггер

    (договоримся, что триггер переключается при V=1)
    Стандартные управляющие функции - Vist.

    (Думаем ...)

    По словарю известно, что чтобы следующее значение Qn+1=0 на вход V TV-триггера надо подать "сбрасывающую добавку" Vclr = Qn.
    Т.е. будет либо сохранен текущий 0, либо триггер перевернется из 1 в 0.

    Получается общее выражение
    Vi = Vist*!CLR+Viclr*CLR = Vist*!CLR+Qin*CLR

    В нашем примере в точке сброса Qn=11000b надо сбросить триггеры Q4 и Q3, а триггеру Q1 запретить переключение. Подставим значения в общее выражение и упростим:

    V4 = V4st*!CLR+V4clr*CLR = V4st*!CLR+Q4n*CLR = V4st*!CLR+1*CLR = V4st*!CLR+(1+V4st)*CLR = V4st*(!CLR+CLR)+1*CLR = V4st+CLR
    V3 = V3st*!CLR+V3clr*CLR = (так же)= V3st+CLR
    V0 = V0st*!CLR+V0clr*CLR = V0st*!CLR+Q0n*CLR = V0st*!CLR+0*CLR = V0st*!CLR

    DC-триггер

    Стандартные управляющие функции - Dist.

    (Думаем ...)

    По словарю известно, что чтобы следующее значение Qn+1=0 на вход D DC-триггера надо подать "сбрасывающую добавку" Dclr = 0.
    Иными словами - "записать" 0 в триггер.

    Получается общее выражение
    Di = Dist*!CLR+Diclr*CLR = Dist*!CLR+0*CLR = Dist*!CLR

    В нашем примере в точке сброса Qn=11000b надо записать нули в триггеры Q4 и Q3. Триггеру Q1 надо запретить записывание 1, т.е. тоже записать 0.
    Отличий нет, так что все функции будут одинаковыми
    Di = Dist*!CLR

    RS-триггер

    (договоримся, что активные уровни R и S равны 1, т.е. записываем 0 при RS=10b)
    Стандартные управляющие функции - Rist и Sist.

    (Думаем ...)

    По словарю известно, что чтобы следующее значение Qn+1=0 на вход S RS-триггера надо подать "сбрасывающую добавку" Sclr = 0.
    "Сбрасывающая добавка" по входу R по словарю зависит от текущего значения Qn: если Qn=0, то R любая, т.е. Rclr = Х; если Qn = 1, то Rclr = 1.

    Получаются общие выражения
    Si = Sist*!CLR+Siclr*CLR = Sist*!CLR+0*CLR = Sist*!CLR,

    Ri = Rist*!CLR+(!Qin*X+1*Qin)*CLR = (выберем X=1) = Rist*!CLR+(!Qin*1+Qin)*CLR = Rist*!CLR+(!Qin+Qin)*CLR = Rist*!CLR+1*CLR = Rist+CLR

    В нашем примере в точке сброса Qn=11000b надо установить в ноль триггеры Q4 и Q3. Триггер Q1 тоже надо установить в 0, т.к. при выводе в Rclr было выбрано Х = 1.
    Отличий нет, так что все функции будут одинаковыми.
    Si = Sist*!CLR,

    Ri = Rist+CLR

    JK-триггер

    (договоримся, что активные уровни J и K равны 1, т.е. переворачиваем триггер при JK=11b)
    Стандартные управляющие функции - Jist и Kist.

    (Думаем ...)

    По словарю известно, что чтобы следующее значение Qn+1=0 на входах JK-триггера "сбрасывающие добавки" зависят от Qn.
    Если Qn=0, то Jclr = 0, а K любая, т.е. Kclr = Хk.
    Если Qn=1, то Kclr = 1, а J любая, т.е. Jclr = Хj.

    Если выбрать Хk = 1, а Хj = 0, то в итоге получим управляющие функции такие же, как в RS-триггере. Т.е. Ji аналогична Si, а Ki аналогична Ri.
    Если выбрать Хk = 0, а Хj = 1, то в итоге получим управляющие функции такие же, как в TV-триггере. Т.е. и Ji, и Ki аналогичны Vi.

    В зависимости от выбора Хk и Хj получаются функции:
    либо Fi = Fist*!CLR,

    либо Fi = Fist+CLR

    (Думаем ...)(Думаем ...)(Думаем ...)

    Хотел расписать для всех типов триггеров алгоритм модификации управляющих функций. В итоге накопилась "критическая масса copy-paste" с простым переименовыванием сигналов и очевиднее стало удобство представления таблицы состояний триггеров в форме "словаря". В результате оформилось ПРАВИЛО получения управляющих функций при синтезе счетчика методом управляемого сброса:

    Если "сбрасывающая добавка" Ficlr=1, то итоговая функция Fi = Fist+CLR. Если "сбрасывающая добавка" Ficlr=0, то итоговая функция Fi = Fist*!CLR.

    В завершение осталось только сказать, как получить контрольный сигнал сброса CLR.

    Для CLR выбрать одну из нескольких функций отличающихся сложностью схемной реализации.

    1. Сравнение на равенство текущего значения Qn с крайним значением счетчика M-1. Т.е. CLR = G=(Qn; M-1). Пригодна для счетчиков с единственным модулем счета. Плоха для многорежимных счетчиков.

    2. Сравнение на больше-равно текущего значения Qn с крайним значением счетчика M-1. Т.е. CLR = G>=(Qn; M-1). Пригодна для многорежимных счетчиков.

    3. Для многорежимных счетчиков получить функцию CLR можно путем мультиплексирования (надеюсь это понятие уже ясно идейно и схемно) частичных функций CLRj каждого отдельного режима счета, где входные сигналы режима подаются на адресные входы мультиплексора.

    P.S.: ВСЕ. Пора остновиться на этом.

    Просмотров: 33 | Добавил: hatimment | Рейтинг: 0.0/0
    Всего комментариев: 0
    Copyright MyCorp © 2016
    Конструктор сайтов - uCoz