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

 
 
 
Reply to this topicStart new topic
> внешний сброс LPC1788, Ведёт себя странно
haker_fox
сообщение Jun 7 2013, 10:41
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Добрый день, коллеги!
Есть прибор, и прога к нему) Если прибор включается кнопкой питания, то всё работает исправно.
Если микроконтроллер перезапустить внешней кнопкой сброс, то программа стартует в 5 - 8 случаях из десяти.
Вроде зависание происходит после инициализации EMC. Висит в функции проверки памяти.
Вопрос, что может быть?

Правильность написанного ПО вроде обсуждать не надо, т.к. написано выше, всё работает по включению питания.

Из структурной схемы на LPC1788 видно, что сброс по пину RESET идёт точно также, как и по включению питания (POR, power on reset).

До сегодняшнего дня думал, что аппаратный сброс по ноге - это "железно". Выходит, что нет.

З.Ы. В проге нет анализа причины сброса.

Спасибо!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Jun 7 2013, 10:48
Сообщение #2


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(haker_fox @ Jun 7 2013, 05:41) *
Добрый день, коллеги!
Есть прибор, и прога к нему) Если прибор включается кнопкой питания, то всё работает исправно.
Если микроконтроллер перезапустить внешней кнопкой сброс, то программа стартует в 5 - 8 случаях из десяти.
Вроде зависание происходит после инициализации EMC. Висит в функции проверки памяти.
Вопрос, что может быть?

Правильность написанного ПО вроде обсуждать не надо, т.к. написано выше, всё работает по включению питания.

Из структурной схемы на LPC1788 видно, что сброс по пину RESET идёт точно также, как и по включению питания (POR, power on reset).

До сегодняшнего дня думал, что аппаратный сброс по ноге - это "железно". Выходит, что нет.

З.Ы. В проге нет анализа причины сброса.

Спасибо!

Было что-то похожее на 2478. изредка прибор не стартовал. Вина была возложена на LDO который не справлялся с включением процесора при достижении напряжением питания 3В. Регулятор был на 3.3 и при включении процессора начинал творить что-то странное.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 7 2013, 10:58
Сообщение #3


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (ar__systems @ Jun 7 2013, 19:48) *
Было что-то похожее на 2478. изредка прибор не стартовал. Вина была возложена на LDO который не справлялся с включением процесора при достижении напряжением питания 3В. Регулятор был на 3.3 и при включении процессора начинал творить что-то странное.

Гм, а причём тут LDO? wink.gif прибор как раз стартует при включении питания. Но не стартует при аппаратном внешнем сбросе...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Jun 7 2013, 11:02
Сообщение #4


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(haker_fox @ Jun 7 2013, 05:58) *
Гм, а причём тут LDO? wink.gif прибор как раз стартует при включении питания. Но не стартует при аппаратном внешнем сбросе...

Кстати, когда он не стартовал, ресет ему после этого уже не помогал, так же как и WDT
Go to the top of the page
 
+Quote Post
SII
сообщение Jun 7 2013, 11:14
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



А как цепь сброса реализована? Помнится, была какая-то проблема, из-за чего там надо было навешивать дополнительные резистор и конденсатор. Подробности в Эррате описаны.
Go to the top of the page
 
+Quote Post
Corvus
сообщение Jun 7 2013, 11:32
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 771
Регистрация: 24-04-08
Из: Зеленоград
Пользователь №: 37 056



http://www.nxp.com/documents/application_note/AN10931.pdf
пункт 3 - не ваш случай?
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 7 2013, 11:40
Сообщение #7


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (Corvus @ Jun 7 2013, 20:32) *
http://www.nxp.com/documents/application_note/AN10931.pdf
пункт 3 - не ваш случай?

Очень интересно!!! a14.gif пока не знаю, смогу только в понедельник проверить. Но вот как подать высокий уровень на шину когда плата уже сделана? Блин...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 9 2013, 02:46
Сообщение #8


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Прошу прщения, я ответы и вопросы ar__systems и SII заметил только сейчас, в прошлый раз был сильно уставший... Отвечаю по порядку rolleyes.gif

QUOTE (ar__systems @ Jun 7 2013, 20:02) *
Кстати, когда он не стартовал, ресет ему после этого уже не помогал, так же как и WDT

Нет, у нас стартует по питанию отлично, а вот ресет срабатывает через раз. Между прочим, под отладчиком (J-Link) эта особенность не проявляется!


QUOTE (SII @ Jun 7 2013, 20:14) *
А как цепь сброса реализована? Помнится, была какая-то проблема, из-за чего там надо было навешивать дополнительные резистор и конденсатор. Подробности в Эррате описаны.

RC-цепь -> два инвертирующих триггера Шмитта -> пин RESET. Очень простое и элегантное решение rolleyes.gif


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
esaulenka
сообщение Jun 10 2013, 11:37
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 032
Регистрация: 13-03-08
Из: Маськва
Пользователь №: 35 877



Моя любимая ошибка - сделать плату, которая самопроизвольно попадает в boot ;-)

Что на соответствующей ножке висит?
Uart0 наружу есть? Что-нибудь отвечает на символ '?' ?


--------------------
Тут обсуждается творческий порыв, а не соответствие каким-либо стандартам ©
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Jun 10 2013, 12:41
Сообщение #10


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (esaulenka @ Jun 10 2013, 20:37) *
Моя любимая ошибка - сделать плату, которая самопроизвольно попадает в boot ;-)

Что на соответствующей ножке висит?
Uart0 наружу есть? Что-нибудь отвечает на символ '?' ?

Запуск нашей проги в любом случае всегда происходил. я это отследил писком зуммера.

Но проблема была "уникальная". В драйвере EMC был установлен бит, блокирующий сброс этого модуля по тёплому ресету. Было так
CODE
SCS |= 0x02;

Таким образом, весь котроллер за исключением EMC сбрасывался, но инициализация этого модуля происходила повторно, хотя он в этот момент работал в нормально режиме (см. юзер мануал). Стоило мне закомментировать эту строку, как сброс по пину RESET стал отрабатываться корректно. Естественно, можно было отслеживать источник сброса, и если это был бы тёплый ресет, то не инициализировать контроллер "по живому" rolleyes.gif


--------------------
Выбор.
Go to the top of the page
 
+Quote Post

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

 


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


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