реклама на сайте
подробности

 
 
> Неправильно работает таймер в зависимости от напряжения на АЦП
veteq
сообщение Mar 27 2013, 15:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 28
Регистрация: 5-12-06
Пользователь №: 23 160



Имеется процессор MSP430F2132. К нему подключено через усилитель сигнал на вход АЦП. Настроен таймер на равные промежутки времени на прерывание, после прерывания включается АЦП и цифруется сигнал. При сигнале больше 2 вольт и холоде -30/-50 С начинает скакать таймер в разные стороны, просыпаться то раньше, то пойзже. И чем сильнее мороз и больше напряжения на АЦП, тем более сильно это выражается. Не подскажите в чем может быть дело? Ниже настройки АЦП и таймера:

unsigned int DTC_Data[DTC_MAX1];

TACCTL0 = CCIE;
TACCR0 = 187;
TACTL = TASSEL_1|MC_1;


ADC10CTL1 = INCH_3|CONSEQ_2;
ADC10AE0 = (1<<3);
ADC10DTC1 = DTC_MAX1;
ADC10SA = (unsigned short)&DTC_Data[0];
ADC10DTC0 = 0;
ADC10CTL0 = SREF_1|ADC10SHT_2|MSC|ADC10ON|REF2_5V|REFON|ENC|ADC10SC;

while(!(ADC10CTL0&ADC10IFG));
ADC10CTL0 = 0;
ADC10CTL0 &= ~(ADC10IE|ENC|REFON|ADC10ON);
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 1)
rezident
сообщение Mar 27 2013, 19:40
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882



Вы не весь код привели. Но даже по этому куску понятно, что проблема не в таймере. Вы неправильно используете АЦП и его схему переноса данных (DTC). Разберитесь более досконально с работой АЦП. Для начала попробуйте использовать более простую логику измерений и временно отказаться от использования его схемы DTC.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 11:04
Рейтинг@Mail.ru


Страница сгенерированна за 0.01335 секунд с 7
ELECTRONIX ©2004-2016