Частотомер на STM32F10x

How it all began…

Как-то появилась у меня задача – померять частоту сигнала с некого датчика, который по сути являлся кварцевым резонатором с внешней схемой возбуждения.

Дано:
  • Cигнал прямоугольной формы
  • Меандр
  • Приведен к логическим уровням микроконтроллера
  • Выходная частота не более 6МГц
  • Погрешность измерений 1Гц


Последний пункт был прописан в ТЗ. Заказчик, как выяснилось позднее, ляпнул его туда с мыслью “лучше – не хуже, авось сделают и так”. Об этом я узнал позднее, а до того момента пришлось откинуть разные варианты реализации, погрешность которых выходила больше – например с делителями входного сигнала.
Сходу ничего готового не нашлось, хотя я был уверен по дороге домой, что на запрос “Частотомер STM32” Google поделится со мною массой готовых устройств – мне лишь останется только залить прошивку и отзвонить заказчику о работоспособном макете.
Не тут то было. Я не нашел практически ничего полезного, но благодаря этому чуть лучше разобрался в работе таймеров STM32, и теперь могу поделится этим с другими!


Читать дальше..