Как построить синхронный редуктор частоты на CD4520

Нужно поделить частоту входного сигнала на целое число, при этом чтобы выходной сигнал был строго синхронен с входом — без сдвигов фазы и лишних импульсов? Задача вполне рядовая, и CD4520 для этого подходит отлично. Это двойной 4-разрядный синхронный счётчик, который позволяет собрать редуктор частоты с коэффициентом деления от 1 до 16 на каждом каскаде, а при каскадном включении — значительно больше.

Разберёмся, как это сделать практически: от понимания логики счётчика до готовой схемы, которую можно собрать и запустить.

Что такое CD4520 и почему он удобен для деления частоты

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

У каждого счётчика есть:

  • тактовый вход (CLK) — входной сигнал, частоту которого мы делим;
  • вход разрешения (ENABLE) — когда он активен, счётчик работает;
  • вход установки в ноль (RESET) — сброс всех триггеров в 0;
  • четыре выхода (Q0–Q3) — биты счёта от младшего к старшему.

Ключевая идея для редуктора: мы заставляем счётчик считать до определённого значения и сбрасывать. Если сброс происходит при достижении числа N, то выходная частота будет входная, делённая на N.

Базовый принцип: деление на N

Допустим, нам нужно поделить частоту на 5. Счётчик считает: 0, 1, 2, 3, 4 — и на пятом импульсе должен сброситься обратно в 0. Для этого мы отслеживаем состояние выходов, соответствующее числу 4 (в двоичном коде это 100, то есть Q2=1, Q1=0, Q0=0), и подаём сигнал на RESET.

Когда счётчик достигает значения 4, комбинация логических уровней на Q2, Q1, Q0 формирует сигнал сброса. Счётчик мгновенно возвращается в 0, и цикл повторяется. На выходе Q2 мы получаем меандр с частотой, в 5 раз меньшей входной.

Вот пошаговый алгоритм для любого коэффициента деления N (от 2 до 16):

  1. Определите, до какого значения должен считать счётчик: это N−1 (потому что сброс происходит при достижении N−1, а следующий импульс уже вызывает сброс в 0).
  2. Запишите N−1 в двоичном виде. Например, для деления на 7: N−1 = 6 = 0110₂ (Q3=0, Q2=1, Q1=1, Q0=0).
  3. Найдите те выходы, которые равны 1 в этом представлении. В нашем примере это Q2 и Q1.
  4. Подключите эти выходы через логический элемент И (AND) к входу RESET. Когда все эти выходы одновременно станут равны 1, на RESET появится единица, и счётчик сбросится.
  5. Снимите выходной сигнал с того выхода, который даёт симметричный меандр. Для чётных коэффициентов деления обычно используют старший бит или промежуточный выход в зависимости от требований к скважности.

Конкретный пример: делитель на 6

Допустим, на вход подаётся сигнал 60 Гц, а нужен выход 10 Гц. Коэффициент деления N = 6, значит, счётчик должен сбрасываться при достижении 5.

Число 5 в двоичном коде: 0101₂. Это означает Q2=1, Q0=1, Q1=0, Q3=0. Соединяем Q2 и Q0 через логический элемент И — например, используем один из элементов CD4081 ( quad 2-input AND gate). Выход этого элемента идёт на вход RESET счётчика.

Тактовый вход CD4520 подключается к источнику 60 Гц. Вход ENABLE подтягивается к логической единице (разрешение работы). Выходной сигнал 10 Гц снимаем с Q2 — он переключается с частотой ровно в 6 раз ниже входной.

Схема получается компактной: CD4520, один И-элемент, пара резисторов для подтяжки и блокировочный конденсатор по питанию.

Каскадное включение: деление на числа больше 16

Один каскад CD4520 делит максимум на 16. Если нужен коэффициент больше — каскады соединяют последовательно. Выход первого счётчика подаётся на тактовый вход второго.

Допустим, нужно поделить на 48. Разлагаем: 48 = 6 × 8. Первый счётчик делит на 6, второй — на 8. Между ними — простая связь: выход Q2 первого счётчика (или тот выход, который даёт нужную частоту после деления на 6) подключается на CLK второго счётчика.

