AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR... |
01.04.2013, 15:32
|
|
Прописка
Регистрация: 08.02.2010
Сообщений: 130
Сказал спасибо: 2
Сказали Спасибо 45 раз(а) в 18 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Я смотрю проект серьезный, значит ты не один
Говори напарнику пусть паяет вторую плату, и по возможности проц поставит другой, лиш бы по распиновке совпадал.
Иначе так протанцевать можно до-о-о-о-лго.
|
|
|
|
01.04.2013, 15:33
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,999
Сказал спасибо: 3,017
Сказали Спасибо 3,191 раз(а) в 2,164 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Сообщение от pifa
|
Если я правильно понял, то вместо моих двух витых пар необходимо три:
SDA-GND, SCL-GND, VCC-GND.
|
А как сейчас?
Сообщение от pifa
|
Самого стандарта нет, надо поискать.
|
http://www.nxp.com/documents/other/39340011.pdf
Сообщение от pifa
|
А вот у меня возник вопрос по поводу пподтягивающих резисторов. На плате стоят 10 kOm, Скорость я уменьшил до 65 kHz. Какие резисторы Вы бы порекомендовали.
Длина проводов I2C:
16 см от ведущего к ATMega8535 и еще +12см к ATMega8/
|
10 кОм на каждой плате или на одной из них? С учётом обстановки - близкие к минимально допустимым с т.з. нагрузочной способности портов (см. табл. 27.6 Two-wire Serial Interface Characteristics в документации на mega128 ). Для 5 вольт - порядка 1.6-2.0 кОм.
|
|
|
|
01.04.2013, 17:32
|
|
Прописка
Регистрация: 19.02.2008
Адрес: г. Иркутск
Сообщений: 276
Сказал спасибо: 216
Сказали Спасибо 166 раз(а) в 78 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Работаю в основном с PICами данная проблема встречалась при работе с осциляторами для возбуждения сварочной дуги, причина была в изменении регистров состояния. В теле основной программы вводил постоянное обновление регистров STATUS, INTCON, OPTION. Помогало но не всегда. Пришлось для сброса отключать питание всего контроллера при помощи промышленного контроллера ZELIO (благо в установке был со свободным выходом). Кстати ZELIO на атмеле собран, работает без проблем даже если и бывают сбои перезагружается автоматически, умеют немцы делать вещи. На выложенной схеме смотрю много пустых ног у контроллера, их нужно объязательно или на GND или на Vss.
|
|
|
|
01.04.2013, 18:07
|
|
Прописка
Регистрация: 08.02.2010
Сообщений: 130
Сказал спасибо: 2
Сказали Спасибо 45 раз(а) в 18 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Сообщение от pifa
|
Сообщение от alpast Посмотреть сообщение
Думаю, надо добавить.
часто в программе используются switch(state),
state - изменилось, или возвратилось из функции с ошибкой и
switch ищет ему case и найти не может.
Для этого я всегда использую default. И никогда без него.
|
Вот и посмотрите что в этом дефолте происходит, как проц на эту нештатную ситуацию реагирует. В нормальной работе он никогда в нее поподать не должен
Сообщение от pifa
|
Сообщение от alpast Посмотреть сообщение
Думаю, надо добавить.
Как универсальный способ, выхода из этих тупиков - WDT -он создан
только для этого - и ни для чего кроме этого.
Правильно работаем с WDT (см. выше) - и в деле ждет тебя успех
В моем случае WDT не помог. Когда найду причину - напишу.
|
Не может WDT не помочь, если он срабатывает, а вот что происходит далее, как вы инициализируете переменные, какими значениями, нет ли дедлоков, не происходит ли ожидание каких либо событий,... см. программу.
Последний раз редактировалось alpast; 01.04.2013 в 18:22.
|
|
|
|
01.04.2013, 22:33
|
|
Гражданин KAZUS.RU
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Сообщение от ForcePoint
|
А как сейчас?
10 кОм на каждой плате или на одной из них? С учётом обстановки - близкие к минимально допустимым с т.з. нагрузочной способности портов (см. табл. 27.6 Two-wire Serial Interface Characteristics в документации на mega128 ). Для 5 вольт - порядка 1.6-2.0 кОм.
|
10 kOm на каждой плате, но через опторазвязку. Я не знаю как она будет на это влиять.
Попробую уменьшить резисторы на тех платах, что у меня есть. Посмотрел, что есть в наличии: 3 kOm и 4,7 kOm. Но как это повлияет на помехоустойчивость?
|
|
|
|
01.04.2013, 22:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 20.03.2007
Адрес: "Братское кольцо враждебности", т.е. ближайшее заМКАДье.
Сообщений: 6,999
Сказал спасибо: 3,017
Сказали Спасибо 3,191 раз(а) в 2,164 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Сообщение от andron007
|
На выложенной схеме смотрю много пустых ног у контроллера, их нужно объязательно или на GND или на Vss.
|
В таком случае - лучше уж сконфигурировать как выход (неважно с каким уровнем). А то - ошибочная настройка линии на выход и КЗ.
Сообщение от pifa
|
10 kOm на каждой плате, но через опторазвязку.
|
Тогда-бы схемку развязки. А уменьшать резисторы подтяжки - со стороны шлейфа, как с более подверженной помехам.
|
|
|
|
01.04.2013, 23:09
|
|
Гражданин KAZUS.RU
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Вот рассказываю что получилось на объекте.
Для начала я поменял провода шины I2C на три витые пары, как советовал ForcePoint, т.е. SDA-GND, SCL-GND, VCC-GND.
Запрограммировал фьюз CKOPT. Включил.
Здесь уже висит при включении, не выходит даже на инициализацию LCD.
Смотрю осциллографом. Генератор работает, WDT постоянно дергает. На выходе портов кроме дергания WDT больше ничего не заметил. Но на шине I2C бегают импульсы - и SDA и SCL. Подумал, что может быть SLAVE процы подвешивают. Отключил полность шину I2C и подключил от другого блока питания (импульсного). Результат ноль. Снимаю, несу в кабинет - все работает. Отключаю фьюз CKOPT, ставлю в шкаф - все работает.
Получается, что в условиях сильных помех нельзя программировать CKOPT. Я где-то встречал такую информацию на форуме. Там мотивировали это тем, что CKOPT поднимает усиление генератора, но тем самым усиливает наводки. В этом я убедился лично.
Пока я был на объекте один раз увидел сбой. В даном случае ведущий проц работал, но не было связи по I2C. Я поспешил дернуть общий автомат, а нужно было по одному процу отключать.
Видимо, все таки проблема с I2C.
Последний раз редактировалось pifa; 09.05.2013 в 11:43.
|
|
|
|
01.04.2013, 23:14
|
|
Гражданин KAZUS.RU
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Сообщение от ForcePoint
|
Тогда-бы схемку развязки.
|
Опторазвязка ADUM2250. Схема только у Analog Devices.
А вот ее подключение.
|
|
|
|
01.04.2013, 23:43
|
|
Прописка
Регистрация: 08.02.2010
Сообщений: 130
Сказал спасибо: 2
Сказали Спасибо 45 раз(а) в 18 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Сообщение от pifa
|
Смотрю осциллографом. Генератор работает, WDT постоянно дергает. На выходе портов кроме дергания WDT больше ничего не заметил.
|
Так, я не понял.
Если проц дергает WDT - почему, мы думаем, что он висит? Работает он великолепно.
Кто тогда ногой дергает?
Когда проц висит он ничем дергать не умеет..
Опять возвращаю тебя - ищи косяки в программе.
Кстати, по схеме не видать - а он у тебя сам в режим программирования ввалится не может...?
Последний раз редактировалось alpast; 01.04.2013 в 23:56.
|
|
|
|
02.04.2013, 00:11
|
|
Гражданин KAZUS.RU
Регистрация: 26.12.2005
Сообщений: 596
Сказал спасибо: 24
Сказали Спасибо 68 раз(а) в 45 сообщении(ях)
|
Re: Наводки частотника и зависание ATMega128
Сообщение от alpast
|
Так, я не понял.
Если проц дергает WDT - почему, мы думаем, что он висит - работает он великолепно.
Кто тогда ногой дергает?
|
Возможно, я не совсем правильно объяснил. Я имел ввиду, что выход WDT дергается, т.к. проц к нему не добирается (постояннло идет RESET).
И в данном случае я считаю, что проц. работает, т.к. идут сигналы на SDA и SCL (я об этом писал). А висит программа. В начале программы, до общего цикла у меня есть обращение по шине I2C к памяти, часам. Вот здесь оно и может циклить. Но это все внутри платы. А циклит при отключенных внешних линиях. Причем, только на объекте, возле частотника. Переношу плату с блоком питания в кабинет (30метров) и все работает. Т.е. программа рабочая. Но это все при установленном CKOPT. Если сбросить CKOPT, программа запускается. Следовательно, CKOPT усиливает наводки, которые влияют на I2C и происходит зацикливание. Видимо,тоже самое происходит в работе при отключенном CKOPT, но значительно реже.
P.S.
Выше я писал, что заметил ошибку I2C (у меня на LCD выводится индикация). Но это уже при подключенных SLAVE процессорах.
Последний раз редактировалось pifa; 02.04.2013 в 00:21.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:51.
|
|