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

Выделение импульса из модулированного сигнала

Здравствуйте.

 

На микроконтроллер приходят импульсы логического сигнала длительностью от 10 до 500 мСек.

Эти импульсы могут быть заполнены ШИМ с частотой порядка 1-2 кГц и скважностью

от 0,1 до 0,9. Можно представить это как амплитудно модулированный сигнал.

 

post-16032-1537298845_thumb.jpg

 

А могут быть и не заполненными.

С измерением длительности не заполненного импульса проблем нет. А вот как измерить длительность

импульса, если он заполнен ШИМ ?

 

Можно конечно было бы применить какой-либо фильтр, но хотелось бы обойтись простыми средствами

без лишней вычислительной нагрузки. Или с минимальными вычислениями.

 

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


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

С измерением длительности не заполненного импульса проблем нет. А вот как измерить длительность

импульса, если он заполнен ШИМ ?

Завести на вход таймера в режиме Capture (захват по фронту и по спаду). А также на вход другого таймера, который будет запускать (и перезапускать) отсчёт интервала таймаута по каждому спаду этого сигнала. По истечении интервала (2-го таймера) считать первое и последнее события capture из 1-го таймера и найти между ними разницу. Интервал таймаута должен быть заведомо больше периода ШИМа заполнения.

Всё.

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


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

Завести на вход таймера в режиме Capture (захват по фронту и по спаду). А также на вход другого таймера, который будет запускать (и перезапускать) отсчёт интервала таймаута по каждому спаду этого сигнала. По истечении интервала (2-го таймера) считать первое и последнее события capture из 1-го таймера и найти между ними разницу. Интервал таймаута должен быть заведомо больше периода ШИМа заполнения.

Всё.

 

Спасибо.

 

Но как быть если импульсы не будут модулированы ?

 

Тогда по истечении интервала 2-го таймера проверять значение пина, если 0, то все, если 1,

то 2-ой таймер продолжает заного отсчитывать свой период.

И так по кругу, пока пин не примет значение 0.

 

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


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

Но как быть если импульсы не будут модулированы ?

А Вы почитайте внимательнее что я написал. Там учитываются все Ваши нужды.

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


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

А Вы почитайте внимательнее что я написал. Там учитываются все Ваши нужды.

 

Да, действительно не внимательно прочитал. Все так как надо !!!

 

Спасибо !!!

 

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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