Уважаемые! Подскажите как грамотно реализовать следующую задумку.
На вход микроконтроллера поступает ШИМ-сигнал частотой 20 кГц, скважностью 50%.
На выходе требуется его продублировать, задержав по времени, например, на секунду.
При том что параметры входного ШИМ-сигнала меняются постоянно.
Повторитель ШИМа со сдвигом во времени
- Реклама
- AlanDrakes
- Прорезались зубы
- Сообщения: 236
- Зарегистрирован: Пн июл 04, 2016 16:51:22
- Откуда: Россия, Омск
Re: Повторитель ШИМа со сдвигом во времени
Интересная у Вас таки задумка.
Я бы предложил решить её не микроконтроллером, а блоком счётчиков и блоком памяти. К сожалению, решение будет достаточно топорным и не очень гибким.
Пример. Берём две микросхемы памяти (подразумевается наличие статической памяти, которой не требуются циклы регенерации заряда), и последовательно перебираем адреса на микросхемах так, что последний бит адреса выполняет сразу две роли - выбирает микросхему памяти, в которую происходит запись, и микросхему, из которой происходит считывание данных (инверсия + управление входами R/W, OE).
Длительность задержки будет пропорциональна соотношению тактовой частоты (перебора адресов) к объёму микросхем.
Естественно, от объёма памяти так же будет зависеть и точность воспроизведения ШИМ сигнала.
Хотя, задача не совсем понятна.
На вход будет приходить сигнал постоянной частоты и нужно просто поймать момент начала и окончания пачки импульсов? Это как раз можно решить микроконтроллером и прерываниями (для поиска начала пачки импульсов и окончания оной).
Частота сигнала будет меняться? Это так же можно решить измерением характеристик входного сигнала. Сгенерировать его же на выходе - не столь сложно.
Я бы предложил решить её не микроконтроллером, а блоком счётчиков и блоком памяти. К сожалению, решение будет достаточно топорным и не очень гибким.
Пример. Берём две микросхемы памяти (подразумевается наличие статической памяти, которой не требуются циклы регенерации заряда), и последовательно перебираем адреса на микросхемах так, что последний бит адреса выполняет сразу две роли - выбирает микросхему памяти, в которую происходит запись, и микросхему, из которой происходит считывание данных (инверсия + управление входами R/W, OE).
Длительность задержки будет пропорциональна соотношению тактовой частоты (перебора адресов) к объёму микросхем.
Естественно, от объёма памяти так же будет зависеть и точность воспроизведения ШИМ сигнала.
Хотя, задача не совсем понятна.
На вход будет приходить сигнал постоянной частоты и нужно просто поймать момент начала и окончания пачки импульсов? Это как раз можно решить микроконтроллером и прерываниями (для поиска начала пачки импульсов и окончания оной).
Частота сигнала будет меняться? Это так же можно решить измерением характеристик входного сигнала. Сгенерировать его же на выходе - не столь сложно.
Re: Повторитель ШИМа со сдвигом во времени
Задача поставлена слишком не явно. Из условия видно противоречие: синал имеет постоянную частоту и скважность и, в то же время он меняется. Мне вообще не понятно, чем может отличаться меандр со сдвигом в 1 с. от меандра без сдвига. Значит исходным является не просто меандр, а какой-то прерывистый сигнал?
Звание - сила
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Повторитель ШИМа со сдвигом во времени
Если этот сигнал скважность не меняет, то это банально как банальность. Источник частоты подать на вход МК и на вход любого ключа (вентиль, транзистор, диод...). МК "чует" наличие частоты и открывает ключ через секунду, а при пропадании частоты, закрывает его, то же через секунду.jvalex писал(а):На вход микроконтроллера поступает ШИМ-сигнал частотой 20 кГц, скважностью 50%.
Добавлено after 14 minutes 24 seconds:
Постоянно считывать состояние порта и складывать его в циклический буфер. А через секунду выводить от туда в другой порт.jvalex писал(а):При том что параметры входного ШИМ-сигнала меняются постоянно.
Если тупо считывать состояние типа 1 и 0 и постоянно складывать в память, то памяти надо будет очень много , зато алгоритм очень простой и все на DMA.
Можно измерять ШИМ (благо счетчики STM позволяют измерять и скважность и период одновременно аппаратно) и сохранять эти параметры в тот же циклический буфер и, но только если сигнал изменился с привязкой ко времени.
Re: Повторитель ШИМа со сдвигом во времени
Смысл если с источника частота уже не идет?Z_h_e писал(а):а при пропадании частоты, закрывает его, то же через секунду.
- Реклама
- Z_h_e
- Собутыльник Кота
- Сообщения: 2708
- Зарегистрирован: Сб май 14, 2011 21:16:04
- Откуда: г. Чайковский
Re: Повторитель ШИМа со сдвигом во времени
Задержка жеж
Добавлено after 4 minutes 33 seconds:
Мда. Туплю
Добавлено after 4 minutes 33 seconds:
Мда. Туплю
- valentinovich
- Электрический кот
- Сообщения: 1004
- Зарегистрирован: Ср окт 04, 2017 20:47:40
Re: Повторитель ШИМа со сдвигом во времени
Я вообще не понимаю генерЁжа мыслей у товарищей.
Так как техзадание дилетанское и по тому же признаку неявно (т. е. не имеет чёткого алгоритма), то и нормального грамотного решения пока предложить нет возможности. Только побалагурить на досуге ежели. 



