STM32F1xx: АЦП и ложные срабатывания TIM15 CC1
Добавлено: Вс дек 23, 2012 00:31:28
Доброе время суток!
Столкнулся с такой проблемой: Имеется отладочная плата STM32-DISCOVERY с установленным STM32F100RB. Задача состоит в постоянном чтении АЦП и одновременном измерении периода/фазы сигнала с помощью модуля захвата сравнения таймера. Реализовать их в отдельности не составило большого труда. Но проблемы начались после соеденения.
Значит так: На вход TIM15 CC1 подается прямоугольник с частотой 50Гц, имеется прерывание по захвату на фронте, в нем считываю значение, вычитаю предыдущее, получаю так период, принимаю нужное решение. Все работает до тех пор, пока на вход АЦП IN14 не подаю "выпрямленную" синусоиду. (На один период приходится два горба от нуля до 2,2 вольта. Опорное напряжение - 3 вольта. Выбросов и осцилляций сигнал не имеет). Измеренный модулем захвата период тут же уменьшается в два раза. Стоит отсоединить входной сигнал - все возвращается в норму. Сигналы своей формы и тем более частоты не меняют в зависимости от состояния подключений.
Если програмно выключить модуль АЦП, но подавать на вход сигнал - так же все работает нормально. Другой таймер, другие выводы я уже попробовал. Вывод захвата притянут к 3,3 вольта резистором на 1кОм, замыкается на землю через транзистор. На АЦП сигнал приходит с ОУ. Оба сигнала синфазны. Фронт приходится на возрастающее пересечение нуля синусоидой.
Уж не знаю что и поделать. Может кто сталкивался с таким?
Столкнулся с такой проблемой: Имеется отладочная плата STM32-DISCOVERY с установленным STM32F100RB. Задача состоит в постоянном чтении АЦП и одновременном измерении периода/фазы сигнала с помощью модуля захвата сравнения таймера. Реализовать их в отдельности не составило большого труда. Но проблемы начались после соеденения.
Значит так: На вход TIM15 CC1 подается прямоугольник с частотой 50Гц, имеется прерывание по захвату на фронте, в нем считываю значение, вычитаю предыдущее, получаю так период, принимаю нужное решение. Все работает до тех пор, пока на вход АЦП IN14 не подаю "выпрямленную" синусоиду. (На один период приходится два горба от нуля до 2,2 вольта. Опорное напряжение - 3 вольта. Выбросов и осцилляций сигнал не имеет). Измеренный модулем захвата период тут же уменьшается в два раза. Стоит отсоединить входной сигнал - все возвращается в норму. Сигналы своей формы и тем более частоты не меняют в зависимости от состояния подключений.
Если програмно выключить модуль АЦП, но подавать на вход сигнал - так же все работает нормально. Другой таймер, другие выводы я уже попробовал. Вывод захвата притянут к 3,3 вольта резистором на 1кОм, замыкается на землю через транзистор. На АЦП сигнал приходит с ОУ. Оба сигнала синфазны. Фронт приходится на возрастающее пересечение нуля синусоидой.
Уж не знаю что и поделать. Может кто сталкивался с таким?