|
отключение прибора или помеха в электро сети?, необходимо различить обе ситуации |
|
|
|
Sep 16 2005, 15:11
|
Группа: Новичок
Сообщений: 2
Регистрация: 15-09-05
Пользователь №: 8 587

|
отключение прибора или сетевая помеха?? необходимо различить обе ситуации: 1 - выключение прибора 2 - помеха в электросети
В обоих случаях возникает сброс кристала Как отследить такие ситуации?
|
|
|
|
|
Sep 17 2005, 07:48
|

Знающий
   
Группа: Свой
Сообщений: 589
Регистрация: 14-08-05
Из: Украина
Пользователь №: 7 621

|
Цитата(sky_ @ Sep 16 2005, 17:11) отключение прибора или сетевая помеха?? необходимо различит обе ситуации: 1 - выключение прибора 2 - помеха в электросети В обоих случаях возникает сброс кристала Как отследить такие ситуации? Действительно больная тема! Скажем на конкретном шаге управления процессом, в результате сбоя произошел сброс контроллера, после того как девайс поднимется, он начнет работу заново, а нужно продолжить с определенного шага. Можно попробовать подать питание Vcc на АЦП и при выходе за определенные границы, сохранять параметры во флеш, и после вкл. продолжать работу с текущего шага, при этом нужно чтобы было резервное питание, а что делать если его нет? Цитата(rezident @ Sep 16 2005, 17:38) А что происходит с питанием во втором случае? Если немалая по длительности просечка в питании, то по-моему это то же самое что и 1 случай. Если зависание, то видимо неправильно спроектирована печатная плата, т.к. "подвесить" MSP430 довольно сложно (но можно  ). В любом случае лучше использовать тот кристал в котором имеется BOR. А чем вам поможет BOR собственно, ну сбросится проц, все параметры из RAM улетят, а что дальше? Цитата(Alex11 @ Sep 17 2005, 07:36) Поскольку ситуация отличается только временем, на которое пропало питание, то надо сделать таймер, который отследит это время. Варианты - real time clock с батарейкой, в память которого каждую секунду пишется время, когда прибор еще работал. После включения читаешь и смотришь разницу текущего и запомненного. Другой (радиолюбительский) вариант - пристраиваешь конденсатор, который достаточно медленно заряжается и разряжается от питания. Если была короткая проскчка, то читаешь с него единицу, если питания не было долго - получаешь 0. Во первых, писать каждую секунду во флеш (если я правильно понял), довольно таки накладно, т.е каждую секунду нужно будет делать ERASE и WRITE, и на сколько хватит ресурса флеши? Во вторых, чем может помочь разница во времени, ну буду я знать, что прибор простоял 1 мин, ведь есть процессы не лимитированные по времени. Цитата(Владимир @ Sep 17 2005, 07:40) Помехи всети Гостированное понятие, там все прописано ина сколько % проваливается и сколько периодув отсутствует, и какие частоты присутствуют. Так что встанет вопрос, а какая помеха сбрасывает?. Поэтому лечить надо Хорошо если бы это было действительно так. Такой случай, звонит нам заказчик и говорит, ваше 1-но фазное устройство зашиты не правильно работает, должно откл. При повышении напряжения до 240V, а оно срабатывает при 260V. Присылает нам прибор, мы проверяем 240V (плюс минус пару вольт)??!! 2 sky. Если придумаешь что-то интересное, пиши.
--------------------
"Мы будем играть, пока не треснут наши гитары, и все те, кто любит рок - я отдаю вам честь!" AC/DC
|
|
|
|
|
Sep 17 2005, 17:10
|

Знающий
   
Группа: Свой
Сообщений: 589
Регистрация: 14-08-05
Из: Украина
Пользователь №: 7 621

|
Такая ситуация, прибор управляет технологическим процессом, с n-м кол-вом параметров. Параметры периодически изменяются, т.е писать их все время во флеш как я уже говорил, будет накладно. К инженеру, который собственно и следит за электроникой, пришел знакомый, и они за рюмкой чаю сидят и разговаривают о бытие. В это время уборщице помешал сетевой провод (питание прибора), она не долго думая выдернула его, убрала, и вкл. его снова. Так вот, параметры которые находились в то время в ОЗУ, находятся теперь в другом месте, не буду говорить каком, но достать их оттуда будет довольно таки проблематично… Тогда вопрос, как успеть сохранить байты используя BOR?!
--------------------
"Мы будем играть, пока не треснут наши гитары, и все те, кто любит рок - я отдаю вам честь!" AC/DC
|
|
|
|
|
Sep 18 2005, 14:28
|
иногда заглядывающий
   
Группа: Свой
Сообщений: 900
Регистрация: 18-05-05
Из: Зеленоград
Пользователь №: 5 170

