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

Может это классическая задача, направьте к учебнику...
MrYuran
Цитата(nikolascha @ Jul 22 2010, 15:41) *
Потом это значение каким-то образом преобразуется (делится, умножается или еще что, не важно) и получается число тактов, которое соответствует периоду выходного сигнала.

Надо поделить/умножить так, чтобы получилось удвоенное значение.
По этому значению формируете сигнал, который затем пропускаете через Т-триггер. Получится идеальный меандр
nikolascha
Цитата(MrYuran @ Jul 22 2010, 14:50) *
Надо поделить/умножить так, чтобы получилось удвоенное значение.
По этому значению формируете сигнал, который затем пропускаете через Т-триггер. Получится идеальный меандр
Я не очень понял, что вы имеете ввиду...

не могли бы вы разъяснить, например, для случая, когда период выходной частоты будет 5 тактов синхросигнала.
MrYuran
Цитата(nikolascha @ Jul 22 2010, 16:26) *
Я не очень понял, что вы имеете ввиду...

Я имею в виду, что ваш синхросигнал (и счётчик, соответственно) должен отсчитывать не период, а полпериода.
И выдавать импульс на выходной триггер, который будет формировать меандр.
nikolascha
Цитата(MrYuran @ Jul 22 2010, 15:31) *
Я имею в виду, что ваш синхросигнал (и счётчик, соответственно) должен отсчитывать не период, а полпериода.
И выдавать импульс на выходной триггер, который будет формировать меандр.

ну так как отсчитать половину периода для 7 тактов, как вы предлагаете отмерить 3.5 такта?
MrYuran
Цитата(nikolascha @ Jul 22 2010, 17:04) *
ну так как отсчитать половину периода для 7 тактов, как вы предлагаете отмерить 3.5 такта?

Увеличьте тактовую в 2 раза и отмерьте 7 тактов.
Кстати, а тактовая у вас тоже меандр?
Тогда нет проблем. Из каждого фронта легко сделать отдельный импульс.
Herz
Ничего не понятно.
Цитата(nikolascha @ Jul 22 2010, 14:41) *
и получается число тактов, которое соответствует периоду выходного сигнала.

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

nikolascha
Цитата(MrYuran)
Увеличьте тактовую в 2 раза и отмерьте 7 тактов.
Этот вариант не подходит, так как от этого варианта я и пытаюсь отказаться, так как потребление возрастает с увеличением частоты генератора. А это не устраивает.
Цитата(MrYuran)
Кстати, а тактовая у вас тоже меандр?
Тогда нет проблем. Из каждого фронта легко сделать отдельный импульс.
Тактовая предполагается - меандр. По фронту генерить импульс - это схема не очень надёжная и потребляющаяя, поэтому тоже не очень подходит.

2 Herz Возможно этот рисунок прояснит ситуацию
Нажмите для просмотра прикрепленного файла
Т.е. нужна схема делителя, которой задаёшь коэффициент деления входной частоты, на выходе всегда (вне зависимости от коэффициента деления (чет/нечет)) должен быть меандр. Если будут варианты, то схема должна иметь минимум переключений (т.е. минимальное динамическое потребление).
Ariel
думаю что такая схема поделит на 3
MrYuran
Идея значит такая.
Если N четный, то переключаем как обычно по переднему фронту.
А если нечётный - отсчитываем N-1, а дальше переключаем по очереди либо по переднему фронту (то есть сразу), либо по заднему (то есть через полтакта).

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

Чётность/нечётность определяется младшим битом делителя.
Осталось придумать переключатель
тау
Цитата(nikolascha @ Jul 22 2010, 15:41) *
Как достаточно простой цифровой схемой получить меандр со счётчика, когда период счёта составляет нечётное число импульсов?

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

2 Ariel: Вы предлагаете дублировать счетчик, один работает по положительному фронту, другой по отрицательному, а затем их выходы объединить между собой... Для трех это терпимо, а для 7, 17 и др. чисел, дублировать счетчики накладно... Если бы тоже самое только с одним основным счетчиком и с одним триггером по другому фронту...
MrYuran
Полсхемы вам уже нарисовали в #12, остальные полсхемы должны обрывать ОС при четных N, и ещё мультиплексор, который будет переключать ОС по выходм счётчика в соответствии с оставшейся частью N.
Как-то так.
_Bill
Цитата(nikolascha @ Jul 22 2010, 23:47) *
и как это сделать? Я немного избалован железобетонной логигой, в которой триггер может переключаться только по одному фронту...

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

А в момент переключения полярности ложного тактового импульса не будет?
С учётом того, что мы стоим на пороге открытия DDR тригера, может просто автору Xilinx CoolRuner посоветовать?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.