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

 
 
> Зависание микроконтроллера, ATMega 128
smalcom
сообщение Apr 14 2008, 13:27
Сообщение #1


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

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



Наблюдается следующая картина: казалось бы без всяких причин виснет контроллер, если дотронуться металическим предметом до ножек кварца, то или пускается дальше или уходит в перезагрузку, или сделает еще пару шагов и опять виснет. Выводит его из такого состояния только кнопка резет или сброс питания.
контроллер - ATMega128-16AU. Программа раньше работала, проблеиы появились только в текущем месяце на новых устройствах. Не знаю на кого грешить((

PS. менял кварц - непомогло
PPS. частота - 14.7456МГц

Сообщение отредактировал smalcom - Apr 14 2008, 13:30
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
sensor_ua
сообщение May 3 2008, 22:03
Сообщение #2


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

Группа: Свой
Сообщений: 1 266
Регистрация: 22-04-05
Из: Киев
Пользователь №: 4 387



Цитата
Объясните, почему, собственно, на входе UARTа вам хочется в паузах между пакетами видеть высокий уровень, а не низкий. Зачем?

Чтобы при неактивном канале было НЕАКТИВНОЕ логическое состояние - чтобы не только активность в канале определялась без лишних вопросов, но и чтобы неактивный канал не вызывал разнотолков. Тем более если у Вас аппаратный УАРТ с определением состояния линии BREAK, то Вы на коне, а если программный - придётся натрудить не только мозолей на пальцах, но и места в памяти программ, которой не завсегда много, ну а если какой-нить простенький аппаратный УАРТ, то научиться обходить его типа "убогость" может оказаться сложнее, чем реализовать весь программно. Итого - использование определения сигнала линии BREAK избыточно и нецелесообразно в относительно простых программно-аппаратных решениях. Ну и далее - переход из BREAK в режим передачи должен сопровождаться выдерживанием передающим хостом некоего таймаута не менее 1-го байта или вариантов с заполнением канала некими символами (0xFF) перед непосредственно передачей, а последнее налагает некоторые ограничения на реализации протоколов.
IMNHO, при неактивном состоянии линии её удержание в состоянии логического нуля не просто нецелесообразно, но и неоправданно усложняет само использование канала.
IMHO линию нужно держать при неактивном состоянии в логической единице, что избавит всех от ненужных хлопот.
ЗЫ. Программы, у которых "срывает крышу" от всяких несуразиц в канале - на помойку, независимо от того, какой уровень в канале при неактивном состоянии.


--------------------
aka Vit
Go to the top of the page
 
+Quote Post
=AK=
сообщение May 4 2008, 00:41
Сообщение #3


pontificator
******

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



Цитата(sensor_ua @ May 4 2008, 07:33) *
Чтобы при неактивном канале было НЕАКТИВНОЕ логическое состояние - чтобы не только активность в канале определялась без лишних вопросов, но и чтобы неактивный канал не вызывал разнотолков.

В неактивном канале нужное вам состояние на входе UART-а обеспечивается подтягивающими резисторами. Предположим, вы поставили резисторы по 1к, т.е. один резистор тянет на +5, другой - на землю. Какой мощности должна быть наведенная помеха для того, чтобы на входе UART-а появился ложный "старт"? В первом приближении, помеха должна иметь можность 5В^2/2k=12.5 мВт (у автора топика с его 47к подтяжками будет еще меньше, но это не суть важно). После этого ваша софтинка примет помеховый сигнал за истинный, поскольку вы надеетесь на резисторы и на то, что такой помехи не будет. Начнется ложный прием, а пришедший вслед за этим настоящий пакет данных будет испорчен.

Теперь оценим, какой мощности должна быть помеха, которая "испортит жизнь" правильному протоколу, такому, как Modbus RTU и т.п. Правильный протокол не делает никаких предположений о состоянии линии связи в паузах. Зато он требует, чтобы в начале каждого пакета включенный передатчик держал пасивное высокое состояние на линии в течении определенного времени, которое должно быть существенно больше, чем байт-интервал. Еще такой протокол требует, чтобы во время передачи пауза между соседними байтими в пакете была определенной и достаточно маленькой.

Предположим, наведенная помеха в паузах запускает ложный прием. Однако ложный пакет будет отвергнут, поскольку очень маловероятно, что она выдает помеховые импульсы в нужном темпе (чтобы выполнялось требование о малой паузе между байтами) и что CRC помехового пакета будет правильным.

Предположим, наведенная помеха запускает ложный прием незадолго до начала истинного пакета. Однако включенный передатчик своим выходом задавит помеху, а длинная пауза в начале передачи заставит приемник выбросить помеховый пакет, поскольку за время действия паузы не приходит новых байтов - не выполняется условие малой паузы между соседними байтами.

Теперь оценим, какой мощности должна быть помеха, чтобы испортить настоящий пакет данных в таком протоколе. Работающий передатчик RS485 обязан уметь выдавать на линию не менее 60 мА тока (реально выдает раза в два больше). Мощность помехи, необходимая для того, чтобы пересилить выход передатчика, должна быть 5В*60мА=300мВт. Почти в 20 раз больше, чем с резисторами.

Вот настолько и будет лучше помехоустойчивость правильного протокола по сравнению с дешевыми самопалами, которым нужно, "чтобы при неактивном канале было НЕАКТИВНОЕ логическое состояние" (с). Разница в десятки-сотни раз. smile.gif

Цитата(sensor_ua @ May 4 2008, 07:33) *
ЗЫ. Программы, у которых "срывает крышу" от всяких несуразиц в канале - на помойку, независимо от того, какой уровень в канале при неактивном состоянии.

lol.gif lol.gif lol.gif

Добавьте к программам протоколы, у которых "срывает крышу" от всяких несуразиц в канале.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- smalcom   Зависание микроконтроллера   Apr 14 2008, 13:27
- - Dog Pawlowa   Цитата(smalcom @ Apr 14 2008, 16:27) Не з...   Apr 14 2008, 14:03
- - IDE   Цитата(smalcom @ Apr 14 2008, 17:27) Набл...   Apr 14 2008, 14:20
- - smalcom   PPS. кварц заземлен. PPPS. wathcdog включен - все ...   Apr 14 2008, 14:46
|- - defunct   Цитата(smalcom @ Apr 14 2008, 16:46) PPS....   Apr 14 2008, 14:56
|- - galjoen   Цитата(smalcom @ Apr 14 2008, 18:46) PPPS...   Apr 14 2008, 15:26
|- - Dog Pawlowa   Цитата(smalcom @ Apr 14 2008, 17:46) норм...   Apr 14 2008, 15:37
- - smalcom   ммм... меня могли неправильно понять - криво напис...   Apr 14 2008, 15:11
|- - defunct   Цитата(smalcom @ Apr 14 2008, 17:04) кера...   Apr 14 2008, 15:17
- - smalcom   в схеме сброса включен супервизор MCP100-315 и кно...   Apr 14 2008, 15:23
- - defunct   ЦитатаРядом лежит такойже девайс из старой партии:...   Apr 14 2008, 15:25
- - injen-d   Возможно виноват не запрограммированный бит CKOPT ...   Apr 14 2008, 15:29
- - smalcom   фьюзы BLEV=1 BODEN=1 SUT=2 CKSEL=D BLB1=3 BLB0=3 O...   Apr 14 2008, 15:37
|- - galjoen   Цитата(smalcom @ Apr 14 2008, 19:37) CKSE...   Apr 14 2008, 15:55
- - smalcom   ЦитатаЗамеряйте потребляемый ток старого и нового ...   Apr 14 2008, 15:41
- - smalcom   Цитатакерамический резонатор 0.9..3.0 МГц не, при ...   Apr 14 2008, 16:34
|- - galjoen   Цитата(smalcom @ Apr 14 2008, 20:34) не, ...   Apr 14 2008, 16:55
- - smalcom   Цитата"но после прошивки почемуто WDTON читае...   Apr 15 2008, 03:56
- - Igor26   Цитатав регистре XDIV Его нет в Меге128. Цитатаплю...   Apr 15 2008, 04:00
- - Rst7   ЦитатаЕго нет в Меге128. Как это нет? А по адресу...   Apr 15 2008, 04:47
- - Igor26   ЦитатаА по адресу 0x3C(0x5C) что находится? Чёй-то...   Apr 15 2008, 06:57
- - vmp   Вы уверены, что конденсаторы на кварце стоят прави...   Apr 15 2008, 07:11
|- - Serj78   Цитата(vmp @ Apr 15 2008, 11:11) Вы увере...   Apr 15 2008, 07:51
- - Rst7   ЦитатаЧёй-то не нашел в ДШ. Ткните носом. Вот дер...   Apr 15 2008, 07:57
- - Igor26   ЦитатаSystem Clock and Clock Options -> Timer/C...   Apr 15 2008, 09:23
- - GDI   Можно попробовать поменять контроллеры у старой и ...   Apr 15 2008, 09:31
- - smalcom   вопщем пропаял еще раз мегу, промыл спиртом, замен...   Apr 15 2008, 10:41
- - defunct   Иногда может повлиять толщина и материал дорожек. ...   Apr 15 2008, 10:45
- - smalcom   сдается мне, что полтергейст зажат в узкий круг. в...   Apr 15 2008, 14:34
- - smalcom   чота с плюсами лажа какаето   Apr 15 2008, 20:08
|- - ReAl   Цитата(smalcom @ Apr 15 2008, 23:08) чота...   Apr 16 2008, 06:29
|- - Mozart   вообще может быть из-за ресета по снижению напряже...   Apr 17 2008, 19:06
|- - Dog Pawlowa   Цитата(Mozart @ Apr 17 2008, 22:06) вообщ...   Apr 17 2008, 19:54
|- - Mozart   Цитата(Dog Pawlowa @ Apr 17 2008, 23:54) ...   Apr 17 2008, 20:33
|- - Dog Pawlowa   Цитата(Mozart @ Apr 17 2008, 23:33) это к...   Apr 18 2008, 06:40
|- - Mozart   Цитата(Dog Pawlowa @ Apr 18 2008, 10:40) ...   Apr 18 2008, 16:00
|- - Laserr   Цитата(Dog Pawlowa @ Apr 18 2008, 10:40) ...   Apr 18 2008, 16:22
|- - VladimirYU   Цитата(Dog Pawlowa @ Apr 18 2008, 10:40) ...   Apr 19 2008, 08:29
- - Yura_K   Было такое же на ATmega8535. Правда стоял на плате...   Apr 18 2008, 17:06
- - smalcom   да, кстати, проблема была в том, что прогу скомпил...   Apr 24 2008, 17:15
|- - ReAl   Цитата(smalcom @ Apr 24 2008, 20:15) да, ...   Apr 26 2008, 14:55
- - Flasher   Могу рассказать в чем секрет зависания устройства....   Apr 25 2008, 21:08
|- - dx40   Цитата(Flasher @ Apr 26 2008, 01:08) Могу...   Apr 28 2008, 06:52
|- - Сергей Борщ   Цитата(Flasher @ Apr 26 2008, 00:08) на к...   Apr 28 2008, 07:58
|- - =AK=   Цитата(Flasher @ Apr 26 2008, 06:38) Это ...   May 2 2008, 13:02
|- - Flasher   Цитата(=AK= @ May 2 2008, 16:02) Хм... А ...   May 2 2008, 13:23
|- - =AK=   Цитата(Flasher @ May 2 2008, 22:53) дальш...   May 2 2008, 13:35
|- - Flasher   Цитата(=AK= @ May 2 2008, 16:35) Да. Пож...   May 2 2008, 14:10
|- - =AK=   Цитата(Flasher @ May 2 2008, 23:40) Продо...   May 3 2008, 03:38
- - Samsony   Цитата(smalcom @ Apr 14 2008, 17:27) Набл...   Apr 26 2008, 19:30
- - smalcom   старый набор avrtools и новый генерят разный код, ...   Apr 26 2008, 22:03
- - Igor26   ЦитатаЭто компьютерный блок питания. Интересно зна...   Apr 28 2008, 06:41
|- - Flasher   Цитата(Igor26 @ Apr 28 2008, 09:41) Интер...   Apr 28 2008, 11:59
|- - ReAl   Цитата(Сергей Борщ @ Apr 28 2008, 10:58) ...   Apr 29 2008, 17:18
- - Nanobyte   Блоки питания от ПК разные бывают. Есть у меня оди...   Apr 28 2008, 07:12
- - Igor26   Прикола ради, замерил прям щас напряжение между ко...   Apr 28 2008, 11:42
- - smalcom   на БП пульсациии я мерял - 50мВ при частое 50Гц+мн...   Apr 30 2008, 09:19
|- - Flasher   Цитата(smalcom @ Apr 30 2008, 12:19) на Б...   Apr 30 2008, 15:41
- - smalcom   Если комуто вдруг интересно будет(тк как в асме я ...   Apr 30 2008, 11:07
|- - aesok   Цитата(smalcom @ Apr 30 2008, 15:07) Если...   Apr 30 2008, 16:28
|- - aesok   Цитата(smalcom @ Apr 30 2008, 15:07) Если...   May 3 2008, 07:18
|- - aesok   Цитата(aesok @ May 3 2008, 11:18) Тоесть,...   May 3 2008, 10:55
- - Igor26   ЦитатаВы, наверное, не трогаете ножки кварца на ма...   Apr 30 2008, 16:31
|- - Flasher   Цитата(Igor26 @ Apr 30 2008, 19:31) Нет к...   Apr 30 2008, 16:42
- - smalcom   2Flasher ЦитатаИзмерял-правильное слово Или школьн...   May 1 2008, 05:08
- - Flasher   Приношу свои извинения автору- благодаря "пра...   May 1 2008, 14:38
- - svl   Автору темы, для решения вопроса, следует выложить...   May 1 2008, 15:01
- - smalcom   2Flasher, я действительно неправ с пунктуацией в п...   May 1 2008, 22:05
|- - Flasher   Цитата(smalcom @ May 2 2008, 01:05) схема...   May 2 2008, 11:18
|- - Stanislav_S   Цитата(smalcom @ May 2 2008, 03:05) 2Flas...   May 2 2008, 13:28
|- - GrayCat   Цитата(Stanislav_S @ May 2 2008, 16:28) О...   May 2 2008, 21:33
- - svl   Попробуй подключить к схеме аккумулятор или крону,...   May 2 2008, 07:56
- - smalcom   По поводу транзистора в 485 тута уже объяснили)) т...   May 3 2008, 05:11
|- - =AK=   Цитата(smalcom @ May 3 2008, 14:41) HC245...   May 3 2008, 08:03
|- - gte   Цитата(smalcom @ May 3 2008, 09:11) Я: ше...   May 3 2008, 09:56
- - forever failure   Подтяжки драйвера RS-485, кстати тоже неправильно ...   May 3 2008, 08:13
|- - =AK=   Цитата(forever failure @ May 3 2008, 17:4...   May 3 2008, 08:43
- - smalcom   2aesok, МЕГАСЕНК. как думаете в мейллист команде г...   May 3 2008, 19:34
|- - aesok   Цитата(smalcom @ May 3 2008, 23:34) 2aeso...   May 3 2008, 21:15
|- - defunct   Цитата(aesok @ May 4 2008, 00:15) нет не ...   May 3 2008, 21:17
|- - aesok   Цитата(defunct @ May 4 2008, 01:17) А это...   May 3 2008, 21:31
|- - defunct   Цитата(aesok @ May 4 2008, 00:31) Нет, то...   May 3 2008, 22:18
- - smalcom   47k недают покоя)) вы же учитывайте что на линии н...   May 4 2008, 06:49
|- - =AK=   Цитата(smalcom @ May 4 2008, 16:19) чтобы...   May 4 2008, 07:14
- - GrayCat   Насчет "устойчивости" протокола... Вот ...   May 4 2008, 14:41
|- - =AK=   Цитата(GrayCat @ May 5 2008, 00:11) Во-от...   May 4 2008, 23:13
|- - defunct   Цитата(=AK= @ May 5 2008, 02:13) При этом...   May 5 2008, 02:35
|- - =AK=   Цитата(defunct @ May 5 2008, 12:05) Есть ...   May 5 2008, 03:00
|- - defunct   Цитата(=AK= @ May 5 2008, 06:00) В ситуац...   May 5 2008, 03:54
|- - =AK=   Цитата(defunct @ May 5 2008, 13:24) Перед...   May 5 2008, 06:22
|- - galjoen   Цитата(=AK= @ May 5 2008, 10:22) - Помеха...   May 5 2008, 09:26
||- - =AK=   Цитата(galjoen @ May 5 2008, 18:56) Для т...   May 5 2008, 09:39
||- - galjoen   Цитата(=AK= @ May 5 2008, 13:39) Это буде...   May 5 2008, 10:15
|- - defunct   Цитата(=AK= @ May 5 2008, 09:22) Если пер...   May 11 2008, 23:23
- - smalcom   ЦитатаЗамените хотя бы ISO2 на обычный транзисторн...   May 4 2008, 17:21
- - smalcom   ЦитатаЧто такое "Заголовок"? байт(0xAB),...   May 5 2008, 08:20
- - Rst7   ЦитатаОднако по затратам времени два байта преамбу...   May 5 2008, 09:53
- - =AK=   Цитата(Rst7 @ May 5 2008, 19:23) Есть одн...   May 6 2008, 04:28
2 страниц V   1 2 >


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:07
Рейтинг@Mail.ru


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