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

 
 
> Перезапуск msp430f2131 - поиск решения, Медленное нарастание питание по питанию msp430 и нормальная работа
askfind
сообщение Apr 13 2009, 09:55
Сообщение #1





Группа: Новичок
Сообщений: 7
Регистрация: 12-01-09
Пользователь №: 43 242



Выявили неприятную особенность работы микроконтроллера msp430f2131. Микронтроллер используется с элементом питания CR2032. После месячной эксплуатации заказчик вернул изделие, т.к. микропроцессор "не шевелился". Как выяснилось из-за плохих контактов элемента питания процессор не смог перезапуститься и не реагировал даже на "железный" reset от внешнего охранного таймера WDT.

После проверки большой партии (на вход питания микроконтроллера подавали медленно нарастающее питание микроконтроллеру от 1.0 В до 3 В) 50% изделий не реагировали на reset. Для нормального старта процессора помогало лишь отключение от питания и резкое нарастание питание на входе DVcc.

В списке ошибок о производителя TI сказано, что для нормальной работы необходимо обеспечить скорость нарастания питания на Dvcc более 10 В/сек.

Была проверена другая партия микроконтроллеров msp430f2272. У этого семейства таже проблема и при медленном нарастании питания уже ничего не помогает привести контроллер в чувства!

Как можно обеспечить стабильный старт Msp430?
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 23)
rezident
сообщение Apr 13 2009, 15:54
Сообщение #2


Гуру
******

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



Цитата(askfind @ Apr 13 2009, 15:55) *
Как можно обеспечить стабильный старт Msp430?
Используйте м/с супервизора питания. Их у TI предостаточно.
Go to the top of the page
 
+Quote Post
Mike
сообщение May 3 2009, 17:47
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 277
Регистрация: 22-02-05
Из: Riga
Пользователь №: 2 825



Эта проблема в 430 встречается во всех сериях, приходилось сталкиватся с ней в MSP430F149, установка внешних микросхем "ресета" не помогает, единственное что удалось придумать, было полное "физическое" отключение питания с помощю установленного Пканального полевика, полевик отключал питание всей схемы по внешнему сигналу, затем питание включалось снова. После отключения питания должно пройти некоторое время ( у нас это было около 30 секунд) иначе перезапуск не происходил.
Go to the top of the page
 
+Quote Post
HARMHARM
сообщение May 3 2009, 19:29
Сообщение #4


читатель даташитов
****

Группа: Свой
Сообщений: 853
Регистрация: 5-11-06
Из: Днепропетровск
Пользователь №: 21 999



Да, при работе с F149 встречал такое. На секунду отключали блок питания. Наверное, ёмкость по питанию была много меньше, 30 секунд не потребовалось...
Go to the top of the page
 
+Quote Post
rezident
сообщение May 3 2009, 20:07
Сообщение #5


Гуру
******

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



Проблема при малом времени нарастания напряжения питания встречается в тех кристаллах, где отсутствует BOR. В MSP430F149 его нет. Я как-то специально проводил опыт с плавным нарастанием напряжения у MSP430F1132IPW (у которого BOR имеется) там такого (зависания) не наблюдал. Эксперимент был следующий. Литиевая батарейка CR2032 и впараллель ей переменный резистор 4,7кОм. Питание MSP430F1132IPW брал с движка резистора. Впараллель питанию MSP430 был подключен тантал 4,7мкФ. На входе RESET был просто резистор 62кОм на Vcc. При любом медленном вращении движка резистора MSP430 стартовал нормально. Естественно, что при этом эксперименте я каждый раз разряжал кондер по питанию до нуля. Встроенный BOR вполне нормально защищает кристалл при малой скорости нарастания напряжения. А вот чтобы программа стартовала нормально, на RESET нужно супервизор ставить. Но ни то, ни другое, ни встроенный WDT до кучи никак не защищают от защелкивания при воздействии, например, статического электричества. При защелкивании нужно полностью снимать питание.
Go to the top of the page
 
+Quote Post
wangan
сообщение May 5 2009, 04:11
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 265
Регистрация: 30-11-05
Из: Омск
Пользователь №: 11 590



