Джон Ф.Уэйкерли Проектирование цифровых устройств. Том I (2002) (1095889), страница 183
Текст из файла (страница 183)
Из этого следует, что шиной, по которой поступают параллельные данные, в другое время можно пользоваться для решения каких-то других задач (см. задачу 8.54). В модуле-приемнике преобразование последовательных данных обратно в параллельный формат может осуществляться схемой, приведенной на рис. 8.57. Счетчик по модулю 256, состояший из двух ИС '163, позволяет восстановить номера таймслотов и битов.
Поскольку сигнал ВОЧС вырабатывается в то время, когда счетчик в модуле-передатчике находится в состоянии 25 5, и по этому сигналу вы полня- ется загрузка в счетчик модуля-приемника нулевого содержимого, оба счетчика переходят в нулевое состояние по одному и тому же фронту тактового сигнала. Старшие биты счетчика !номер таймслота) никак не используются на рисунке, но они могут позволить другим схемам в модуле-приемнике идентифицировать байты, удерживаемые на шине параллельных данных !Р00-Р0?) в пределах того или иного таймслота. На рнс. 8.58 приведены подробные временные диаграммы для схемы, осушествляющей преобразование последовательного кода в параллельный. Полностью принятый байт присутствует на параллельном выходе регистра сдвига 74х164 в течение периода тактового сигнала, следующего за приемом последнего (7-го) бита в байте.
В нашем примере параллельные данные деалсды буферизоеаны !аоиЫе-Ъи!?егеа' дага): будучи полностью приняты, они переносятся в регистр 74х377, на выходах которого Р00-Р07 они доступны другим частям системы в течение восьми полных периодов тактового сигнала до окончания приема следу ющего байта. Сигнал разрешения В!ТО С обеспечивает загрузку ИС '377 в надлежащий момент времени. При наличии дополнительных регистров и декодирования можно было бы загружать байты из различных таймслотов в соответствуюшие регистры, в которых каждый байт удерживался бы на протяжении 125 мкс (см. задачу 8.57). 8.5.
Регистры сдвига 837 тм! 63 скоси айыслота от пеле. датчика нолти парли. лел нные данные Рис. 8.57. Преобразование последовательного кода в параллельный с помощью регистра сдвига с параллельным выводом Представленные в параллельном формате принятые данные легко запоминать и модифицировать в других цифровых схемах; в разделе 10.1.6 будут приведены соответствующие примеры. В цифровой телефонии принятые параллельные данные преобразуются обратно в аналоговое напряжение, которое фильтруется и отправляется в телефонную трубку или на громкоговоритель в течение 125 мкс, то есть до тех пор, пока не поступит следующее выборочное значение речевого сигнала.
838 Глава 8. Практическая разработка схем последовательной логики ПРЯМОЙ И ОБРАТНЫЙ ПОРЯДОК СЛЕДОВАНИЯ В истории развития цифровых систем был момент, когда обсуждение вопроса о том, в каком порядке нужно передавать биты и байты, стало носить характер религиозного спора. В своей знаменитой статье «Священные войны и призыв к миру» ("Оп Но(у багз авда Р1еа Гог Реасе'*. Сотригег, ОсгоЬег 1981, рр. 43 — 54) Дэнни Коэн (Раппу СоЬеп) описал различие между соглашениями о порядке следования битов и байтов и указал на возможные (и проявившиеся в дальнейшем) отрицательные последствия этого различия.
Твердый стандарт так и не был установлен, и сегодня существуют популярные семейства компьютеров, в которых принят порядок нумерации и передачи байтов 32-разрядного слова, начиная с младшего байта (так называемые !ВМ-совместимые компьютеры) и начиная со старшего байта (компьютеры Арр!е МасйпйооЬ).
Согласно терминологии Коэна, в первом случае говорят о прямом порядке следования ("Ь(п!е Епд1ап*'), а во втором — об обратном порядке следования ("В!ц Епд1ап"), и по-прежнему продолжается дискуссия о том, какой из них предпочтительнее (аЬош "епд(аппезз"), как если бы это чтонибудь значило. бова ! 7 ! О ! ~ ! й ( 3 ( а ! о ! о ! 7 ) О ( 1 ! а СОСОК В~7О Ь ООАТА 7 о а а а а о в 7 о байт 1 бай7 31 бава ЯОО-ЛО7 а'а™ байт 31 байта ОООЛ О7 рис. 8.88. Временные диаграммы для преобразования последоввтельнпгп кода в параллельный 8.5.5.
Счетчики на регистрах сдвига Последовательно/параллельное преобразование представляет собой «обработку» данных, но регистры сдвига применяются также и в тех случаях, когда речь не идет о «данных». В результате объединения регистра сдвига с комбинационной логикой образуется конечный автомат, у которого диаграмма состояний является цикл ической. Таку ю схему называют счетчикам «а регис ире сдвига (777 77- год!йгег соил!от). В отличие от двоичного счетчика последовательность состояний счетчика на регистре сдвига не образует ряд двоичных чисел, перебираемых в сторону увеличения или уменьшения, но такая схема все же полезна во многих приложениях, связанных с «управлением».
8.5. Регистры сдвига 839 8.5.6. Кольцевые счетчики В простейшем случае, используя п-разрядный регистр сдвига, можно получить счетчик с п состояниями, называемый кольпееььи счегпчикан (Нп8 соипгег). На рис. 8.59 показана схема кольцевого счетчика. Универсальный регистр сдвига 74х194 включен так, что в нем обычно происходит сдвиг влево. Но если подан сигнал ВЕЗЕТ, то в него загружается комбинация 0001 1см. функциональную таблицу ИС '194 (табл. 8.18)).
Если сигнал Т1ЕЯЕТ снят, то на каждом такте происходит сдвиг содержимого ИС '194 влево. Последовательный вход 1.1М соединен с «крайним левым» выходом, так что последовательность состояний имеет вид: 0010, О! 00, 1000, 0001, 0010, .... Следовательно, счетчик проходит через четыре различных состояния, прежде чем они начинают повторяться. На рис. 8.бО приведены соответствующие временные диаграммы. В общем случае и-разрядный кольцевой счетчик проходит в цикле через и состояний. +вв сьоск стр сдвига, включенный двиг влево ЙЕЗЕТ 1загруз сю сп 02 оз Рис.
8.59. Простейший 4-разрядный кольцевой счетчик с 4 состояниями, в котором циркулирует одна 1 С1.0СК НЕЕЕТ сн оз атлет Рис. В.ВО. Временные диаграммы для 4-разрядного кольцевого счетчика 840 Глава 8. Практмчаская разработка схем последовательной логики Ъ' 1шльцевого счетчика парис. 8.59 есть один недостаток: он не надежен. Если циркулирующая в нем единственная 1 будет потеряна вследсгвие временной аппаратной неисправности (например, из-за шумов), то счетчик войдет в состояние 0000 и остаисгсл в нем навсегда.
Точно так же возникновение лишней 1 (например, переход в состояние 0101) вынудит счетчик в течение всего времени в дальнейшем проходить по неправильному циклу. Эти проблемы становятся вполне очевидными, если начертить полную диаграмму состояний такого счетчика, число которых равно 16. Как видно из рнс. 8.61, 12 состояний не являются частью нормаль ного цикла работы этой схемы.
Если счетчик почему-либо выйдет из нормального цикла, то он уже не вернется в него. Рис. 8.61. Диаграмма состояний простого кольцевого счетчика Самокорректирующийся счетчик (ге))-'соггесг1п8 соллгвг) бывает построен так, что мз всех неправильных состояний имеются переходы, пршюдящие в нормальные состояния.'Самокорректирующиеся счетчики желательны по той же причине, какая служит основанием кодирования состояний по принципу минимального риска (см. раздел 7.4.3): если происходит что-го неожиданное, то счетчик или конечный автомат должен попадать в «безопасное» состояние. На рис. 8.62 показана схема самокоррвкюирующегося кок»левого счетчика (век'-соггесгш8 гш8 сокпгег). В ней с помощью вентиля ИЛИ-нЕ единица возникает на входе 1ЛМ колько в том случае, когда содержимое трех младших разрядов равно О.
В результате получаем диаграмму состояний, приведенную ларис.8.6З; из всех неправильных состояний схема возвращается в нормальный цикл. Замел те, что в этой схеме больше нет необходимости в подаче сипшла ВЕЗЕТ. Независимо от начального состояния, в которое счетчик попадает прн включении, он окажется в состоянии 0001 в пределах первых четырех тактов.
Поэтому принудительный сброс требуется только в том случае, если нужно, чтобы счетчик начинал правильно работать синхронно с другими узлами в системе, или лля заданияя известной начальной точки при моделировании. В общем случае для и-разрядного самокарректирувэнюгося кольцевого счетчика нужен (л — 1 )-входов ой вентиль зяли-не, и такая схема входит в нормальное состояние не позднее, чем за п — 1 тактов. 8.5.
Регистры сдвига 841 СЫСК 00 01 02 03 Рис. 8.62. Самокорректирующийся 4-разрядный кольцевой счетчик с 4 состояниями, в котором циркулирует одна 1 Рис 8.63. Диаграмма состояний для самокорректирующегося кольцевого счетчика В логических КМОП- и ТТЛ-семействах большое число входов чаше бывает у вентилей И-НЕ, а не у вентилей ИЛИ-НЕ, поэтому может оказаться более удобным построить самокорректирующийся кольцевой счетчик по схеме представленной парис.3.64. В каждом из состояний„образующих нормальный цикл такого счетчика, имеется только один О. 842 Глава 8. Практическая разработка схем последовательной логик~ СЬОСК 00 01 02 03 Рис. 8.64. Самокорректирующийся 4-разрядный кольцевой счетчик с 4 состояниями, в котором циркулирует один 0 Основное достоинство кольцевого счетчика с точки зрения его применения в задачах управления состоит в том, что его состояния, выражаемые совокупностью сигналов на выходах триггеров, являются словами кода "! из п".
Это значит, что всегда только один из выходных сигналов триггеров имеет активный уровень. Кроме того, в выходных сигналах кольцевых счетчиков нет паразитных импульсов; сравните этот подход со случаем, когда двоичный счетчик дополняется дешифратором (см. Рис. 8 42). '8.5.7. Счетчики Джонсона У и-разрядного регистра сдвига с инвертором в цепи обратной связи между последовательным выходом и последовательным входом имеется 2п состояний. Такая конструкция носит название скрученного кольиввого счетчика (пгГвгвгн лп8 соипгег), счетчика Мебиуса (МоеЬГиг соипгег) или счетчика Джонсона (,ГоЬпвоп соипгег). Основная схегиа счетчика Джонсона показана на рис.
8.65, а его временные диаграммы — на рис. З.бб. Нормальные состояния этого счетчика перечислены в табл. 8.20. Как видно из таблицы, при наличии обоих выходных сигналов всех триггеров каждое нормальное состояние счетчика можно обнаРу жить с помощью 2-входового вентиля И или И-НЕ. На выходах этих вентилей нет паразитных импульсов. 8.8. Регистры сдвига 843 +5 В С!.ССК ВЕЗЕТ !.