Автор: dimka76 Sep 18 2018, 19:32
Здравствуйте.
На микроконтроллер приходят импульсы логического сигнала длительностью от 10 до 500 мСек.
Эти импульсы могут быть заполнены ШИМ с частотой порядка 1-2 кГц и скважностью
от 0,1 до 0,9. Можно представить это как амплитудно модулированный сигнал.
А могут быть и не заполненными.
С измерением длительности не заполненного импульса проблем нет. А вот как измерить длительность
импульса, если он заполнен ШИМ ?
Можно конечно было бы применить какой-либо фильтр, но хотелось бы обойтись простыми средствами
без лишней вычислительной нагрузки. Или с минимальными вычислениями.
Автор: jcxz Sep 18 2018, 20:23
Цитата(dimka76 @ Sep 18 2018, 22:32)
С измерением длительности не заполненного импульса проблем нет. А вот как измерить длительность
импульса, если он заполнен ШИМ ?
Завести на вход таймера в режиме Capture (захват по фронту и по спаду). А также на вход другого таймера, который будет запускать (и перезапускать) отсчёт интервала таймаута по каждому спаду этого сигнала. По истечении интервала (2-го таймера) считать первое и последнее события capture из 1-го таймера и найти между ними разницу. Интервал таймаута должен быть заведомо больше периода ШИМа заполнения.
Всё.
Автор: dimka76 Sep 19 2018, 16:37
Цитата(jcxz @ Sep 18 2018, 23:23)
Завести на вход таймера в режиме Capture (захват по фронту и по спаду). А также на вход другого таймера, который будет запускать (и перезапускать) отсчёт интервала таймаута по каждому спаду этого сигнала. По истечении интервала (2-го таймера) считать первое и последнее события capture из 1-го таймера и найти между ними разницу. Интервал таймаута должен быть заведомо больше периода ШИМа заполнения.
Всё.
Спасибо.
Но как быть если импульсы не будут модулированы ?
Тогда по истечении интервала 2-го таймера проверять значение пина, если 0, то все, если 1,
то 2-ой таймер продолжает заного отсчитывать свой период.
И так по кругу, пока пин не примет значение 0.
Автор: jcxz Sep 19 2018, 19:26
Цитата(dimka76 @ Sep 19 2018, 19:37)
Но как быть если импульсы не будут модулированы ?
А Вы почитайте внимательнее что я написал. Там учитываются все Ваши нужды.
Автор: dimka76 Sep 21 2018, 14:52
Цитата(jcxz @ Sep 19 2018, 22:26)
А Вы почитайте внимательнее что я написал. Там учитываются все Ваши нужды.
Да, действительно не внимательно прочитал. Все так как надо !!!
Спасибо !!!