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

 
 
> Формирование сигнала определенного вида длительностью 1,5 мкс
Sprite
сообщение Jun 6 2008, 19:07
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 173
Регистрация: 11-05-08
Пользователь №: 37 414



Доброго всем времени суток! Программирую atmga8535 с кварцем на 16 Мгц.
Возникла такая задача:

Имеется входной сигнал вида 1.
Нужно получить сигнал вида 2:

Прикрепленное изображение


Длительность нулевых уровней сигнала 2 - строго фиксированная и составляет 1,5 мкс. Нулевой уровень сигнала 2 должен заканчивается в момент смены фронта сигнала 1.
Проблема в том, что частота сигнала 1 заранее не известна и может меняться в пределах 10-20 кГц.
Думаю, что придется использовать таймер 1 и захватывать сигнал по ICP.
Уважаемые эксперты, какой режим таймера выбрать?
Буду очень признателен за изложение алгоритма (хотя бы на словах)!
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MrYuran
сообщение Jun 7 2008, 08:44
Сообщение #2


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

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



Я знаю как надо поступить.

1. засекаем входной период (таймером, через ICP или как его там)
2. вычисляем 2 константы - время установки вых. сигнала и время сброса (в тиках таймера).
3. таймер работает в непрерывном режиме
4. заносим наши константы в регистры сравнения А и В.
5. настраиваем так чтобы по 1-му совпадению сигнал на выходе устанавливался, а по 2-му - сбрасывался.
6. это всё непрерывно в цикле.
7. вуаля!


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sprite   Формирование сигнала определенного вида длительностью 1,5 мкс   Jun 6 2008, 19:07
- - Flasher   Алгоритм простой- берем гадалку и пусть она говори...   Jun 6 2008, 19:26
|- - singlskv   Цитата(Flasher @ Jun 6 2008, 23:26) Алгор...   Jun 6 2008, 19:54
- - Flasher   Итак в рамках темы обсуждаем как писать гадалок. О...   Jun 6 2008, 20:00
|- - singlskv   Цитата(Flasher @ Jun 7 2008, 00:00) Итак ...   Jun 6 2008, 20:09
- - DRUID3   По маразму задачи, я так понимаю, что это ВУЗовско...   Jun 6 2008, 22:07
- - domowoj   Что-то подобное делал на частоте 100Гц. В вашем сл...   Jun 7 2008, 01:35
|- - Sprite   Цитата(domowoj @ Jun 7 2008, 08:35) Что-т...   Jun 7 2008, 04:29
- - rv3dll(lex)   на сколько я понимаю что автор не понял что говоря...   Jun 7 2008, 04:15
- - INT1   Если бы знал, где упаду(отрицательный перепад) , т...   Jun 7 2008, 04:25
- - otrog   Для работы с временами порядка микросекунд просто ...   Jun 7 2008, 04:47
|- - Sprite   Цитата(otrog @ Jun 7 2008, 11:47) Для раб...   Jun 7 2008, 06:35
|- - rv3dll(lex)   Цитата(Sprite @ Jun 7 2008, 10:35) После ...   Jun 7 2008, 07:05
|- - Sprite   Цитата(rv3dll(lex) @ Jun 7 2008, 14...   Jun 7 2008, 07:50
- - Ledmaster   Цитата(Sprite @ Jun 7 2008, 01:07) Доброг...   Jun 7 2008, 07:44
|- - rv3dll(lex)   Цитата(Ledmaster @ Jun 7 2008, 11:44) Пац...   Jun 7 2008, 08:12
|- - Ledmaster   Цитата(rv3dll(lex) @ Jun 7 2008, 14...   Jun 7 2008, 09:40
- - Sprite   Цитата(MrYuran @ Jun 7 2008, 15:44) Я зна...   Jun 9 2008, 14:35


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 13:38
Рейтинг@Mail.ru


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