Шапка

Обзор Части 10

В пунктах @A-@H напоминаются темы, изучавшиеся в Части 10 . Перечисляются базовые принципы и факты, но не включаются схемы и практические советы.

@A Цифровые уровни напряжений

В аналоговой электронике сигналы могут принимать любое значение в некотором диапазоне ( например, сигнал с размахом ±10 V на выходе усилителя ). В цифровой электронике всё не так. Цифровые сигналы могут принимать два состояния, именуемые ВЫСОКОЕ и НИЗКОЕ ( или 1 и 0 , или ИСТИНА и ЛОЖЬ ). Каждое состояние имеет номинальный уровень напряжения и диапазон, в котором он будет однозначно распознан входом другого цифрового устройства ( см. §10.1.2.B и §12.1.2 ). Сигнал может быть однополярным ( например, выход КМОП с питанием +3.3 V , который может принимать значения 0 и 3.3 V , см. рис. 10.2 ) или дифференциальным ( например, шина LVDS, в которой токовые сигналы создают в приёмнике разницу потенциалов 300 mV около среднего уровня +1.25 V , см. рис. 12.135 ). Есть много семейств цифровой логики, различающихся напряжениями питания, порогами переключения, скоростью, рассеиваемой мощностью и т.п. см. @G .

@B Двоичное представление и его интерпретация

Отдельные логические сигналы - биты могут быть частью некоторого множества ( например, разряд в двоичном числе ), а могут представлять логическое состояние ( RESET , START ,... ). Группы из n битов могут передаваться одновременно в параллельном виде ( через n линий ) или последовательно во времени по одному или двум проводам в виде последовательной посылки, т.е. через параллельную или последовательную шину соответственно. Цифровые значения представляются беззнаковыми целыми, числами с «дополнением до двух» или числами с плавающей запятой ( §10.1.3 ). Алфавитно-цифровые символы в ASCII коде занимают один байт. Для записи многоразрядных двоичных чисел обычно используется шестнадцатеричная запись ( 0...9 , a...f ). Каждое шестнадцатеричное число замещает 4 двоичных разряда ( две цифры на байт ). Независимо от того, об одноразрядном значении идёт речь или о многоразрядном, цифровые уровни могут представляться активными высокими или активными низкими сигналами. Например, активный низкий сигнал может сбрасывать микропроцессор. Зваться при этом он будет /RESET и в пассивном состоянии должен оставаться ВЫСОКИМ, переходя в НИЗКИЙ, только когда требуется выполнить сброс.

@C Комбинационная логика: вентили

Цифровые схемы, состояние которых зависит только от уровней на входных линиях ( т.е. не имеющие предыстории ), называются комбинационными . Их функционирование обеспечивается вентилями ( §10.1.4 ). Базовые логические функции «И», «ИЛИ», «НЕ» ( «инверсия» ). Их стандартные схемные символы и таблицы истинности показаны на рис. 10.4 , 10.5 и 10.6 . Базовые функции комбинируются для получения более сложных «И-НЕ», «ИЛИ-НЕ» ( «И», «ИЛИ» с инверсией выхода, см. рис. 10.8 ) или «ИСКЛЮЧАЮЩЕЕ-ИЛИ» ( рис. 10.9 ). Все эти элементы соединяются между собой, чтобы получить из некоторого сочетания входных сигналов требуемую комбинацию на выходе.

@D Логика последовательного действия: триггеры

Базовым элементом логики последовательного действия является триггер ( §10.4 ) - устройство, сохраняющее прежнее состояние даже в случае отсутствия управляющих сигналов. Это «1-разрядная память». Состояние схемы, содержащей триггеры, зависит как от входных сигналов, так и от предыдущего состояния. Для D-триггера логический уровень, имевшийся на входе «D» в момент появления перепада ( фронта ) на тактовом входе, сохраняется и передаётся на выход «Q» 95 . Как только появляются триггеры, появляется и возможность строить счётчики, регистры, «конечные машины состояний» и даже компьютеры !

Если добавить триггеру RC цепочку, можно получить моностабильный мультивибратор ( или одновибратор ) 96 - элемент, выдающий на выход импульс с длительностью, заданной RC цепью, в ответ на входной перепад. Одновибратор - пример устройства смешанных сигналов - комбинации цифровой и аналоговой техники.

@E Логика последовательного действия: регистры и счётчики

Тактируемый D-триггер сохраняет один бит. Набор из n D-триггеров с объединёнными входами тактирования называется регистром ( §10.5.1 ). Он хранит n бит ( при n = 8 говорят о «байте» ). Из комбинации вентилей и регистров можно собрать конечную машину состояний ( FSM ), см. рис. 10.64 . Последняя ступень перед процессором.

Если выход «Q» D-триггера подать на вход «D» следующего и так набрать цепочку, а тактовые входы объединить, то получится сдвиговый регистр . Это удобный элемент для преобразования параллельных данных в последовательные ( если загружать с его параллельных линий, а читать через последовательную ) и обратно. Интересной вариацией сдвиговых регистров являются сдвиговые регистры с обратными связями ( FSR ) ( §8.12.4.A и §13.14 ), которые создают шумоподобные битовые последовательности ( PRBS ).

