Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 01.04.2013, 11:58  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Сообщение от alpast Посмотреть сообщение
Уважаемый, pifa, обрати внимание на время внутреннего WTD и внешнего WDT. Внешний должен быть в 2-3 раза больше. Такое впечатление, что у тебя внешний WDT просто не дает процессору запустится, проц не успевает его сбрасывать.
Немного не так. На ATMega128 стоит только внешний WDT, внутренний не задействован.
А на другой плате с ATMega8535 внешнего нет. Вот там используется внутренний WDT. Так что они между собой никак не связаны.
Реклама:
pifa вне форума  
Непрочитано 01.04.2013, 12:11  
alpast
Прописка
 
Регистрация: 08.02.2010
Сообщений: 130
Сказал спасибо: 2
Сказали Спасибо 45 раз(а) в 18 сообщении(ях)
alpast на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Думаю, надо добавить.

Да, когда находишься на объекте и видишь как все перестает работать, то голова съезжает сразу. Непонятно, что, почему, где искать..? Очень сложно
там, разобраться и принять правильное решение. Плавали, знаем.

Глюки, Зависания, Сбои - очень неприятные, непонятные явления - Магия, мистика, чудеса.

На самом деле все просто - Глюки, Зависания, Сбои - это следствие одного
единственного явления. Самопроизвольное изменение значения в регистрах (RAM, XRAM - тоже регистры) - вызванное различными причинами, чаще всего импульсами по шине питания и не только.

Проц завис - это просто изменилось значение счетчика команд, и он не
может декодировать следующую команду.

Бывает слетают флаги прерываний, main работает, а прерывания нет.

Бывает наоборот, проц вышел на обработку прерывания таймера 2, а у вас его в программе и небыло никогда.

часто в программе используются switch(state),
state - изменилось, или возвратилось из функции с ошибкой и
switch ищет ему case и найти не может.

Переменная какая-то попортилась а после перезагрузки не реинизиализировалась.

Пишем программу и должны знать, что в любой момент регистры или
переменные могут попортиться
. Должны уметь с этим оброщаться.

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

Правильно работаем с WDT (см. выше) - и в деле ждет тебя успех


GOOD LUCK
alpast вне форума  
Сказали "Спасибо" alpast
bdn62 (01.04.2013)
Непрочитано 01.04.2013, 12:13  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Сообщение от vgtmaster Посмотреть сообщение
Что то подобное с зависанием было и в моей практике. Решить проблему удалось заменой классического блока питания на импульсный. Скорее всего у вас помеха лезет через сеть.
Нашел у себя один импульсный блок на TOP223Y Покупал лет 10 назад. Но он несколько раз выходил из строя (сам TOP). Замена этого блока на обычный линейный решила проблему. Работает до сих пор.
Так вот и на этом объекте повышенное напряжение. На расстоянии 1 км находится городская подстанция 330 кВ. Не хочется еще раз наступать на те же грабли.
Вот вспомнил, что на этом объекте у меня не задействован RS-485. А его питание формируется преобразователем на ферритовом кольце с 24 V.
Но придется отключить подсветку LCD. Колечко маленькое, а там и так уже 200 mA сидит. Может не выдержать.

P.S.

Два остальных проца (ATMega8535 и ATMega8 ) питаются тоже через колечко. Только ATMega128 напрямую с транса через LM2576

Последний раз редактировалось pifa; 01.04.2013 в 12:22.
pifa вне форума  
Непрочитано 01.04.2013, 12:18  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Сообщение от alpast Посмотреть сообщение
Думаю, надо добавить.
часто в программе используются switch(state),
state - изменилось, или возвратилось из функции с ошибкой и
switch ищет ему case и найти не может.
Для этого я всегда использую default. И никогда без него.

Сообщение от alpast Посмотреть сообщение
Думаю, надо добавить.
Как универсальный способ, выхода из этих тупиков - WDT -он создан
только для этого - и ни для чего кроме этого.

