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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Сбой при включении
Lexdaw
сообщение Sep 29 2011, 08:04
Сообщение #1


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

Группа: Участник
Сообщений: 87
Регистрация: 5-02-08
Пользователь №: 34 772



Прибор (mega8515) опрашивает по USART, производит вычисления,выдает управляющий сигнал.
При подаче питания иногда(1 из 3..5 раз) не вычисляет один из параметров(=0).Есть кнопка перехода в стартовый режим.
По ней всё работает - всегда.При переходе в стартовый режим производиться обнуление ОЗУ,полная иницилизация всех таймеров,Usart и тп(всё как и при включении).Даже завел этот переход на старт МК.Добиться устойчивого этого сбоя тоже не получается.
По Reset тоже всё работает.
Где туплю?
какая травка поможет словить этот глюк? sm.gif
Go to the top of the page
 
+Quote Post
AlexFTF
сообщение Sep 29 2011, 08:23
Сообщение #2


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

Группа: Свой
Сообщений: 95
Регистрация: 11-11-10
Из: Новосибирск
Пользователь №: 60 808



Цитата(Lexdaw @ Sep 29 2011, 15:04) *
При подаче питания иногда(1 из 3..5 раз) не вычисляет один из параметров(=0).......
По Reset тоже всё работает.


Не совсем понятно, так как при подаче питания происходит аппаратный сброс мк.. Проблема как мне видится в коде...
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 29 2011, 08:26
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Насколько я понял: неверное вычисление параметра получается из-за неверных принятых данных по USART. Следовательно - какая-то "беда" при первом опросе: получаете неверные данные. Кнопка перехода в стартовый режим - это "не честный" сброс: USART уже проинициализирован...
Вероятно, какая-то помеха проходит по линиям USART от момента включения устройства (подачи питания) до инициализации USART.
Go to the top of the page
 
+Quote Post
Lexdaw
сообщение Sep 29 2011, 08:35
Сообщение #4


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

Группа: Участник
Сообщений: 87
Регистрация: 5-02-08
Пользователь №: 34 772



Видимо не точно объяснил.До вычисления, по USART принимается куча данных и не один раз и правильно.
А вход в стартовый режим специально делал чтобы сбить - не выходит.
Сам в шоке.
Go to the top of the page
 
+Quote Post
Xenia
сообщение Sep 29 2011, 08:43
Сообщение #5


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(Lexdaw @ Sep 29 2011, 12:35) *
Видимо не точно объяснил.До вычисления, по USART принимается куча данных и не один раз и правильно.
А вход в стартовый режим специально делал чтобы сбить - не выходит.
Сам в шоке.

Если у вас по ресету работает нормально, а сбоит только при подаче питания, то причина сбоя может быть в том, что напряжение питания нарастает слишком медленно, и МК пытается делать вычисления на напряжении питания, которое еще не достигло номинала. Поставьте нужный BODLEVEL в фузах, чтобы МК не просыпался при недостаточном напряжении. Или поставьте аппаратный супервизор.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 29 2011, 08:50
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(Xenia @ Sep 29 2011, 12:43) *
Поставьте нужный BODLEVEL в фузах, чтобы МК не просыпался при недостаточном напряжении.
BODEN запрограммировать не забудьте.
Go to the top of the page
 
+Quote Post
AlexFTF
сообщение Sep 29 2011, 09:05
Сообщение #7


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

Группа: Свой
Сообщений: 95
Регистрация: 11-11-10
Из: Новосибирск
Пользователь №: 60 808



Цитата(Xenia @ Sep 29 2011, 15:43) *
причина сбоя может быть в том, что напряжение питания нарастает слишком медленно и МК пытается делать вычисления на напряжении питания, которое еще не достигло номинала.


Вряд ли, ведь в мк есть POR и если напряжение питания не достигнет определенного уровня, мк даже не запуститься.

Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 29 2011, 09:05
Сообщение #8


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



QUOTE (Xenia @ Sep 29 2011, 12:43) *
..... и МК пытается делать вычисления на напряжении питания, которое еще не достигло номинала.

Что-то не так. МК не начнёт вычисления, пока напряжение питания не достигнет минимально допустимого предела , при котором он работоспособен.
Значит он вычисления сделает правильно и reset по питанию в любом случае отработает , пока он не достигнет порогового значения за которым МК работает надёжно . Можно просто удлинить SUT.


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 29 2011, 09:31
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



