Перейти к содержанию
    

Как получить меандр

Задача в следующем: Замеряется временной интервал с помощью синхросигнала, значение записывается в счётчик. Потом это значение каким-то образом преобразуется (делится, умножается или еще что, не важно) и получается число тактов, которое соответствует периоду выходного сигнала. Это число тактов больше либо равно 2, и может быть как четным, так и нечетным. На выходе нужно получить меандр. С четными числами проблемы нет, делим на два значение количества тактов (период выдачи) и выдаём меандр. А как быть с нечётными числами (3, 5, 7 и т.д.)?

Как достаточно простой цифровой схемой получить меандр со счётчика, когда период счёта составляет нечётное число импульсов?

 

Может это классическая задача, направьте к учебнику...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потом это значение каким-то образом преобразуется (делится, умножается или еще что, не важно) и получается число тактов, которое соответствует периоду выходного сигнала.

Надо поделить/умножить так, чтобы получилось удвоенное значение.

По этому значению формируете сигнал, который затем пропускаете через Т-триггер. Получится идеальный меандр

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо поделить/умножить так, чтобы получилось удвоенное значение.

По этому значению формируете сигнал, который затем пропускаете через Т-триггер. Получится идеальный меандр

Я не очень понял, что вы имеете ввиду...

 

не могли бы вы разъяснить, например, для случая, когда период выходной частоты будет 5 тактов синхросигнала.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я не очень понял, что вы имеете ввиду...

Я имею в виду, что ваш синхросигнал (и счётчик, соответственно) должен отсчитывать не период, а полпериода.

И выдавать импульс на выходной триггер, который будет формировать меандр.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я имею в виду, что ваш синхросигнал (и счётчик, соответственно) должен отсчитывать не период, а полпериода.

И выдавать импульс на выходной триггер, который будет формировать меандр.

ну так как отсчитать половину периода для 7 тактов, как вы предлагаете отмерить 3.5 такта?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну так как отсчитать половину периода для 7 тактов, как вы предлагаете отмерить 3.5 такта?

Увеличьте тактовую в 2 раза и отмерьте 7 тактов.

Кстати, а тактовая у вас тоже меандр?

Тогда нет проблем. Из каждого фронта легко сделать отдельный импульс.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего не понятно.

и получается число тактов, которое соответствует периоду выходного сигнала.

Как именно соответствует? Ответьте на этот вопрос и только тогда можно будет искать решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видел схемы, делящие такты на 3, на 5, со скважностью 50% в бумажном журнале, издаваемом Xilinx. Но в интернете ничего такого не нашел.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Увеличьте тактовую в 2 раза и отмерьте 7 тактов.
Этот вариант не подходит, так как от этого варианта я и пытаюсь отказаться, так как потребление возрастает с увеличением частоты генератора. А это не устраивает.

Кстати, а тактовая у вас тоже меандр?

Тогда нет проблем. Из каждого фронта легко сделать отдельный импульс.

Тактовая предполагается - меандр. По фронту генерить импульс - это схема не очень надёжная и потребляющаяя, поэтому тоже не очень подходит.

 

2 Herz Возможно этот рисунок прояснит ситуацию

post-50480-1279823852_thumb.png

Т.е. нужна схема делителя, которой задаёшь коэффициент деления входной частоты, на выходе всегда (вне зависимости от коэффициента деления (чет/нечет)) должен быть меандр. Если будут варианты, то схема должна иметь минимум переключений (т.е. минимальное динамическое потребление).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Идея значит такая.

Если N четный, то переключаем как обычно по переднему фронту.

А если нечётный - отсчитываем N-1, а дальше переключаем по очереди либо по переднему фронту (то есть сразу), либо по заднему (то есть через полтакта).

 

Эх, давно не брал я в руки шашку...

С этим программингом начал уже забывать некогда родную стихию импульсов и тактов...

 

Чётность/нечётность определяется младшим битом делителя.

Осталось придумать переключатель

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как достаточно простой цифровой схемой получить меандр со счётчика, когда период счёта составляет нечётное число импульсов?

post-42757-1279827873_thumb.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А если нечётный - отсчитываем N-1, а дальше переключаем по очереди либо по переднему фронту (то есть сразу), либо по заднему (то есть через полтакта).
и как это сделать? Я немного избалован железобетонной логигой, в которой триггер может переключаться только по одному фронту...

 

2 Ariel: Вы предлагаете дублировать счетчик, один работает по положительному фронту, другой по отрицательному, а затем их выходы объединить между собой... Для трех это терпимо, а для 7, 17 и др. чисел, дублировать счетчики накладно... Если бы тоже самое только с одним основным счетчиком и с одним триггером по другому фронту...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Полсхемы вам уже нарисовали в #12, остальные полсхемы должны обрывать ОС при четных N, и ещё мультиплексор, который будет переключать ОС по выходм счётчика в соответствии с оставшейся частью N.

Как-то так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

и как это сделать? Я немного избалован железобетонной логигой, в которой триггер может переключаться только по одному фронту...

Так вам же нарисовали эту самую "железобетонную" логику. Триггер, конечно, всегда переключается по одному фронту. Просто в данном случае перед входом синхронизации стоит управляемый инвертор -"Исключающее ИЛИ", который передает тактовый сигнал либо без изменений, либо инвертирует его. Или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...