Правильно работаем с WDT (см. выше) - и в деле ждет тебя успех
В моем случае WDT не помог. Когда найду причину - напишу.
pifa вне форума  
Непрочитано 01.04.2013, 13:05  
ForcePoint
Почётный гражданин KAZUS.RU
 
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 7,050
Сказал спасибо: 3,041
Сказали Спасибо 3,210 раз(а) в 2,180 сообщении(ях)
ForcePoint на пути к лучшему
Стрелка Re: Наводки частотника и зависание ATMega128

Сообщение от pifa Посмотреть сообщение
Когда в результате тыканья сетевой вилкой БП только ATMEga128 она зависла наглухо и не реагировала на RESET, попробовал снять и восстановить питание. Но проц. все равно не запустился. При этом сигналы SDA=SCL=0.
Тогда снял питание с других блоков. При снятии питания с ATMega8535 128 заработала сама.
Повторил эксперимент. Снова висит. В это же время 8535 все работает, только сигналы I2C=0.
Оказалось, что внутренний Watchdog 8535 (который контролировал шину I2C) не срабатывал, т.к не был включен соотв. фьюз.
I2C как межприборный интерфейс в условиях помех - это сурово... Но, раз уж так случилось, то вот одно место из спецификации (версия 2.1, 2000 год):
Раздел 17.3 Wiring pattern of the bus lines
... линии наиболее подвержены помехам и перекрёстным искажениям при наличии высоко уровня (за счёт относительно большего импеданса подтягивающих резисторов). ... При длине дорожек или кабеля более 10 см рекомендуется расположение проводников в виде SDA-Vcc-Vss-SCL или SDA-Vss-SCL. ... Если используется витая пара, то в пару к каждому сигналу идёт земля.

Ну и простейшая логика: Поскольку I2C - шина с "монтажным ИЛИ", то длительное присутствие SCL=0 должно рассматриваться как ошибка и должны приниматься соответствующие меры. По этому поводу - также можете почитать стандарт в тех местах, где говорится о "stretching the LOW period of the SCL" (используется только при арбитраже нескольких ведущих или при ответе "медленного" ведомого).
ForcePoint вне форума  
Непрочитано 01.04.2013, 14:28  
pambaru
Почётный гражданин KAZUS.RU
 
Регистрация: 24.03.2007
Сообщений: 1,365
Сказал спасибо: 85
Сказали Спасибо 625 раз(а) в 377 сообщении(ях)
pambaru на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Сообщение от pifa Посмотреть сообщение
Так я ее по несколько раз в день перешивал. А что даст ШИМ или моргание, если программа не запускается?
А вот сейчас на столе (без наводок) ATMega в стопоре. Читаю Flash - все без единой ошибки. Фьюзы тоже на месте. А проц. не запускается.

P.S.

Возможно после снятия питания запустится, но вот размышляю, что-бы еще посмотреть.
Я уже неоднократно писал, были темы похожие, что у ATMega бывают зависы при включении при медленно нарастающем питании. Не выводится никак из этого состояния, кроме как передергиванием питания.
При таком зависании ATmega находится как бы в режиме программирования (у ATMega128 это видно по низкому уровню на ноге PEN, но при этом подтянуть PEN к плюсу нельзя - течет бешеный ток).
Но в этом "как бы режиме программирования" она даже не шьется.
Не знаю, та же самая ли проблема возникает при Ваших зависонах во время работы. Посмотрите уровень на ноге PEN во время зависона (в реальной работе, при зависоне при включении питания там будет низкий уровень).
pambaru вне форума  
Непрочитано 01.04.2013, 14:56  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Сообщение от ForcePoint Посмотреть сообщение
I2C как межприборный интерфейс в условиях помех - это сурово
При проектировании я думал о помехах. Но вот о частотниках забыл. К тому же считал, что заземление шкафа должно уберечь от эл. магнитных наводок.

Сообщение от ForcePoint Посмотреть сообщение
Если используется витая пара, то в пару к каждому сигналу идёт земля.
Если я правильно понял, то вместо моих двух витых пар необходимо три:
SDA-GND, SCL-GND, VCC-GND.
Это я сегодня сделаю.