|
Сначала насчет уборщиц, которые выдергивают провода на производства Имхо таких нада убивать, сразу или просто выгонять. У нас была одна, которая умудрилась уронить со стола, к которому ей подходить было не нужно, целую кучу подложек, в результате, человек, который занимася ими, вынужден был три дня приводить все в порядок. Мы отказались от ее "услуг". А теперь по теме. в приборах где важны настройки, и их сохранность, после выключения питания нужна схема контроля питания. Для этого можно использовать ацп процессора(у нас в 147м не ацп не нужен был, его использоли в схеме контроля питания), встроенный или внешний компаратор. кроме того ставится внешняя батарейка(литиевая). Т.е получается две схемы питания одна от сетевого источника, одна от батарейки, развязанные через диоды шоттки, и далее конденсаторы по питанию процессора. При отлючении питания, процессор быстро понимает что оно отключилось, и переходит в режим пониженного потребения, работая от часового кварца. Супервизор питания в данном случае не нужен. Есть другой вариант, напряжение со стабилизатора подавать на ноги питания процессора через диоик опять же, процессор дожен следить за напряжением непосредственно на выходе стабилизатора, а посе диода, т.е параллеьно ногам питания процессора поставить ионистор или тантал большой емкости. Как только пропадает питания от стабилизатора, процессор это понимает, далее пишет во флеш дамп RAM, и как только разрядится ионистор/тантал, отрубается супервизором. Тут глвное чтобы время разряда ионистора/тантала ниже минимального напряжения программирования флеши, было больше чем время, которое потребуется процессору для сохранения параметров. Хотя тут уже писалось что использовать флеш для хранения часто изменяемых параметров неудобно, т.к кол-во циклов записи/перезаписи ограниченно, можно и на это пойти, если флешки много пустой. Естественно, писать нужно не в одну ячейу а в разные, выбираемые определеннм образом, так чтоб не затирать постянно одну и ту же ячейу.
|
|
|
|
|
Sep 19 2005, 08:29
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата Ну почему обязательно BOR? Он для такой задачи непригоден. Вообще-то в исходном сообщении был вопрос Цитата В обоих случаях возникает сброс кристала Как отследить такие ситуации? и о сохранении данных речи не шло. Если нужно сохранять данные при выключении, то должны выполняться два условия: 1. супервизор, который отслеживает снижения питания и генерирует сигнал прерывания по которому данные сохраняются 2. питание должно снижаться достаточно медленно, чтобы у контроллера было время сохранить данные, либо было резервное питания для этого
|
|
|
|
|
Nov 11 2005, 15:28
|
Группа: Новичок
Сообщений: 2
Регистрация: 15-09-05
Пользователь №: 8 587

|
Вроде бы нашел выход из такой вот ситуации. Не совсем правильное решение, но оно работает - создание глобальных переменных без их явной инициализации. К примеру
__no_init long lGlobal;
void main( void ) { while(1) if (lGlob != <некое число Х>) { // было выключение итания lGlob = <некое число Х> } else // сетевая помеха, выключения питания не было }
Как видно вся заковыринка в ОЗУ проца. При таком раскладе при возникновении кратковременного сигнала сброса проц отрабатывает ситуацию "сетевая помеха". Может кто знает другое решение пишите. Заранее спасибо
|
|
|
|
|
Nov 12 2005, 06:56
|
Знающий
   
Группа: Свой
Сообщений: 709
Регистрация: 3-05-05
Пользователь №: 4 693

|
Цитата При повышении напряжения до 240V, а оно срабатывает при 260V. Присылает нам прибор, мы проверяем 240V (плюс минус пару вольт)??!! Дык, таво... А как вы/они меряют напругу? Это СКЗ? Пиковое? Как меряется СКЗ? Uампл/1,41? Вам бы с заказчиком побеседовать имана на эту тему. Бо от разных способов разница может быть офигомрачительная. Кг сетевого напряжения/тока тоже даст своё(в ряде случаев). Так что измерение и сброс, это разные вещи. Что касаемо собственно ситатуццыи. Есть RTC с нутряной ОЗУ - типа DS1307. Вот в него и надо писать текущее состояние там, если повар не брешет - около 60 байтиков (типа, сменилось, мы его пишем, но пишем в две структуры, засчичёные ЦРЦ, если ударит в момент записи, хотя бы одна будет живая: либо текущая, либо предыдусчая).
|
|
|
|
|
Nov 12 2005, 08:31
|

pontificator
     
Группа: Свой
Сообщений: 3 055
Регистрация: 8-02-05
Из: страны Оз
Пользователь №: 2 483

|
Цитата(rezident @ Sep 19 2005, 17:59)  Цитата Ну почему обязательно BOR? Он для такой задачи непригоден. Если нужно сохранять данные при выключении, то должны выполняться два условия: 1. супервизор, который отслеживает снижения питания и генерирует сигнал прерывания по которому данные сохраняются 2. питание должно снижаться достаточно медленно, чтобы у контроллера было время сохранить данные, либо было резервное питания для этого Неверно. Супервизор (или BOR) на шине питания (+3.3В) проца не является адекватной заменой монитору входного питания прибора. Супервизор дает сброс процу, и ничего другого от него требовать нельзя, т.к. будет политически неграмотно. Монитор входного питания дает "раннее предупреждение" в виде прерывания, которое возникает гораздо ранее, чем сброс от супервизора. Супервизор же должен давать не прерывание, а железный сброс. <_<
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|