Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Повторитель ШИМа со сдвигом во времени

Вс май 12, 2019 12:21:46

Уважаемые! Подскажите как грамотно реализовать следующую задумку.
На вход микроконтроллера поступает ШИМ-сигнал частотой 20 кГц, скважностью 50%.
На выходе требуется его продублировать, задержав по времени, например, на секунду.
При том что параметры входного ШИМ-сигнала меняются постоянно.

Re: Повторитель ШИМа со сдвигом во времени

Пн май 13, 2019 18:36:44

Интересная у Вас таки задумка.
Я бы предложил решить её не микроконтроллером, а блоком счётчиков и блоком памяти. К сожалению, решение будет достаточно топорным и не очень гибким.
Пример. Берём две микросхемы памяти (подразумевается наличие статической памяти, которой не требуются циклы регенерации заряда), и последовательно перебираем адреса на микросхемах так, что последний бит адреса выполняет сразу две роли - выбирает микросхему памяти, в которую происходит запись, и микросхему, из которой происходит считывание данных (инверсия + управление входами R/W, OE).
Длительность задержки будет пропорциональна соотношению тактовой частоты (перебора адресов) к объёму микросхем.
Естественно, от объёма памяти так же будет зависеть и точность воспроизведения ШИМ сигнала.

Хотя, задача не совсем понятна.
На вход будет приходить сигнал постоянной частоты и нужно просто поймать момент начала и окончания пачки импульсов? Это как раз можно решить микроконтроллером и прерываниями (для поиска начала пачки импульсов и окончания оной).
Частота сигнала будет меняться? Это так же можно решить измерением характеристик входного сигнала. Сгенерировать его же на выходе - не столь сложно.

Re: Повторитель ШИМа со сдвигом во времени

Вт май 14, 2019 06:55:09

Задача поставлена слишком не явно. Из условия видно противоречие: синал имеет постоянную частоту и скважность и, в то же время он меняется. Мне вообще не понятно, чем может отличаться меандр со сдвигом в 1 с. от меандра без сдвига. Значит исходным является не просто меандр, а какой-то прерывистый сигнал?

Re: Повторитель ШИМа со сдвигом во времени

Пт май 17, 2019 10:30:15

jvalex писал(а):На вход микроконтроллера поступает ШИМ-сигнал частотой 20 кГц, скважностью 50%.
Если этот сигнал скважность не меняет, то это банально как банальность. Источник частоты подать на вход МК и на вход любого ключа (вентиль, транзистор, диод...). МК "чует" наличие частоты и открывает ключ через секунду, а при пропадании частоты, закрывает его, то же через секунду.

Добавлено after 14 minutes 24 seconds:
jvalex писал(а):При том что параметры входного ШИМ-сигнала меняются постоянно.
Постоянно считывать состояние порта и складывать его в циклический буфер. А через секунду выводить от туда в другой порт.
Если тупо считывать состояние типа 1 и 0 и постоянно складывать в память, то памяти надо будет очень много , зато алгоритм очень простой и все на DMA.

Можно измерять ШИМ (благо счетчики STM позволяют измерять и скважность и период одновременно аппаратно) и сохранять эти параметры в тот же циклический буфер и, но только если сигнал изменился с привязкой ко времени.

Re: Повторитель ШИМа со сдвигом во времени

Пт май 17, 2019 12:16:56

Z_h_e писал(а):а при пропадании частоты, закрывает его, то же через секунду.
Смысл если с источника частота уже не идет?

Re: Повторитель ШИМа со сдвигом во времени

Пт май 17, 2019 12:22:48

Задержка жеж

Добавлено after 4 minutes 33 seconds:
Мда. Туплю :)

Re: Повторитель ШИМа со сдвигом во времени

Пт май 17, 2019 18:49:16

Все обмусолили, а куда делся автор?

Re: Повторитель ШИМа со сдвигом во времени

Пт май 17, 2019 22:07:18

Я вообще не понимаю генерЁжа мыслей у товарищей. :dont_know: Так как техзадание дилетанское и по тому же признаку неявно (т. е. не имеет чёткого алгоритма), то и нормального грамотного решения пока предложить нет возможности. Только побалагурить на досуге ежели. :tea:
Ответить