Важный момент: при каскадном включении следите за тем, какой именно выход первого счётчика вы используете как тактовый для второго. Если вы снимаете сигнал с того же бита, который участвует в формировании сигнала RESET, частота на этом выходе уже понизилась — это именно то, что нужно. Но помните, что скважность этого сигнала может быть не 50%, если коэффициент деления нечётный или если вы снимаете сигнал не со старшего бита.

Для двух каскадов общее число выходов, с которых можно снять результат, — восемь (по четыре на каждый счётчик). Это даёт гибкость: можно выбрать выход с нужной скважностью.

Выбор выходного сигнала и скважность

Вот где часто возникает путаница. Если вы просто берёте старший выход счётчика (Q3) и используете его как выходной сигнал, скважность не всегда будет 50%. Рассмотрим на примерах:

  • Деление на 2: Q0 даёт меандр 50%. Идеально.
  • Деление на 4: Q1 даёт меандр 50%. Хорошо.
  • Деление на 3: Q1 даёт сигнал со скважностью 1:2 (треть времени — единица, две трети — ноль). Не симметрично.
  • Деление на 5: Q2 даёт скважность 2:3. Тоже не 50%.

Если вам нужен строго симметричный выход (меандр), есть два пути:

  1. Использовать только степени двойки как коэффициент деления (2, 4, 8, 16) — тогда старший бит всегда даёт 50%.
  2. Дополнительно поставить JK-триггер (например, CD4027) на выход делителя, чтобы выровнять скважность. Триггер делит частоту ещё пополам, но зато гарантирует симметричный меандр.

Таблица подключений для типовых коэффициентов деления

Коэффициент деления (N) Значение сброса (N−1) Двоичный код (Q3 Q2 Q1 Q0) Выходы на AND (RESET) Выходной сигнал Скважность
2 1 0001 Q0 Q0 50%
3 2 0010 Q1 Q1 33%
4 3 0011 Q1, Q0 Q1 50%
5 4 0100 Q2 Q2 40%
6 5 0101 Q2, Q0 Q2 33%
7 6 0110 Q2, Q1 Q2 43%
8 7 0111 Q2, Q1, Q0 Q2 50%
10 9 1001 Q3, Q0 Q3 20%
12 11 1011 Q3, Q1, Q0 Q3 33%
16 15 1111 Q3, Q2, Q1, Q0 Q3 50%

Обратите внимание: для коэффициентов-степеней двойки (2, 4, 8, 16) скважность всегда 50%. Для остальных — выходной сигнал несимметричный. Это не ошибка схемы, а свойство деления на нестепень двойки.

Варианты логических элементов для формирования RESET

Для формирования сигнала сброса нужен логический элемент И (AND). Подходящие варианты:

  • CD4081 — четыре элемента И на два входа. Самый простой выбор, если у вас один-два выхода нужно объединить для RESET.
  • CD4073 — три элемента И на три входа. Подходит, если нужно объединить три бита (например, для деления на 8 или 16).
  • CD4075 — три элемента ИЛИ на три входа. Пригодится, если вы инвертируете логику (используете И-НЕ вместо И).

Если нужен коэффициент деления, требующий объединения четырёх выходов (например, 16), можно использовать два элемента И из CD4081, включённых каскадно: первый объединяет Q0 и Q1, второй — Q2 и Q3, а их выходы объединяются третьим элементом. Либо взять CD4073 (два из трёх входов использовать) и один CD4081 для финального объединения.

Есть и альтернативный подход — использовать вход ENABLE вместо RESET. В этом случае вы не сбрасываете счётчик, а останавливаете его. Когда нужное значение достигнуто, ENABLE переводится в 0, и счётчик замирает. На следующем входном импульсе — нет, не переключается. Но этот метод менее удобен для редуктора частоты, потому что требует более сложной логики управления. Метод с RESET проще и надёжнее.

Питание и обвязка

CD4520 — CMOS-микросхема, она чувствительна к статике и помехам по питанию. Вот что нужно сделать обязательно:

  • Блокировочный конденсатор 100 нФ между выводами VDD и VSS — как можно ближе к корпусу микросхемы.
  • Если питание 5 В — работает отлично. При 3,3 В тоже работает, но пороги логических уровней будут другими, учитывайте это при согласовании с другими микросхемами.
  • Неиспользуемые входы (ENABLE, RESET свободного счётчика) обязательно подтяните к VDD или VSS. Висящие входы CMOS — причина нестабильной работы и повышенного потребления.
  • Выходная нагрузка — вход CMOS-микросхемы или транзисторный ключ. Не подключайте непосредственно светодиод или реле без буфера.

Частые ошибки при построении редуктора на CD4520

Ошибка 1: Неправильный выбор значения сброса. Многие путают N и N−1. Если вы хотите делить на 5, счётчик должен сбрасываться при достижении 4, а не 5. Если поставите сброс на 5, реальный коэффициент деления будет 6, а не 5.

Ошибка 2: Снимают выходной сигнал не с того бита. Если вы используете Q2 для формирования RESET (при делении на 5), и одновременно снимаете с него выходной сигнал — это корректно. Но если вы по ошибке снимаете сигнал с Q1 или Q0, частота и скважность будут не те, что ожидаете.

Ошибка 3: Забывают про ENABLE. Если вход ENABLE оставить висящим (не подключённым), счётчик может не считать вовсе или считать хаотично. Для нормальной работы ENABLE должен быть логической единицей.

Ошибка 4: Пытаются получить скважность 50% при нечётном коэффициенте деления без дополнительного триггера. Это принципиально невозможно одним каскадом счётчика. Деление на 3, 5, 7, 10 и т.п. даёт несимметричный выход. Если нужен меандр — добавьте JK-триггер после счётчика.

Ошибка 5: Не учитывают задержку распространения через логический элемент. При работе на высоких частотах (выше нескольких мегагерц) задержка через элемент И и внутренняя задержка сброса счётчика могут привести к тому, что счётчик успеет просчитать лишнее состояние. Для частот до 1–2 МГц на обычных CD4000-сериях это обычно не проблема, но имейте в виду.

Что выбрать в зависимости от задачи

Нужно просто поделить частоту на 2, 4, 8 или 16 с меандром на выходе? Один CD4520, один выход на RESET через элемент И (или напрямую для деления на 2). Минимум деталей.

Нужен произвольный коэффициент от 3 до 16 и скважность не важна? Один CD4520 + один CD4081 или CD4073. Настраиваете подключение нужных выходов к элементу И — и готово.

Нужен коэффициент больше 16? Два каскада CD4520 (один корпус содержит два счётчика, так что один чип покрывает два каскада). Первый делит на N1, второй на N2, общий коэффициент — N1 × N2.

Нужен скважность 50% при нечётном коэффициенте? CD4520 + элемент И + JK-триггер (CD4027). Триггер после счётчика делит частоту ещё на 2 и выравнивает скважность. Общий коэффициент деления при этом удваивается: если счётчик делил на 5, итоговый результат — деление на 10 с меандром.

Нужна перестраиваемая схема (переключение коэффициента деления)?strong> Используйте переключатель для коммутации выходов, идущих на элемент И. Можно применить 4-разрядный переключатель (например, CD4016 или механический) для выбора нужной комбинации битов. Только следите за тем, чтобы при переключении счётчик не попал в некорректное состояние — лучше на время переключения зафиксировать ENABLE = 0.

Практические рекомендации

  • Всегда начинайте настройку с деления на 2 — это самый простой случай, где выход можно снять прямо с Q0 без дополнительной логики. Убедитесь, что счётчик вообще работает, прежде чем усложнять схему.
  • Проверяйте осциллографом, а не только логическим пробником. Логический пробник покажет наличие сигнала, но не скважность и не форму импульса.
  • Если выходной сигнал идёт на микроконтроллер — вход микроконтроллера должен быть с гистерезисом или подтянут к определённому уровню. CMOS-входы CD4520 имеют порог примерно VDD/2, и при медленных фронтах могут возникать дребезг.
  • При каскадном включении оба счётчика должны быть в одном корпусе CD4011 или CD4520 — не используйте разные микросхемы с разными задержками, если работаете на высокой частоте.

Итог

CD4520 — простой и надёжный инструмент для построения синхронного редуктора частоты. Базовая схема требует самой микросхемы, одного логического элемента И и блокировочного конденсатора. Каскадное включение позволяет получить любой практически коэффициент деления, а добавление JK-триггера решает проблему несимметричного выхода.

Главное — правильно определить значение сброса (N−1, а не N), выбрать правильный выходной бит и не забывать про обвязку. Собрали один раз — и работает без сбоев, потому что вся логика внутри микросхемы синхронная и предсказуемая.

Radio-Blog.ru