реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Как получить меандр, нужна цифровая схема
nikolascha
сообщение Jul 22 2010, 11:41
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480



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

Может это классическая задача, направьте к учебнику...
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 22 2010, 11:50
Сообщение #2


Беспросветный оптимист
******

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



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

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
nikolascha
сообщение Jul 22 2010, 12:26
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480



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

не могли бы вы разъяснить, например, для случая, когда период выходной частоты будет 5 тактов синхросигнала.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 22 2010, 12:31
Сообщение #4


Беспросветный оптимист
******

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



Цитата(nikolascha @ Jul 22 2010, 16:26) *
Я не очень понял, что вы имеете ввиду...

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
nikolascha
сообщение Jul 22 2010, 13:04
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480



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

ну так как отсчитать половину периода для 7 тактов, как вы предлагаете отмерить 3.5 такта?
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 22 2010, 13:43
Сообщение #6


Беспросветный оптимист
******

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



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

Увеличьте тактовую в 2 раза и отмерьте 7 тактов.
Кстати, а тактовая у вас тоже меандр?
Тогда нет проблем. Из каждого фронта легко сделать отдельный импульс.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Herz
сообщение Jul 22 2010, 13:51
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Ничего не понятно.
Цитата(nikolascha @ Jul 22 2010, 14:41) *
и получается число тактов, которое соответствует периоду выходного сигнала.

Как именно соответствует? Ответьте на этот вопрос и только тогда можно будет искать решение.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 22 2010, 14:21
Сообщение #8


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



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

Go to the top of the page
 
+Quote Post
nikolascha
сообщение Jul 22 2010, 18:43
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480



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

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

Т.е. нужна схема делителя, которой задаёшь коэффициент деления входной частоты, на выходе всегда (вне зависимости от коэффициента деления (чет/нечет)) должен быть меандр. Если будут варианты, то схема должна иметь минимум переключений (т.е. минимальное динамическое потребление).
Go to the top of the page
 
+Quote Post
Ariel
сообщение Jul 22 2010, 18:50
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 820
Регистрация: 12-05-08
Из: Israel
Пользователь №: 37 440



думаю что такая схема поделит на 3
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 22 2010, 19:24
Сообщение #11


Беспросветный оптимист
******

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



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

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

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
тау
сообщение Jul 22 2010, 19:44
Сообщение #12


.
******

Группа: Участник
Сообщений: 2 424
Регистрация: 25-12-08
Пользователь №: 42 757



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


Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
nikolascha
сообщение Jul 22 2010, 19:47
Сообщение #13


Местный
***

Группа: Свой
Сообщений: 376
Регистрация: 20-06-09
Из: BY
Пользователь №: 50 480



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

2 Ariel: Вы предлагаете дублировать счетчик, один работает по положительному фронту, другой по отрицательному, а затем их выходы объединить между собой... Для трех это терпимо, а для 7, 17 и др. чисел, дублировать счетчики накладно... Если бы тоже самое только с одним основным счетчиком и с одним триггером по другому фронту...
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 22 2010, 19:58
Сообщение #14


Беспросветный оптимист
******

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



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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
_Bill
сообщение Jul 23 2010, 19:52
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(nikolascha @ Jul 22 2010, 23:47) *
и как это сделать? Я немного избалован железобетонной логигой, в которой триггер может переключаться только по одному фронту...

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

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 16th June 2025 - 05:48
Рейтинг@Mail.ru


Страница сгенерированна за 0.01507 секунд с 7
ELECTRONIX ©2004-2016