Цитата(rezident @ May 4 2009, 03:07) *
Но ни то, ни другое, ни встроенный WDT до кучи никак не защищают от защелкивания при воздействии, например, статического электричества. При защелкивании нужно полностью снимать питание.

Подождите, зачем в кучу все то. Причем тут триггерное защелкивание. А никто в паралель процу нагрузку не ставил?
Go to the top of the page
 
+Quote Post
den123
сообщение May 5 2009, 04:18
Сообщение #7





Группа: Новичок
Сообщений: 10
Регистрация: 28-10-08
Пользователь №: 41 240



Я в одном устройстве на F149 боролся с данной проблеммой в том числе и добавлением нагрузки по питанию - закончилось заменой F149 на F169 у котрого есть BOR
Go to the top of the page
 
+Quote Post
MrYuran
сообщение May 5 2009, 05:01
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



У нас проблема со 149 решилась (вроде бы) установкой супервизоров с правильным порогом (2,9В при 3,3В питании)
По крайней мере при включении питания заводятся нормально.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
rezident
сообщение May 5 2009, 19:41
Сообщение #9


Гуру
******

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



Цитата(wangan @ May 5 2009, 10:11) *
Подождите, зачем в кучу все то. Причем тут триггерное защелкивание. А никто в паралель процу нагрузку не ставил?
В одном проекте делал нечто типа супервизора на LDO, от которого питался MSP430F1121A. LDO был типа TPS76333 у которого есть вход ENABLE с триггером Шмитта в районе 1,4В. На вход подключал резисторный делитель, с помощью которого при снижении входного напряжения до уровня 3,5В-3,6В выключал LDO. На выходе LDO ставил резистор порядка 4,7кОм для более быстрого разряда выходного конденсатора (4,7мкФ). На вход RESET MSP430 была подключена цепочка 47кОм||PMLL4148L к VCC и 0,01мкФ на общий. Больше сотни устройств было сделано, но к сожалению заказчик пропал и обратной связи от него не было. Хотя и рекламаций или нареканий тоже не было smile.gif
Цитата(MrYuran @ May 5 2009, 11:01) *
У нас проблема со 149 решилась (вроде бы) установкой супервизоров с правильным порогом (2,9В при 3,3В питании)
У нас почти везде при 3,3В питании применяется супервизор TPS3809K33 с порогом в районе 2,93В.
Go to the top of the page
 
+Quote Post
askfind
сообщение Jun 3 2009, 09:47
Сообщение #10





Группа: Новичок
Сообщений: 7
Регистрация: 12-01-09
Пользователь №: 43 242



"Особенность работы микроконтроллера msp430f2131"

Решили обратиться к представителям TI. Они предложили упростить рабочий проект и отправить им исходный код.

Вот здесь и обнаружилось!

Сразу после аппаратного сброса в программе настраивался тактовый внутренний калиброванный генератор на 8 МГц. Именно этот режим при старте нарушает работу MCU. "Железно" зависают и msp430f2131 и msp430f2372.

По-умолчанию, msp430 включает частоту внутреннего генератора на 1МГц. На этой частоте проблем с запуском при медленном нарастании питания не обнаружилось.

Сейчас переделываем рабочие проекты с целью переключаться на другие частоты уже после нормального старта msp430.

Жду предложений и рекомендаций от российского представительства TI.
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 3 2009, 12:23
Сообщение #11


Гуру
******

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



Цитата(askfind @ Jun 3 2009, 15:47) *
Сразу после аппаратного сброса в программе настраивался тактовый внутренний калиброванный генератор на 8 МГц. Именно этот режим при старте нарушает работу MCU. "Железно" зависают и msp430f2131 и msp430f2372.
А можно привести фрагмент программы инициализации системы тактирования при котором МК гарантированно виснет?
Go to the top of the page
 
+Quote Post
askfind
сообщение Jun 3 2009, 12:33
Сообщение #12





Группа: Новичок
Сообщений: 7
Регистрация: 12-01-09
Пользователь №: 43 242