Из набора n D-триггеров можно собрать n-разрядный счётчик - схему, которая будет увеличивать на единицу n-разрядное двоичное число на своих выходах с каждым перепадом на тактовом входе 97 . Простейшим вариантом является счётчик пульсаций ( §10.4.2.E ), в котором выходы «Q» заводятся на тактовый вход следующей ступени. Более сложную конструкцию имеет синхронный счётчик. В нём все тактовые входы последовательных ступеней запараллелены, а на их входы данных подаются особым образом сформированные логические сигналы, требуемые для корректной работы. Иначе говоря, синхронный счётчик - частный случай конечной машины состояний. Синхронные счётчики ( и синхронные системы ) в большинстве случаев предпочтительнее прочих: их триггеры переключаются одновременно ( если не учитывать фазовый сдвиг фронта [* §10.8.2.C ] ), а отсутствие цифрового шума перед приходом фронта увеличивает надёжность.

@F Стандартная и программируемая логика

Цифровые логические схемы доступны в виде стандартных элементов с жёстко заданной функцией ( винтили, триггеры, счётчики, регистры ). Они упаковываются в самые разные корпуса: от 5-ногих транзисторных для поверхностного монтажа для вентилей «мини-логики», 14-, 20-ножечные для сложных функций и до 48-, 96-ногих многобайтных шинных передатчиков. См табл. 10.3 на стр. 716 ( вентили ) и табл. 10.5 на стр. 742 ( счётчики ).

Такие ИМС достаточны для многих задач, но имеют весьма привлекательную альтернативу для построения сложных схем - программируемые логические микросхемы ( ПЛМ ). Они содержат много никуда не подключённых вентилей и триггеров, связи между которыми задаются пользователем ( программируемые или конфигурируемые пользователем ), см. §10.5.4 . Есть два больших класса таких микросхем. Первый - сложные программируемые устройства , содержащие от нескольких десятков до нескольких сотен «макроячеек» ( триггер с логической обвязкой ) и постоянную конфигурационную память. Ими удобно заменять довольно большие объёмы «жёсткой» логики - скопления вентилей и триггеров в схемах. На их основе также удобно строить машины состояний. На более высоком уровне интеграции безраздельно царит второй тип ПЛМ - вентильные матрицы ( FPGA ). Самые большие из них содержат миллионы «эквивалентный вентилей» [* структура производителями не разглашается ] , память, передатчики последовательных интерфейсов и вообще всё, что нужно для построения микропроцессора.

Большинство разработчиков использует «языки описания аппаратуры» ( HDL ) и среду разработки на базе PC, чтобы задавать нужные функции, но есть и схемный ввод. Среда разработки позволяет моделировать схему и проверять правильность функционирования. Современные ПЛМ программируются в системе через последовательный порт JTAG. Подробному рассмотрению темы отведена Часть 11 .

Разговор о цифровой логике немыслим без микроконтроллеров . Это достаточно мощные и недорогие компьютеры на кристалле, которые могут заменить и жёсткую, и программируемую логику. Современные микроконтроллеры следует рассматривать не как экзотические устройства, но как обычные схемные компоненты: они стОят дешевле точных операционных усилителей, а могут многое, см. Часть 15 .

@G Логические семейства

Цифровые логические функции, независимо от того, стандартная это логика или ПЛМ, реализуется в кристаллах, сделанных по той или иной технологии ( §10.2 ). Прежние стандартные серии логики ( биполярные RTL, DTL и TTL ) сошли со сцены под натиском КМОП схем. КМОП серии включают как традиционные 5-вольтовые «HC(T)» и «AC(T)» ( расширение «-T» означает ТТЛ порог на уровне ∼1.4 V ) и высоковольтовую ( но очень медленную ) «4000B», так и множество новых низковольтовых семейств. В число последних входят «LVC» ( 1.8–5V ), «AUC» ( 1.2–2.5 V ) и десятки других. См рис. 10.22 , 10.26 , 10.27 , §12.1 и рис. 12.2

ПЛМ обоих видов и микроконтроллеры делают только по КМОП технологии. Напряжения питания лежат в диапазоне от 1 до 5V ( чем быстрее, тем ниже питание [* см. примечание #1 на стр. 793 ( §12.1.1 ) ] ). В настоящий момент принято разделять питание «ядра» таких микросхем и драйверов ввода-вывода, подключённых в выводам корпуса. Например, ядро ПЛМ или микропроцессора может запитываться от +1.2 V , а драйверы ввода-вывода от 1.6–3.6 V ( что требуется для совместимости с внешней периферией ).

Всё это многообразие смущает поначалу. Часть 12 освещает вопрос соединений между различными семействами. На самом простом уровне ( §12.1.3 , рис. 12.9 ) требуется знать следующее.

  1. ИМС, имеющие одинаковое питание можно соединять между собой [* почти ] всегда.
  2. Логика с более высоким питанием может подключаться к логике с низким, если входы последней являются «совместимыми».
  3. Логика с более низким питанием ( но не ниже 2.5 V ) может подключаться ко входам с «ТТЛ порогом» у логики с высоким питанием.

@H Аномалии цифровых схем

Разработка цифровых устройств гораздо проще, чем линейных схем ( смещение, температурная стабильность и т.п. вопросы ). Эта простота расслабляет, но у цифровых схем есть свои сложности и особенности, см. §10.8 . В их числе проблемы на постоянных уровнях : «зависания», «тиристорное защёлкивание» и неопределённость состояния после включения. Более разнообразны проблемы при переключении : «логические гонки», укороченные импульсы, метастабильные состояния, фазовый сдвиг фронтов, выбросы по земле и шум переключения по линии питания.

95 Точнее присутствует и стабилен в течение времени предустановки \(t_S\) до прихода фронта и времени удержания \(t_H\) после него, чтобы гарантировать корректную работу. <-

96 Стабилен только во одном положении, чем отличается от бистабильного триггера ( стабилен в обоих состояниях ) и от астабильного генератора - мультивибратора ( стабильных состояний нет ). <-

97 Или уменьшается у обратного счётчика . <-

Previous part:

Next part: