|
msp430f5438 перезапускается, непонятны причины |
|
|
|
Oct 18 2010, 09:15
|

Участник

Группа: Участник
Сообщений: 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)  тумблер дает помеху. Либо тактирование срывается, а у вас нету соответствующего обработчика прерывания. Либо по питанию проблемы: кратковременная просадка, помеха... Т.е. тактирование может срываться во время прихода помехи? Повторюсь, что зависание/перезагрузка происходят только в моменты включения/выключения нагрузки. Все остальное время МК работает стабильно. Как корректно обработать прерывание при срыве тактирования?
|
|
|
|
|
Oct 18 2010, 09:42
|

Участник

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

|
Цитата(KARLSON @ Oct 18 2010, 13:32)  По Питанию микросхемы повесьте электролит/тантал 220 мкф и паралельно ему керамику микрофарад 10. А как у Вас цепь RESET сделана? По питанию конденсаторы есть уже на плате MSP-TS430PZ5x100. У reset 47кОм на Uпит и 0,1мкФ на Общ.
|
|
|
|
|
Oct 18 2010, 10:34
|

Участник

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

|
Цитата(Pavel V. @ Oct 18 2010, 14:16)  как реализовано подключение датчиков (напряжение, ток)? Что это за датчики? Измерение тока: LEM - схема на ОУ - АЦП Измерение напряжения: Трансформатор - схема на ОУ - АЦП Цитата(Pavel V. @ Oct 18 2010, 14:16)  Попробуйте добавить в программу обработчик сбоя крарцевого генератора и посмотреть - происходит ли сбой. Как корректно обработать данное прерывание?
|
|
|
|
|
Oct 18 2010, 17:49
|

Участник

Группа: Участник
Сообщений: 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
|
|
|
|
|
Oct 19 2010, 10:58
|
Знающий
   
Группа: Участник
Сообщений: 745
Регистрация: 28-12-06
Пользователь №: 23 960

|
Цитата(GlueBF @ Oct 18 2010, 13:15)  Кусок кода с настройкой модуля тактирования: ... Питание: 220В -> импульсный БП 25В -> DC/DC 3В. Нагрузкой управляю руками, т.е. вручную включаю тумблер на обогревателе.
Т.е. тактирование может срываться во время прихода помехи? Повторюсь, что зависание/перезагрузка происходят только в моменты включения/выключения нагрузки. Все остальное время МК работает стабильно. Как корректно обработать прерывание при срыве тактирования? Как я понял у вас кварц внешний. С внешним кварцем msp даже при микроскопических при помехах жить не будет! Там боролись за микропотребление и понизили амплитуду генерации до такой степени что генератор ловит каждый чих. Переходите на DCO (если он есть в вашем камне). При работе от внутреннего генератора никаких проблем с помехами не будет.
|
|
|
|
|
Oct 20 2010, 05:22
|

Участник

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

|
Да, кварц внешний. Цитата(_3m @ Oct 19 2010, 14:58)  Переходите на DCO (если он есть в вашем камне). При работе от внутреннего генератора никаких проблем с помехами не будет. Спасибо за совет, сейчас начал копать в эту сторону.
|
|
|
|
|
Oct 20 2010, 07:04
|
Частый гость
 
Группа: Свой
Сообщений: 77
Регистрация: 2-04-08
Из: Россия, Киров
Пользователь №: 36 422

|
Цитата(GlueBF @ Oct 20 2010, 09:22)  Да, кварц внешний. Попробуйте резонатор заменить на генератор.
|
|
|
|
|
Oct 21 2010, 08:58
|

Участник

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

|
Цитата(KARLSON @ Oct 20 2010, 19:06)  Конденсаторы по питанию не помогли? Нет, к сожалению. Цитата(KARLSON @ Oct 20 2010, 19:06)  Если есть осциллограф посмотрите цепи питания и ресет при включении нагрузки. Развёртку поставьте в ждущем режиме. Попробую. Как зарегистрирую - приведу здесь осциллограммы.
|
|
|
|
|
Oct 22 2010, 13:56
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(GlueBF @ Oct 22 2010, 12:13)  Объясните, пожалуйста поведение MSP430 при "появлении неисправности осциллятора". OFIE - по умолчанию отключен. Произошла неисправность осциллятора, что дальше? Почему и по какому пути произойдет перезапуск МК? Какой-такой перезапуск?  Вы вообще раздел 4.2.12 UCS Module Fail-Safe Operation в User's Manual читали? Никакого перезапуска не будет. Произойдет автоматическое переключение MCLK на тактирование от DCO и ... МК продолжит выполнение программы, тактируясь от DCO. Задача программиста "отловить" эту ситуацию, используя предоставленные ему аппаратные возможности, и после восстановления работоспособности генератора (пропадания ошибки) переключить тактирование обратно, на генератор, который вызвал сбой тактирования (если оно нужно, конечно). Чтобы этого избежать, я обычно советую использовать именно внутренний DCO для тактирования MCLK. А периферию, требующую более стабильного источника тактирования, можно подключить к внешним генераторам, настроив ACLK и SMCLK на тактирование от них (от генераторов XT1 или XT2). Цитата(GlueBF @ Oct 22 2010, 12:13)  Даже если обработать прерывание, например так: ... К чему это приведет? Ни к чему полезному это не приведет. Вначале желательно переключить тактирование на исправные генераторы или на DCO. Дождаться пропадания ошибки генератора, опрашивая в цикле соответствующие флаги. После устранения ошибки вновь настроить источники MCLK, SMCLK и ACLK на тактирование от внешних генераторов, которые сбойнули.
|
|
|
|
|
Oct 23 2010, 08:35
|
Участник

Группа: Участник
Сообщений: 19
Регистрация: 14-03-08
Пользователь №: 35 915

|
Цитата(GlueBF @ Oct 22 2010, 10:13)  OFIE - по умолчанию отключен. Произошла неисправность осциллятора, что дальше? Почему и по какому пути произойдет перезапуск МК? Перезапуска не будет. Флаги сбоя тактирования не инициируют перезапуск, а просто информируют о событии. Что делать? Это Ваша проблема  можете перезапускать, можете пытаться возобновить тактирование.
|
|
|
|
|
Oct 25 2010, 07:31
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(GlueBF @ Oct 25 2010, 10:02)  Ну я все про свой случай... Послушайте. У Вас аппаратная проблема, связанная с влиянием помех на плату и микроконтроллер. Микроконтроллер сбоит, поскольку из-за помех неправильно декодирует команду или срабатывает BOD. В результате он или вылетает на начало, или попадает в вечный цикл. Программными средствами можно снизить влияние помех, но для этого нужно иметь достаточно опыта и разбираться в происходящих процессах. Чем раньше Вы займетесь помехоустойчивостью, тем быстрее получите результат. Не откладывайте же. Вот здесь самая лучшая статья на эту тему. http://eewiki.ru/wiki/%D0%9F%D0%BE%D0%BC%D...%82%D0%B2%D0%B0
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Oct 25 2010, 07:39
|

Участник

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

|
Цитата(Dog Pawlowa @ Oct 25 2010, 11:31)  У Вас аппаратная проблема, связанная с влиянием помех на плату и микроконтроллер. Это я уже понял. Цитата(Dog Pawlowa @ Oct 25 2010, 11:31)  Вот здесь самая лучшая статья на эту тему. Спасибо за ссылку.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|