Цитата(rezident @ Jun 3 2009, 16:23) *
А можно привести фрагмент программы инициализации системы тактирования при котором МК гарантированно виснет?


Код
void main(void)
{
  //--------------------------------
  // Инициализация охранного таймера
  //--------------------------------
  WDTCTL = WDTPW + WDTHOLD + WDTNMI + WDTNMIES;               // Stop watchdog timer
  
  IFG1 &= ~NMIIFG;                          // Reclear NMI flag in case bounce  
  IE1 |= NMIIE;                             // Enable NMI

  //-----------------------------------
  // Инициализация тактового генератора
  //-----------------------------------
  
  // Load 8MHz constants
  //DCOCTL  = CALDCO_1MHZ;      
  //BCSCTL1 = CALBC1_1MHZ;
  
  // ####### ERROR #######
  DCOCTL  = CALDCO_8MHZ;      
  BCSCTL1 = CALBC1_8MHZ;
  //######################
  
  // Разрешить внешние прерывания
  P1IE  |= P10_DIN;
  P2IE  |= P20_DIN;  
  
  //----------------------
  // Инициализация таймера
  //----------------------
  CCTL0 = CCIE;                             // CCR0 interrupt enabled
  CCR0 = 50000;
  TACTL = TASSEL_2 + MC_2;                  // SMCLK, contmode

  _BIS_SR(LPM0_bits + GIE);               // Enter LPM0 w/ interrupt
  //__low_power_mode_4();                     // Низкое
}

// Timer A0 interrupt service routine
#pragma vector=TIMERA0_VECTOR
__interrupt void Timer_A (void)
{
  P2OUT ^= 0x08;                            // Toggle P1.0
  CCR0 += 50000;                            // Add Offset to CCR0
}
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 3 2009, 13:04
Сообщение #13


Гуру
******

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



Я сильно извиняюсь, вы в первой строке main устанавливаете функцию пина RST как NMI, в третьей строке main разрешаете прерывание NMI, но при всем при этом у вас отсутствует обработчик прерывания NMI. Не тут ли собака порылась?
Кроме того, при использовании пина RST как входа NMI, нормальный сброс уже работать не будет. А BOR вовсе не гарантирует сброса, если напряжение питания гарантированно не снизилось ниже указанного в даташите. Для гарантированного сброса нужно модуль SVS использовать или внешний супервизор питания. Но про этом (внешний супервизор) пин RST должен выполнять свою основную функцию.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 3 2009, 13:53
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(askfind @ Jun 3 2009, 12:47) *
Вот здесь и обнаружилось!

Сразу после аппаратного сброса в программе настраивался тактовый внутренний калиброванный генератор на 8 МГц. Именно этот режим при старте нарушает работу MCU.

А при каком напряжении питания "сразу" заканчивается аппаратный сброс?


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
askfind
сообщение Jun 4 2009, 05:37
Сообщение #15





Группа: Новичок
Сообщений: 7
Регистрация: 12-01-09
Пользователь №: 43 242



Цитата(rezident @ Jun 3 2009, 17:04) *
при использовании пина RST как входа NMI, нормальный сброс уже работать не будет. А BOR вовсе не гарантирует сброса, если напряжение питания гарантированно не снизилось ниже указанного в даташите. Для гарантированного сброса нужно модуль SVS использовать или внешний супервизор питания. Но про этом (внешний супервизор) пин RST должен выполнять свою основную функцию.


Использование перепрограммирования RST - чётко по даташиту. а) Переключиться лишь после прохождения полного старта и перехода к выполнению программы во flash. б) Прерываний нет и никуда программа не попадает даже если из-за случайного входного импульса. в) Внутренний монитор напряжения автоматически и аппаратно перепрограммирует с NMI на RST (опять же по даташиту).

И, главный аргумент: при 1 МГц проблем нет для теста!

Цитата(Dog Pawlowa @ Jun 3 2009, 17:53) *
А при каком напряжении питания "сразу" заканчивается аппаратный сброс?


