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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Перезапуск 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
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

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

 


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


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