Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Использование ADC12MEMх не по назначению
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > MSP430
d7d1cd
Привет всем. У меня в программе работает АЦП с использованием регистров для хранения результатов преобразования с ADC12MEM0 по ADC12MEM12. Настройка регистра ADC12MCTL12 происходит с установкой флага EOS. Вопрос: могу ли я использовать регистры ADC12MEM13 - ADC12MEM15 для хранения там своих переменных и быть уверенным в том, что хранимые там значения не будут стерты модулем АЦП?
lsc
имхо можно, но я бы лично не стал. А в чем цель ? Попробовать разве проблема ?
d7d1cd
Цитата(lsc @ Apr 11 2014, 21:15) *
имхо можно, но я бы лично не стал. А в чем цель ? Попробовать разве проблема ?

У меня АЦП определяет ток в цепи. Для определения среднеквадратичного значения тока, необходимо сделать множество выборок и по формуле вычислить это значение. Выборки необходимо где-то сохранять. Вот я и хотел для этих целей использовать незанятые регистры ADC12MEM13 - ADC12MEM15. Чтобы обработчик прерывания АЦП в ОЗУ уже записывал среднеквадратичное значение тока и не использовал ОЗУ для временного хранения выборок.
Проверить то не проблема, но должна быть уверенность, что если значения этих регистров не меняются АЦП при проверке, то они не будут изменены им никогда (при текущих настройках АЦП).
lsc
Цитата(d7d1cd @ Apr 12 2014, 14:38) *
У меня АЦП определяет ток в цепи. Для определения среднеквадратичного значения тока, необходимо сделать множество выборок и по формуле вычислить это значение. Выборки необходимо где-то сохранять. Вот я и хотел для этих целей использовать незанятые регистры ADC12MEM13 - ADC12MEM15. Чтобы обработчик прерывания АЦП в ОЗУ уже записывал среднеквадратичное значение тока и не использовал ОЗУ для временного хранения выборок.

ТОЖЕ ИМХО
1. не большая экономия на памяти, риск больше.
2. для вычисления ср.кв. зн. тока нужно иметь всего 1 доп. регистр. в котором накапливать
квадратичные зн. тока на протяжении некоторого кол. сэмплов - iSQRSum, а потом вычислять как:
IRMS = sqrt(iSQRSum /SampleCounter); Т.е. будет усреднение за опред. кол. сэмплов.
Квадратичные зн. тока можно также накапливать используя аппаратный умножитель (есть к примеру в 5 и 6
сериях)
d7d1cd
Провел эксперимент. Вроде содержимое не используемых регистров ADC12MEM13 - ADC12MEM15 не меняется. Однако хотелось бы какой-то уверенности, документально подтвержденной.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.