|
Как получить меандр, нужна цифровая схема |
|
|
|
Jul 22 2010, 11:41
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480

|
Задача в следующем: Замеряется временной интервал с помощью синхросигнала, значение записывается в счётчик. Потом это значение каким-то образом преобразуется (делится, умножается или еще что, не важно) и получается число тактов, которое соответствует периоду выходного сигнала. Это число тактов больше либо равно 2, и может быть как четным, так и нечетным. На выходе нужно получить меандр. С четными числами проблемы нет, делим на два значение количества тактов (период выдачи) и выдаём меандр. А как быть с нечётными числами (3, 5, 7 и т.д.)? Как достаточно простой цифровой схемой получить меандр со счётчика, когда период счёта составляет нечётное число импульсов?
Может это классическая задача, направьте к учебнику...
|
|
|
|
|
Jul 22 2010, 12:26
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480

|
Цитата(MrYuran @ Jul 22 2010, 14:50)  Надо поделить/умножить так, чтобы получилось удвоенное значение. По этому значению формируете сигнал, который затем пропускаете через Т-триггер. Получится идеальный меандр Я не очень понял, что вы имеете ввиду... не могли бы вы разъяснить, например, для случая, когда период выходной частоты будет 5 тактов синхросигнала.
|
|
|
|
|
Jul 22 2010, 13:04
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480

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

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(nikolascha @ Jul 22 2010, 17:04)  ну так как отсчитать половину периода для 7 тактов, как вы предлагаете отмерить 3.5 такта? Увеличьте тактовую в 2 раза и отмерьте 7 тактов. Кстати, а тактовая у вас тоже меандр? Тогда нет проблем. Из каждого фронта легко сделать отдельный импульс.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Jul 22 2010, 18:43
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480

|
Цитата(MrYuran) Увеличьте тактовую в 2 раза и отмерьте 7 тактов. Этот вариант не подходит, так как от этого варианта я и пытаюсь отказаться, так как потребление возрастает с увеличением частоты генератора. А это не устраивает. Цитата(MrYuran) Кстати, а тактовая у вас тоже меандр? Тогда нет проблем. Из каждого фронта легко сделать отдельный импульс. Тактовая предполагается - меандр. По фронту генерить импульс - это схема не очень надёжная и потребляющаяя, поэтому тоже не очень подходит. 2 Herz Возможно этот рисунок прояснит ситуацию
Т.е. нужна схема делителя, которой задаёшь коэффициент деления входной частоты, на выходе всегда (вне зависимости от коэффициента деления (чет/нечет)) должен быть меандр. Если будут варианты, то схема должна иметь минимум переключений (т.е. минимальное динамическое потребление).
|
|
|
|
|
Jul 22 2010, 19:47
|
Местный
  
Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480

|
Цитата(MrYuran) А если нечётный - отсчитываем N-1, а дальше переключаем по очереди либо по переднему фронту (то есть сразу), либо по заднему (то есть через полтакта). и как это сделать? Я немного избалован железобетонной логигой, в которой триггер может переключаться только по одному фронту... 2 Ariel: Вы предлагаете дублировать счетчик, один работает по положительному фронту, другой по отрицательному, а затем их выходы объединить между собой... Для трех это терпимо, а для 7, 17 и др. чисел, дублировать счетчики накладно... Если бы тоже самое только с одним основным счетчиком и с одним триггером по другому фронту...
|
|
|
|
|
Jul 23 2010, 19:52
|
Местный
  
Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219

|
Цитата(nikolascha @ Jul 22 2010, 23:47)  и как это сделать? Я немного избалован железобетонной логигой, в которой триггер может переключаться только по одному фронту... Так вам же нарисовали эту самую "железобетонную" логику. Триггер, конечно, всегда переключается по одному фронту. Просто в данном случае перед входом синхронизации стоит управляемый инвертор -"Исключающее ИЛИ", который передает тактовый сигнал либо без изменений, либо инвертирует его. Или нет?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|