Сообщение от ForcePoint Посмотреть сообщение
Ну и простейшая логика: Поскольку I2C - шина с "монтажным ИЛИ", то длительное присутствие SCL=0 должно рассматриваться как ошибка и должны приниматься соответствующие меры. По этому поводу - также можете почитать стандарт в тех местах, где говорится о "stretching the LOW period of the SCL" (используется только при арбитраже нескольких ведущих или при ответе "медленного" ведомого).
Самого стандарта нет, надо поискать.

Что касается самих сигналов, то я их отдельно не анализирую.
А вот ответ от устройства ожидается с тайм-аутом. Если по окончании тайм-аута ответ не получен либо принятый код не соответствует ожидаемому, программа переходит на обработку ошибки с ее индикацией (код устройства + ожидаемое состояние) и переводит шину I2C в безадресный режим и до следующего сеанса.
Где-то так:
************************************************** *******************

TWCR = I2C_START; // Передача СТАРТ

timer_I2C=20; // таймер для аварийного вихода
while (!YES_INT && (!Bit_ERR_I2C)); // Ожидание завершения передачи СТАРТ

if ((Status_I2C != KOD_START) || (Bit_ERR_I2C == 1)) { I2C_Error(); return; } // Проверка STATUS-кода

************************************************** **************************
Это ведущий-ATMega128. А ведомые (ATMEga8535 и ATMega8 ) сбрасываются каждая своим WDT при отсутствии команды от ведущего.
Я проверял в железе. Сажал и SCL и SDA на GND, обрывал. Вот только к питанию подтягивал в Proteus'е, в железе не пробовал. Все работает (если исчезает ошибка).

А вот у меня возник вопрос по поводу пподтягивающих резисторов. На плате стоят 10 kOm, Скорость я уменьшил до 65 kHz. Какие резисторы Вы бы порекомендовали.
Длина проводов I2C:
16 см от ведущего к ATMega8535 и еще +12см к ATM‹ega8/

Последний раз редактировалось pifa; 01.04.2013 в 15:20.
pifa вне форума  
Непрочитано 01.04.2013, 15:00  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Сообщение от pambaru Посмотреть сообщение
Я уже неоднократно писал, были темы похожие, что у ATMega бывают зависы при включении при медленно нарастающем питании. Не выводится никак из этого состояния, кроме как передергиванием питания.
Видимо это не мое. У меня всегда включается, Причем. включен BODEN, установлен внешний Watchdog.
Виснет в работе.
pifa вне форума  
Непрочитано 01.04.2013, 15:15  
alpast
Прописка
 
Регистрация: 08.02.2010
Сообщений: 130
Сказал спасибо: 2
Сказали Спасибо 45 раз(а) в 18 сообщении(ях)
alpast на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Я смотрю платка на разъемах и шлейфах, а второй такой нет?
Поменять всю плату целиком и посмотреть.
Иногда такая фиговень случается, из-за непропая или дефекта платы, что месяцы можно вылавливать и ничего не поймать.
alpast вне форума  
Непрочитано 01.04.2013, 15:27  
pifa
Гражданин KAZUS.RU
 
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
pifa на пути к лучшему
По умолчанию Re: Наводки частотника и зависание ATMega128

Сообщение от alpast Посмотреть сообщение
Я смотрю платка на разъемах и шлейфах, а второй такой нет?
Поменять всю плату целиком и посмотреть.
Иногда такая фиговень случается, из-за непропая или дефекта платы, что месяцы можно вылавливать и ничего не поймать.
Здесь тот вариант, что в пословице:

"Если бедный женится, то и ночь коротка".

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

Сейчас собираюсь на объект. Попробую часть тех рекомендаций, что здесь советовали.
pifa вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Настройка частотника Lenze Ан-162 Источники питания и свет 26 20.01.2013 11:41
Наводки в авто intel777 Аудиотехника 9 11.11.2012 14:03
Наводки в RCA кабеле alexprogr Видеотехника 3 01.08.2012 11:40
Подключение частотника AlVolodya Электроника - это просто 14 11.09.2011 01:17
Подключение частотника к асинхроннику с активным ротором. Pavelrb Производственное оборудование 6 21.12.2009 14:03


Часовой пояс GMT +4, время: 23:01.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot