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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> msp430f5438 перезапускается, непонятны причины
GlueBF
сообщение Oct 18 2010, 06:16
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 21-09-08
Пользователь №: 40 363



Добрый день, участники форума. Столкнусля с такой проблемой при разработке устройства. Устройство служит для измерения тока и напряжения нагрузки. Нагрузка - обогреватель 1 кВт, питается от сети 220В.
При включении нагрузки (щелчок тумблера обогревателя) может произойти перезагрузка МК (с вероятностью 5-10 случаев из 100), а также просто "зависание" МК (с вероятностью 1-2 случая из 100).
Никак не могу понять в чем причина. Вообще аппаратная ли это проблема или программная.
МК стоит в плате MSP-TS430PZ5x100.
Если нужны еще какие-то подробности - опишу.

Сообщение отредактировал GlueBF - Oct 18 2010, 06:20
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Oct 18 2010, 08:37
Сообщение #2


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



тумблер дает помеху. Либо тактирование срывается, а у вас нету соответствующего обработчика прерывания. Либо по питанию проблемы: кратковременная просадка, помеха...
Go to the top of the page
 
+Quote Post
Pavel V.
сообщение Oct 18 2010, 08:53
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Как настроено тактирование? Как организовано питание платы и управление нагрузкой?


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
GlueBF
сообщение Oct 18 2010, 09:15
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 21-09-08
Пользователь №: 40 363



Кусок кода с настройкой модуля тактирования:
CODE
// ***** Настройка модуля тактирования *****************************************
P5SEL|=BIT2+ // Задействовать P5.2 для XT2IN
BIT3; // Задействовать P5.3 для XT2OUT
UCSCTL6&=~XT2OFF; // Включить XT2
UCSCTL3|=SELREF_2; // Источник FLLref - REFO
UCSCTL4|=SELA_2; // Источник ACLK - REFO
do{ // Дождаться стабилизации XT2 и DCO
UCSCTL7&=~(XT2OFFG+ // Сбросить флаг неисправности XT2
XT1LFOFFG+ // Сбросить флаг неисправности XT1 (НЧ)
XT1HFOFFG+ // Сбросить флаг неисправности XT1 (ВЧ)
DCOFFG); // Сбросить флаг неисправности DCO
SFRIFG1&=~OFIFG; // Сбросить флаг неисправности осцилл.
} //
while (SFRIFG1&OFIFG); // Проверить флаг неисправности осцилл.
UCSCTL6&=~XT2DRIVE_2; // Частота XT2 16-24 МГц
UCSCTL4|=SELS_5+ // Источник SMCLK - XT2
SELM_5; // Источник MCLK - XT2
UCSCTL5|=DIVS_4; // SMCLK=XT2/16


Питание: 220В -> импульсный БП 25В -> DC/DC 3В.
Нагрузкой управляю руками, т.е. вручную включаю тумблер на обогревателе.

Цитата(jorikdima @ Oct 18 2010, 12:37) *
тумблер дает помеху. Либо тактирование срывается, а у вас нету соответствующего обработчика прерывания. Либо по питанию проблемы: кратковременная просадка, помеха...


Т.е. тактирование может срываться во время прихода помехи? Повторюсь, что зависание/перезагрузка происходят только в моменты включения/выключения нагрузки. Все остальное время МК работает стабильно.
Как корректно обработать прерывание при срыве тактирования?
Go to the top of the page
 
+Quote Post
KARLSON
сообщение Oct 18 2010, 09:32
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



По Питанию микросхемы повесьте электролит/тантал 220 мкф и паралельно ему керамику микрофарад 10. А как у Вас цепь RESET сделана?


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
GlueBF
сообщение Oct 18 2010, 09:42
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 21-09-08
Пользователь №: 40 363



Цитата(KARLSON @ Oct 18 2010, 13:32) *
По Питанию микросхемы повесьте электролит/тантал 220 мкф и паралельно ему керамику микрофарад 10. А как у Вас цепь RESET сделана?

По питанию конденсаторы есть уже на плате MSP-TS430PZ5x100.
У reset 47кОм на Uпит и 0,1мкФ на Общ.
Go to the top of the page
 
+Quote Post
Pavel V.
сообщение Oct 18 2010, 10:16
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 211
Регистрация: 3-06-06
Пользователь №: 17 742



Скорее всего помеха пролезает по входным цепям - как реализовано подключение датчиков (напряжение, ток)? Что это за датчики?
Попробуйте добавить в программу обработчик сбоя крарцевого генератора и посмотреть - происходит ли сбой.


--------------------
Good News Everyone!
Go to the top of the page
 
+Quote Post
GlueBF
сообщение Oct 18 2010, 10:34
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 21-09-08
Пользователь №: 40 363



Цитата(Pavel V. @ Oct 18 2010, 14:16) *
как реализовано подключение датчиков (напряжение, ток)? Что это за датчики?

Измерение тока: LEM - схема на ОУ - АЦП
Измерение напряжения: Трансформатор - схема на ОУ - АЦП

Цитата(Pavel V. @ Oct 18 2010, 14:16) *
Попробуйте добавить в программу обработчик сбоя крарцевого генератора и посмотреть - происходит ли сбой.

Как корректно обработать данное прерывание?
Go to the top of the page
 
+Quote Post
jorikdima
сообщение Oct 18 2010, 12:11
Сообщение #9


тут может быть ваша реклама
*****

Группа: Свой
Сообщений: 1 164
Регистрация: 15-03-06
Из: Санкт-Петербург/CA
Пользователь №: 15 280



Цитата(GlueBF @ Oct 18 2010, 14:34) *
Как корректно обработать данное прерывание?

как обрабатывать это 2 вопрос. для начала надо понять так это или нет. Просто обрабатывайте прерывания NMI_VECTOR и USR_VECTOR Могу ошибаться с написанием, но в доке на соответствующие модули гляньте секцию interrupts. Определите попадаете в эти обработчики или нет.
Можно осциллографом прислониться кстати к цепи питания, ресета, тактирования.
Go to the top of the page
 
+Quote Post
KARLSON
сообщение Oct 18 2010, 13:54
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 604
Регистрация: 5-05-06
Из: Нижегородская обл.
Пользователь №: 16 819



То что по питанию стоят ёмкости это я знаю. Я предложил увеличить их номинал не менее моего.


--------------------
Кризис - это не отсутствие денег, а отсутствие идей! Учитесь и никаких кризисов не будет.
Go to the top of the page
 
+Quote Post
rezident
сообщение Oct 18 2010, 17:13
Сообщение #11


Гуру
******

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



Цитата(GlueBF @ Oct 18 2010, 12:16) *
Вообще аппаратная ли это проблема или программная.
С вероятностью более 90% - аппаратная. Неправильно подключены входные и выходные цепи с точки зрения протекания и распределения токов в питании и в общем проводе. Вообще эта плата (MSP-TS430PZ5x100) предназначена для изучения кристалла и отладки, а не для использования в конечном устройстве, тем более с сетевой нагрузкой, создающей значительные помехи. Плюс наверняка в схеме подключения не предусмотрено никакой защиты от микросекундных помех.
Go to the top of the page
 
+Quote Post
GlueBF
сообщение Oct 18 2010, 17:49
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 21-09-08
Пользователь №: 40 363



Цитата(jorikdima @ Oct 18 2010, 16:11) *
Просто обрабатывайте прерывания NMI_VECTOR и USR_VECTOR ... Определите попадаете в эти обработчики или нет.


+

Цитата(KARLSON @ Oct 18 2010, 17:54) *
Я предложил увеличить их номинал не менее моего.


Спасибо, попробую.

Цитата(rezident @ Oct 18 2010, 21:13) *
Вообще эта плата (MSP-TS430PZ5x100) предназначена для изучения кристалла и отладки, а не для использования в конечном устройстве, тем более с сетевой нагрузкой, создающей значительные помехи.

В конечном устройстве и не предполагается использовать MSP-TS430PZ5x100, идет отработка, так сказать, макета.

Сообщение отредактировал GlueBF - Oct 18 2010, 17:50
Go to the top of the page
 
+Quote Post
_3m
сообщение Oct 19 2010, 10:58
Сообщение #13


Знающий
****

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



Цитата(GlueBF @ Oct 18 2010, 13:15) *
Кусок кода с настройкой модуля тактирования:
...
Питание: 220В -> импульсный БП 25В -> DC/DC 3В.
Нагрузкой управляю руками, т.е. вручную включаю тумблер на обогревателе.

Т.е. тактирование может срываться во время прихода помехи? Повторюсь, что зависание/перезагрузка происходят только в моменты включения/выключения нагрузки. Все остальное время МК работает стабильно.
Как корректно обработать прерывание при срыве тактирования?

Как я понял у вас кварц внешний. С внешним кварцем msp даже при микроскопических при помехах жить не будет!
Там боролись за микропотребление и понизили амплитуду генерации до такой степени что генератор ловит каждый чих.
Переходите на DCO (если он есть в вашем камне). При работе от внутреннего генератора никаких проблем с помехами не будет.

Go to the top of the page
 
+Quote Post
GlueBF
сообщение Oct 20 2010, 05:22
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 22
Регистрация: 21-09-08
Пользователь №: 40 363



Да, кварц внешний.
Цитата(_3m @ Oct 19 2010, 14:58) *
Переходите на DCO (если он есть в вашем камне). При работе от внутреннего генератора никаких проблем с помехами не будет.

Спасибо за совет, сейчас начал копать в эту сторону.
Go to the top of the page
 
+Quote Post
ih_
сообщение Oct 20 2010, 07:04
Сообщение #15


Частый гость
**

Группа: Свой
Сообщений: 77
Регистрация: 2-04-08
Из: Россия, Киров
Пользователь №: 36 422



Цитата(GlueBF @ Oct 20 2010, 09:22) *
Да, кварц внешний.
Попробуйте резонатор заменить на генератор.
Go to the top of the page
 
+Quote Post

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

 


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


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