Цитата(NSTU @ Sep 29 2011, 13:05) *
в мк есть POR и если напряжение питания не достигнет определенного уровня, мк даже не запуститься.
Не факт, что после достижения Vpot и запуска МК напряжение питания не просядет вследствии запуска МК и увеличения потребления. Кроме того, типичное значение Vpot=1.4V, когда производитель гарантирует работоспособность МК при напряжении питания 2.7V.
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 29 2011, 09:43
Сообщение #10


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



QUOTE (Палыч @ Sep 29 2011, 13:31) *
Не факт, что после достижения Vpot и запуска МК напряжение питания не просядет вследствии запуска МК и увеличения потребления. Кроме того, типичное значение Vpot=1.4V, когда производитель гарантирует работоспособность МК при напряжении питания 2.7V.

Но и мин. напряжения BOD 1.8V и ставить его на этот уровень смысла не имеет , если MK, при таком питании, не запускает генератор - стоит. Порог выше , не означает , что
QUOTE
напряжение питания не просядет вследствии запуска МК
и будет опять reset. Всё таки проще "затянуть" timeout reset


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Lexdaw
сообщение Sep 29 2011, 10:04
Сообщение #11


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

Группа: Участник
Сообщений: 87
Регистрация: 5-02-08
Пользователь №: 34 772



Ещё раз все вычисления происходят через 3- 5 мин. инфа по USART читается.
Только что сделал эксперимент Вкл питние - Reset пинцетом - сбой
Не выключая питания - Reset - все нормально.
Питание нормальное.
Цепочка расчета до последнего действия верна(тем паче всё работает потом )
менял действия местами - эффект тот же.
Бьюсь неделю.Уже начинаю глупо ххихикать.
Go to the top of the page
 
+Quote Post
AlexFTF
сообщение Sep 29 2011, 10:16
Сообщение #12


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

Группа: Свой
Сообщений: 95
Регистрация: 11-11-10
Из: Новосибирск
Пользователь №: 60 808



Цитата(Lexdaw @ Sep 29 2011, 17:04) *
Ещё раз все вычисления происходят через 3- 5 мин. инфа по USART читается.
Только что сделал эксперимент Вкл питние - Reset пинцетом - сбой
Не выключая питания - Reset - все нормально.
Питание нормальное.
Цепочка расчета до последнего действия верна(тем паче всё работает потом )
менял действия местами - эффект тот же.
Бьюсь неделю.Уже начинаю глупо ххихикать.


Зачем резет пинцетом? Кнопки нет? Схему можно глянуть?

Lexdaw, если я правильно понял сбой возникает иногда и только после включения питания?
Go to the top of the page
 
+Quote Post
ILYAUL
сообщение Sep 29 2011, 10:17
Сообщение #13


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

Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339



QUOTE (Lexdaw @ Sep 29 2011, 14:04) *
Только что сделал эксперимент Вкл питние - Reset пинцетом - сбой

Это значит , что при вкл. питания reset удерживали пинцетом? Поясните


--------------------
Закон Мерфи:

Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
Go to the top of the page
 
+Quote Post
Палыч
сообщение Sep 29 2011, 10:30
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954



1. Убедиться, что при неверных расчетах данные, принятые по USART - верны.
2. Внимательно просмотреть глобальные и статические переменные на предмет их начальной инициализации.
Go to the top of the page
 
+Quote Post
Lexdaw
сообщение Sep 29 2011, 10:54
Сообщение #15


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

Группа: Участник
Сообщений: 87
Регистрация: 5-02-08
Пользователь №: 34 772



Понимаю, что звучит как бред. Но я, честное слово, пишу не из психушки.
Итак.
1. Подаю питание на прибор, запускаю в работу(по кнопке).Дойдя до нужного места нет расчета параметра.
Делаю Reset (или по кнопке переход в начальное состояние),запускаю в работу - параметр расчитан.
2. Подаю питание на прибор, запускаю в работу(по кнопке).НЕ Доходя до нужного места
делаю Reset (или по кнопке переход в начальное состояние),запускаю в работу - нет расчета параметра.

Но при переходе на старт ,я очищаю ОЗУ,и РОН.По новой инициализирую счетчики и USART.
Использую прерывания по переполнению сч Т0, компаратор А сч Т1, и прерывания для USART.
Где я упускаю.
Go to the top of the page
 
+Quote Post

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

 


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


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