BOR для данного семейства msp430 фиксированный и пороги срабатывания заданы "железные". Всё обязано проходить штатно.
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 4 2009, 06:47
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(askfind @ Jun 4 2009, 08:37) *
BOR для данного семейства msp430 фиксированный и пороги срабатывания заданы "железные". Всё обязано проходить штатно.

Что ж ...
На 133-149 в нескольких проектах я ускоряю генератор сразу после включения:
BCSCTL1=0x07; // START XT2, DCO faster,
но проблем никогда не было.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 4 2009, 13:00
Сообщение #17


Гуру
******

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



Цитата(askfind @ Jun 4 2009, 11:37) *
Использование перепрограммирования RST - чётко по даташиту. а) Переключиться лишь после прохождения полного старта и перехода к выполнению программы во flash.
Вектора прерываний и вектор RESET в т.ч. и так во Flash находятся.
Цитата(askfind @ Jun 4 2009, 11:37) *
б) Прерываний нет и никуда программа не попадает даже если из-за случайного входного импульса.
Ну-ну smile.gif У вас еще и прерывания от пинов PORT1 и PORT2 разрешаются. А обработчиков прерываний опять же нету. rolleyes.gif Вы бы хоть "заглушки" на эти вектора поставили. Тогда было бы сразу понятно, есть "случайное" прерывание или нет.
Цитата(askfind @ Jun 4 2009, 11:37) *
в) Внутренний монитор напряжения автоматически и аппаратно перепрограммирует с NMI на RST (опять же по даташиту).

Цитата(askfind @ Jun 4 2009, 11:37) *
BOR для данного семейства msp430 фиксированный и пороги срабатывания заданы "железные". Всё обязано проходить штатно.

В MSP430F2131 отсутствует модуль SVS, BOR срабатывает (1.71V max) ниже минимально-допустимого рабочего напряжения (1.8V min), а внешний супервизор у вас как я понял отсутствует. Так что ваша уверенность в гарантированном сбросе не очень-то и обоснована.
Цитата(askfind @ Jun 4 2009, 11:37) *
И, главный аргумент: при 1 МГц проблем нет для теста!

Поставьте "заглушки" на разрешенные в программе вектора прерываний и брейкпоинтами их обвешайте. А потом сообщите (только честно!) нам сюда, срабатывает ловушка или нет?
Go to the top of the page
 
+Quote Post
askfind
сообщение Jun 5 2009, 10:52
Сообщение #18





Группа: Новичок
Сообщений: 7
Регистрация: 12-01-09
Пользователь №: 43 242



Цитата(rezident @ Jun 4 2009, 17:00) *
Поставьте "заглушки" на разрешенные в программе вектора прерываний и брейкпоинтами их обвешайте. А потом сообщите (только честно!) нам сюда, срабатывает ловушка или нет?


Есть такой MSP430F21x1 Device Erratasheet Current Version, где собственно описаны ошибки конкретной модели и как "обойти" их на практике.

Цитата
Detailed Bug Description (continued)
BCL13 BCL13 - Bug description
When subject to very slow VCC rise times, the device may enter into a state where the DCO does
not oscillate. No JTAG access or program execution is possible, and the device remains in a reset
state until the supply voltage is disconnected.
Workaround:
Apply a VCC power-on ramp ≥10 V/second under all power-on/power-cycle scenarios.



При условии очень медленный роста питания VCC раз, устройство может вступить в состояние, в котором DCO не работает.

Обход:
Применить VCC, у которого скорость нарастания ≥ 10 В / с в соответствии со всеми сценариями power-on/power-cycle.

Это проблема производителя TI и вероятность сбоя по причине медленного нарастания питания при DCO=8 МГц равна 100%. для рассмотренного семейства. Более того, части образцов из партии не помогает "железны ресет". Только после резкого включения и выключения питания микроконтроллер нормально сбрасывается.
Go to the top of the page
 
+Quote Post
askfind
сообщение Jun 9 2009, 05:53
Сообщение #19





Группа: Новичок
Сообщений: 7
Регистрация: 12-01-09
Пользователь №: 43 242



"Почему одни микроконтроллеры надежнее других" - ссылка по выбору микроконтроллера с надёжной работой:
http://cxem.net/mc/mc32.php

Цитаты из статьи:

"...
В результате испытаний наши преобразователи были доработаны следующим образом:
1) Вместо кварцевого резонатора установлен кварцевый генератор.
2) Установлен внешний сторожевой таймер, так как в MSP430F148 он работает от того же кварца и так же оказывается неэффективным.
После чего сбои больше не происходили.
Позже наша продукция успешно прошла испытания (для изделий, подлежащих обязательному декларированию соответствия) на ЭМС по:

* ГОСТ Р 51317.4.2.
* ГОСТ Р 51317.4.3.
* ГОСТ Р 51317.4.4.
* ГОСТ Р 51317.4.11.

Для себя я определил минимальные требования для используемого микроконтроллера:
1) Испытания генератором помех.
2) Если используется внутренний сторожевой таймер, то он должен работать сразу после включения микроконтроллера и тактироваться собственным генератором.
3) Документация должна быть «дружественная», с примерами конфигурирования периферии.
4) Наличие доступных отладочных средств (в пределах $200).
5) Если требуется USB, Ethernet, TCP, то должна быть соответствующая готовая библиотека, а лучше RTOS с поддержкой оных».
..."
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jun 9 2009, 06:05
Сообщение #20


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
"Почему одни микроконтроллеры надежнее других" - ссылка по выбору микроконтроллера с надёжной работой:
http://cxem.net/mc/mc32.php


Ужос. Мне таблица 1 нравится smile.gif Оценочные платы, все дела, и тут - пара камней на макетке
Цитата
ADUC7026BSTZ62
макетная плата, с кварцем

ATMEGA32-16PU
навесной монтаж на ножках микросхемы, с кварцем

biggrin.gif

Методика испытаний - отдельная песня smile.gif

Так и говорите - статья заказана поставщиками NEC'ов smile.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jun 9 2009, 14:28
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(askfind @ Jun 5 2009, 13:52) *
... Только после резкого включения и выключения питания микроконтроллер нормально сбрасывается.

Когда мы столкнулись с необходимостью резкого включения COP8, просто поставили какой-то 74HCXX и выход завели на питание контроллера...


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
askfind
сообщение Jun 15 2009, 05:16
Сообщение #22





Группа: Новичок
Сообщений: 7
Регистрация: 12-01-09
Пользователь №: 43 242



Цитата(Rst7 @ Jun 9 2009, 10:05) *
Методика испытаний - отдельная песня smile.gif
Так и говорите - статья заказана поставщиками NEC'ов smile.gif


Вот и мои коллеги, говорили: "Заказная статья!". А далее, споткнувшись на "всех пеньках и граблях", в момент фактически закрытия проекта, удалось "задним числом" обойти часть проблем.

Отдел качества моего знакомого именно с помощью искры выявляли "зависания" изделий. Уже позднее они смогли в 100% медленным нарастанием питания останавливать микроконтроллере.

Нужно не предвзято читать этот материал и делать выводу. А ещё лучше свои разработки прогнать по тестам...
Go to the top of the page
 
+Quote Post
Rst7
сообщение Jun 15 2009, 05:26
Сообщение #23


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Нужно не предвзято читать этот материал и делать выводу.


О какой предвзятости может идти речь? Почитали - посмеялись. Петросян нервно курит в сторонке biggrin.gif

Цитата
А ещё лучше свои разработки прогнать по тестам...


А мои разработки проверяются на ЭМС согласно стандартных методик. Все проходит. Причем, камни не NEC. Что я делаю неправильно?

Цитата
Уже позднее они смогли в 100% медленным нарастанием питания останавливать микроконтроллере.


Слабаки. Надо направленными биополями останавливать biggrin.gif


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
rezident
сообщение Jun 15 2009, 11:34
Сообщение #24


Гуру
******

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



Сообщение модератора. Уважаемые! Вы отклонились от темы топика. Если желаете обсудить общие методы проектирования надежных устройств, то заведите отдельный топик в соответствующем разделе форума.
Go to the top of the page
 
+Quote Post

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

 


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


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