2,5.4, Каскадирование счетчиков
Для обращения к ППЗУ большой емкости необходимо значительное число адресных линий. Например, для адресации к модели 27256 емкостью 8x32 Кб нужно 15 адресных линий с А0 по А14. Как правило, намного удобнее использовать двоичный счетчик, который сканирует всю память, поскольку в классическом варианте для управления счетчиком требуется только два бита (один для тактового входа, другой для обнуления), а не 15.
К сожалению, нет счетчиков с таким количеством выходов, несмотря на то что некоторые версии имеют 14 каскадов (например, микросхема CD4020). Но из 14 каскадов реально используется только 12, так как выходы Q1 и Q2 не подключены к внешним выводам.
Для счетчика CD4060 ситуация еще хуже, поскольку здесь можно использовать только 10 выходов. В результате необходимо применять каскадное соединение микросхем. Модель CD4040 отлично подходит для решения этой задачи. Последний выход первого счетчика (Q12, если начинать отсчет от Q1), соединен с тактовым входом второго счетчика (рис. 2.28).
Рис. 2.28. Каскадное соединение счетчиков
Входы обнуления соединяются и управляются общим сигналом сброса. Составленный таким образом счетчик будет иметь 24 выхода, но использоваться будут только 15 первых.
Аналогичный подход возможен также при работе с ППЗУ большего объема. При необходимости ничто не помешает вслед за вторым счетчиком поставить и третий. Такой вариант схемы можно применять для последовательного поиска данных (например, при синтезировании звуковых сигналов или при создании сообщения на алфавитно-цифровом индикаторе). В этом случае управление устройством лучше доверить микроконтроллеру, хотя при желании можно разработать управляющую схему на дискретных логических элементах.
2.5.5. Обнуление счетчиков
Установка сложной логической схемы в исходное состояние часто требует обнуления одного или нескольких счетчиков, которые могут быть построены на триггерах различных типов. Выполнение этой операции должно быть тщательно продумано, так как от нее в значительной степени зависит функционирование всей системы. Лучше создать устройство обнуления, общее для всех узлов, а не отдельные независимые модули. Это возможно, только если уровни сигнала обнуления согласованы. Как правило, обнуление всех счетчиков осуществляется сигналом логической единицы и происходит автоматически при подаче напряжения питания (рис. 2.29). Микроконтроллеры обычно имеют инвертированный сигнал обнуления, поэтому их не удается включить в общую схему. В этом случае лучше дать микроконтроллеру возможность автоматически устанавливать в исходное состояние все остальные компоненты устройства.
Рис. 2.29. Схема обнуления счетчиков
2.5.6. Сочетание счетчика с линейным индикатором
Лицевые панели современных приборов часто содержат светящиеся шкалы, отображающие какую-либо аналоговую величину или настройку приемника. Такой тип индикации, которая называется линейной, формируется с помощью нескольких светодиодов, расположенных в ряд. Выпускаются и готовые шкалы, состоящие из восьми или десяти светодиодов, собранных в корпусе DIP16 или DIP20. Можно также построить линейный индикатор собственными силами, используя круглые или прямоугольные светодиоды разных цветов или одного цвета. Однако управлять таким индикатором не очень просто. Для этого необходимо располагать двоичными сигналами, число которых равно количеству светодиодов.
Если прибор содержит несколько однотипных модулей, разработка его схемы заметно усложняется. Более простое решение — использовать один или несколько двоичных счетчиков (рис. 2.30).
Рис. 2.30. Схема счетчика с индикатором
Счетчик заставляют считать вперед, воздействуя на его тактовый вход до тех пор, пока на выходах не появится требуемый результат. При подаче сигнала сброса все выходы счетчика переходят в нулевое состояние. После первого тактового импульса выход младшего разряда переходит в состояние логической единицы. Следующий период устанавливает это состояние на втором выходе, а первый разряд обнуляется. Третий период переводит в состояние логической единицы оба первых выхода и т. д. Если каждый из выходов соединить со светодиодами, такой двоичный счет будет отображаться индикатором.
По этому принципу можно построить линейный индикатор точечного типа (в каждый момент горит один светодиод) или типа светящейся шкалы. Управлять счетчиком для получения требуемой индикации должен микроконтроллер.
Сложность этой задачи заключается в том, что счетчик невозможно сразу вернуть назад. Например, если горит третий светодиод, а необходимо зажечь второй, сначала надо погасить оба (через вход Reset), а затем отправить нужное число тактовых импульсов. Чтобы промежуточные этапы счета не были видны на индикаторе, следует увеличить скорость операций, особенно при зажигании последних светодиодов. Действительно, зажигание последнего диода из ряда, содержащего 10 штук, требует отправления 512 импульсов, а зажигание одновременно всех десяти — 1023 импульсов. Такая процедура не требует сложных вычислений для определения числа импульсов, соответствующего заданному состоянию индикатора.
В рассмотренном устройстве можно использовать любой двоичный счетчик (если только он имеет все необходимые выходы). Для создания очень большой шкалы придется каскадно соединить несколько таких счетчиков. Не рекомендуется подключать светодиоды непосредственно к выходам счетчика, лучше использовать ряд буферных каскадов на основе микросхем или транзисторной матрицы.
2.5.7. Высокоомное состояние
Возможность получения особо высокого сопротивления играет важную роль как в аналоговой, так и в цифровой электронике. В первом случае речь чаще всего идет о входном сопротивлении операционного усилителя. Во втором случае обычно имеется в виду высокоомное состояние выхода логического устройства. Об этом уже упоминалось выше, когда речь шла о выходах схем с открытым коллектором. Использование высокоомного состояния лежит в основе принципа передачи цифровой информации по шине, связывающей несколько различных компонентов, которые взаимодействуют друг с другом (рис. 2.31).
Рис. 2.31. Схема подключения к общей шине
Каждый разряд на выходе логических элементов, подключенных к общей шине, может принимать три состояния: логический нуль, логическая единица и высокоомное состояние, сравнимое с физическим отключением (его часто называют Z-состоянием). Без этого третьего состояния было бы невозможно объединить нескольких выходов. Поэтому для подключения к общей шине (с параллельной или последовательной передачей данных) можно использовать ТТЛ схемы с открытым коллектором на выходе, предназначенные для такого соединения, или КМОП схемы с Z-состоянием выхода.
Аналоговые устройства с высоким входным сопротивлением необходимы для работы с некоторыми специфическими элементами, в частности с датчиками физических величин. Примером может служить датчик с электродами для измерения показателя рН жидкости, имеющий сопротивление порядка 1012 Ом. К счастью, существует ряд операционных усилителей, входное сопротивление которых согласуется с такой величиной. Разработчику схемы необходимо соблюдать определенные правила размещения элементов. Соединительный кабель и особенно соединительный элемент должны выбираться и монтироваться очень тщательно. От этого в большой степени зависит качество работы всей схемы. Обычно имеет смысл приобрести соединительный кабель со специальным разъемом для присоединения к входу усилителя.