Генератор микросекундных импульсов
- Войдите на сайт для отправки комментариев
Здравствуйте жители форума.
Мне нужно сделать генератор импульсов длительностью 1-10 микросекунд и частотой от 1-400 килогерц с контролем тока импульса.
Насколько я понимаю для 328меги эта задача непосильна по этому буду пробовать делать на STM32F103C8T6 с ардуино.
Как я вижу алгоритм решения этой задачи-
Использую два таймера с прерываниями по сравнению без пред делителя…
Старт (оба таймера начали считать и на ножке порта лог-1)
/
отсчитываем 30 импульсов
/
Прер. Т1 по первому сравнению (Считываем показания АЦП и записываем в переменную)
/
отсчитываем 42 импульса (30+42=72 = 1мкс. при 72мГц тактовой час.)
/
Прер. Т1 по второму сравнению (пишем в порт лог-0, отключаем тактирование Т1, обнуляем Т1 )
/
отсчитываем 108 импульсов (в суме 180 тактов для 400 кГц при 72мГц тактовой час.)
/
Прер. Т2 (Обнуляем Т2, пишем в порт лог-1, включаем тактирование Т1 )
/
отсчитываем 30 импульсов
/
И дальше по кругу….
И собственно вопрос к знатокам, успеет ли контроллер опросить АЦП и записать значение в порт за 42 такта? И может есть более правильный вариант реализации этой задачи?
Пока писал понял что это можно сделать на одном таймере и трех сравнениях но вопрос с АЦП остается открытым…