Перейти к содержанию
    

отключение прибора или помеха в электро сети?

отключение прибора или сетевая помеха??

необходимо различить обе ситуации:

1 - выключение прибора

2 - помеха в электросети

 

В обоих случаях возникает сброс кристала

Как отследить такие ситуации?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что происходит с питанием во втором случае? Если немалая по длительности просечка в питании, то по-моему это то же самое что и 1 случай. Если зависание, то видимо неправильно спроектирована печатная плата, т.к. "подвесить" MSP430 довольно сложно (но можно :)). В любом случае лучше использовать тот кристал в котором имеется BOR.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поскольку ситуация отличается только временем, на которое пропало питание, то надо сделать таймер, который отследит это время. Варианты - real time clock с батарейкой, в память которого каждую секунду пишется время, когда прибор еще работал. После включения читаешь и смотришь разницу текущего и запомненного. Другой (радиолюбительский) вариант - пристраиваешь конденсатор, который достаточно медленно заряжается и разряжается от питания. Если была короткая проскчка, то читаешь с него единицу, если питания не было долго - получаешь 0.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помехи всети Гостированное понятие, там все прописано ина сколько % проваливается и сколько периодув отсутствует, и какие частоты присутствуют.

Так что встанет вопрос, а какая помеха сбрасывает?. Поэтому лечить надо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

отключение прибора или сетевая помеха??

необходимо различит обе ситуации:

1 - выключение прибора

2 - помеха в электросети

 

В обоих случаях возникает сброс кристала

Как отследить такие ситуации?

 

Действительно больная тема! Скажем на конкретном шаге управления процессом, в результате сбоя произошел сброс контроллера, после того как девайс поднимется, он начнет работу заново, а нужно продолжить с определенного шага.

Можно попробовать подать питание Vcc на АЦП и при выходе за определенные границы, сохранять параметры во флеш, и после вкл. продолжать работу с текущего шага, при этом нужно чтобы было резервное питание, а что делать если его нет?

 

А что происходит с питанием во втором случае? Если немалая по длительности просечка в питании, то по-моему это то же самое что и 1 случай. Если зависание, то видимо неправильно спроектирована печатная плата, т.к. "подвесить" MSP430 довольно сложно (но можно :)). В любом случае лучше использовать тот кристал в котором имеется BOR.

 

А чем вам поможет BOR собственно, ну сбросится проц, все параметры из RAM улетят, а что дальше?

 

Поскольку ситуация отличается только временем, на которое пропало питание, то надо сделать таймер, который отследит это время. Варианты - real time clock с батарейкой, в память которого каждую секунду пишется время, когда прибор еще работал. После включения читаешь и смотришь разницу текущего и запомненного. Другой (радиолюбительский) вариант - пристраиваешь конденсатор, который достаточно медленно заряжается и разряжается от питания. Если была короткая проскчка, то читаешь с него единицу, если питания не было долго - получаешь 0.

 

Во первых, писать каждую секунду во флеш (если я правильно понял), довольно таки накладно, т.е каждую секунду нужно будет делать ERASE и WRITE, и на сколько хватит ресурса флеши? Во вторых, чем может помочь разница во времени, ну буду я знать, что прибор простоял 1 мин, ведь есть процессы не лимитированные по времени.

 

Помехи всети Гостированное понятие, там все прописано ина сколько % проваливается и сколько периодув отсутствует, и какие частоты присутствуют.

Так что встанет вопрос, а какая помеха сбрасывает?. Поэтому лечить надо

 

Хорошо если бы это было действительно так. Такой случай, звонит нам заказчик и говорит, ваше 1-но фазное устройство зашиты не правильно работает, должно откл. При повышении напряжения до 240V, а оно срабатывает при 260V. Присылает нам прибор, мы проверяем 240V (плюс минус пару вольт)??!!

 

2 sky. Если придумаешь что-то интересное, пиши.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А чем вам поможет BOR собственно, ну сбросится проц, все параметры из RAM улетят, а что дальше?

BOR может "сказать" было ли понижение питания ниже определенного уровня? А дальше уже сами в программе решайте, стоит ли инициализировать переменные снова или продолжать работу, используя имеющиеся в ОЗУ данные.

P.S. сброс (POR или PUC) сам по себе не обнуляет (при условии что величина питания была в рабочем диапазоне напряжений) содержимого ОЗУ. Начальное обнуление переменных это программная функция.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такая ситуация, прибор управляет технологическим процессом, с n-м кол-вом параметров. Параметры периодически изменяются, т.е писать их все время во флеш как я уже говорил, будет накладно. К инженеру, который собственно и следит за электроникой, пришел знакомый, и они за рюмкой чаю сидят и разговаривают о бытие. В это время уборщице помешал сетевой провод (питание прибора), она не долго думая выдернула его, убрала, и вкл. его снова.

Так вот, параметры которые находились в то время в ОЗУ, находятся теперь в другом месте, не буду говорить каком, но достать их оттуда будет довольно таки проблематично… Тогда вопрос, как успеть сохранить байты используя BOR?!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Такая ситуация, прибор управляет технологическим процессом, с n-м кол-вом параметров.

Тогда вопрос, как успеть сохранить байты используя BOR?!

Ну почему обязательно BOR? Он для такой задачи непригоден.

 

Спокон веков эта простенькая задача решалась при помощи монитора входного питания. Пропадает вх. питание - монитор тут же выдает прерывание процу, тот сохраняет данные в энергонезависимую память. Все это время (сколько-надо-миллисекунд) проц "живет" за счет энергии, запасенной в кондерах источника питания. Емкость кондеров считается элементарно, схемотехника монитора и вх. узлов источника питания тривиальна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и я о том же!!!!! СЫР-BOR тут не причем. Мы делаем так. Есть два питания 5V и 3.3V на 5V вешаем танталы 16-ти вольтовые, на 3.3V побольше, питание для анализа подаем на АЦП. Пока конденсаторы разряжаются можно писать во флеш. Мониторы не для нас, платы в серии и переразводить лень… Если бы прикрутить батарейку, был бы полный шоколад.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сначала насчет уборщиц, которые выдергивают провода на производства :)

Имхо таких нада убивать, сразу или просто выгонять. У нас была одна, которая умудрилась уронить со стола, к которому ей подходить было не нужно, целую кучу подложек, в результате, человек, который занимася ими, вынужден был три дня приводить все в порядок. Мы отказались от ее "услуг".

А теперь по теме. в приборах где важны настройки, и их сохранность, после выключения питания нужна схема контроля питания. Для этого можно использовать ацп процессора(у нас в 147м не ацп не нужен был, его использоли в схеме контроля питания), встроенный или внешний компаратор. кроме того ставится внешняя батарейка(литиевая). Т.е получается две схемы питания одна от сетевого источника, одна от батарейки, развязанные через диоды шоттки, и далее конденсаторы по питанию процессора. При отлючении питания, процессор быстро понимает что оно отключилось, и переходит в режим пониженного потребения, работая от часового кварца. Супервизор питания в данном случае не нужен.

Есть другой вариант, напряжение со стабилизатора подавать на ноги питания процессора через диоик опять же, процессор дожен следить за напряжением непосредственно на выходе стабилизатора, а посе диода, т.е параллеьно ногам питания процессора поставить ионистор или тантал большой емкости. Как только пропадает питания от стабилизатора, процессор это понимает, далее пишет во флеш дамп RAM, и как только разрядится ионистор/тантал, отрубается супервизором. Тут глвное чтобы время разряда ионистора/тантала ниже минимального напряжения программирования флеши, было больше чем время, которое потребуется процессору для сохранения параметров.

Хотя тут уже писалось что использовать флеш для хранения часто изменяемых параметров неудобно, т.к кол-во циклов записи/перезаписи ограниченно, можно и на это пойти, если флешки много пустой. Естественно, писать нужно не в одну ячейу а в разные, выбираемые определеннм образом, так чтоб не затирать постянно одну и ту же ячейу.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну почему обязательно BOR? Он для такой задачи непригоден.

Вообще-то в исходном сообщении был вопрос

В обоих случаях возникает сброс кристала

Как отследить такие ситуации?

и о сохранении данных речи не шло.

Если нужно сохранять данные при выключении, то должны выполняться два условия:

1. супервизор, который отслеживает снижения питания и генерирует сигнал прерывания по которому данные сохраняются

2. питание должно снижаться достаточно медленно, чтобы у контроллера было время сохранить данные, либо было резервное питания для этого

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вроде бы нашел выход из такой вот ситуации.

Не совсем правильное решение, но оно работает - создание глобальных переменных без их явной инициализации.

К примеру

 

__no_init long lGlobal;

 

void main( void )

{

while(1)

if (lGlob != <некое число Х>)

{

// было выключение итания

lGlob = <некое число Х>

}

else

// сетевая помеха, выключения питания не было

}

 

Как видно вся заковыринка в ОЗУ проца. При таком раскладе при возникновении кратковременного сигнала сброса проц отрабатывает ситуацию "сетевая помеха".

Может кто знает другое решение пишите. Заранее спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нда. И к этому решению вы шли полтора месяца?! Решение совсем недачное. По значению всего лишь одной переменной нельзя судить о целостности остальных данных в ОЗУ.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

При повышении напряжения до 240V, а оно срабатывает при 260V. Присылает нам прибор, мы проверяем 240V (плюс минус пару вольт)??!!

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну почему обязательно BOR? Он для такой задачи непригоден.

Если нужно сохранять данные при выключении, то должны выполняться два условия:

1. супервизор, который отслеживает снижения питания и генерирует сигнал прерывания по которому данные сохраняются

2. питание должно снижаться достаточно медленно, чтобы у контроллера было время сохранить данные, либо было резервное питания для этого

Неверно. Супервизор (или BOR) на шине питания (+3.3В) проца не является адекватной заменой монитору входного питания прибора. Супервизор дает сброс процу, и ничего другого от него требовать нельзя, т.к. будет политически неграмотно. Монитор входного питания дает "раннее предупреждение" в виде прерывания, которое возникает гораздо ранее, чем сброс от супервизора. Супервизор же должен давать не прерывание, а железный сброс. <_<

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...