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

 
 
> Зависания EMAC AT91SAM7X256, не могу перезапустить ЕМАС
prottoss
сообщение Nov 19 2008, 14:59
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Всем привет. Вопрос вот такой. Есть девайс на основе МК ATMEL AT91SAM7X256. Девайс коммутирует несколько относительно мощных нагрузок и управляется оператором по Ethernet и с пульта местного управления. Так вот, иногда, при переключении нагрузок на МК отпадает модуль ЕМАС. И что самое интересное, что модуль может отпадать частично. Например, при если во время переключения нагрузки шла передача от ЕМАС в сеть, то может отвалиться только передающая часть ЕМАС, если принимал, то только приемная. С передатчиком справился, отслеживая таймаут процесса передачи и полностью реиницализируя ЕМАС. С приемником что то туплю. Есть какие нибудь мысли?
Спасибо.
PS: на счет разводки просьба вопроса не поднимать, интересует только программное решение проблемы.


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 28)
aaarrr
сообщение Nov 19 2008, 15:17
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



А симптомы зависания какие? Что в статусах, дескрипторах?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 19 2008, 15:26
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 19 2008, 22:17) *
А симптомы зависания какие? Что в статусах, дескрипторах?
Симптомов ни каких, если говорить конкретно о приемнике EMAC. PHY исправно мигает лампочкой при пингах. Но прерывания от приемника не происходит. В статусном регистре EMAC_RSR все биты сброшены


--------------------
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Nov 23 2008, 07:21
Сообщение #4


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(prottoss @ Nov 19 2008, 17:59) *
Всем привет. Вопрос вот такой. Есть девайс на основе МК ATMEL AT91SAM7X256. Девайс коммутирует несколько относительно мощных нагрузок и управляется оператором по Ethernet и с пульта местного управления. Так вот, иногда, при переключении нагрузок на МК отпадает модуль ЕМАС.

PS: на счет разводки просьба вопроса не поднимать, интересует только программное решение проблемы.

сталкивался с подобным поведением модуля SPI на S серии при условии коммутации рядом с девайсом высоковольтных линий и следовательно эм помех. Сожалею, но в данном случае проблема решалась переразводкой и установкой внешнего watchdog с пресбросом по питанию (reset контроллер в данном случае тоже вещь не надежная). Так что боюсь дело именно в разводке платы и программно эту проблему не решить. sad.gif


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 23 2008, 15:29
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(SpiritDance @ Nov 23 2008, 14:21) *
Так что боюсь дело именно в разводке платы и программно эту проблему не решить. sad.gif
Я тоже склоняюсь к такому мнению, но заказчика ПО убедить не получаетсяsmile.gif


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 23 2008, 18:38
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(prottoss @ Nov 19 2008, 17:59) *
Есть какие нибудь мысли?

Есть все-таки мысль, что с софтом не все чисто, ибо это:
Цитата
...если во время переключения нагрузки шла передача от ЕМАС в сеть, то может отвалиться только передающая часть ЕМАС, если принимал, то только приемная.

выглядит странно.

Точно битые пакеты (фрагменты) в приемном буфере нормально обрабатываются?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 24 2008, 15:14
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 24 2008, 01:38) *
Точно битые пакеты (фрагменты) в приемном буфере нормально обрабатываются?

Все пакеты обрабатываются, если о них знает поток TCPIP стека. Потоку семафорит прерывание по приему от ЕМАС. Так вот о зависаниях приемной части ЕМАС я сужу по тому факту, что прерывания по приему пакета перестают возникать.


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 24 2008, 15:27
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Я имел в виду пакеты и фрагменты в приемной очереди EMAC. После аварии очередь пуста или забита?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 24 2008, 16:08
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 24 2008, 22:27) *
Я имел в виду пакеты и фрагменты в приемной очереди EMAC. После аварии очередь пуста или забита?
Там остается произвольное количество пакетов, и, после зависания, она не изменяется. ЕМАС в память больше ничего не ложит.


--------------------
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Nov 24 2008, 17:03
Сообщение #10


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Цитата(prottoss @ Nov 24 2008, 18:14) *
Так вот о зависаниях приемной части ЕМАС я сужу по тому факту, что прерывания по приему пакета перестают возникать.

Решение конечно не ахти какое но... может следует изобразить таймер, сбрасывающийся и по приему пакета. Если прерывания зависнут таймер истечет и по этому событию можно отключить и снова включить emac через PMC. Остается только подобрать правдоподобный интервал.
Это если конечно присутствует 100% уверенность в существующем софте.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 24 2008, 17:19
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(SpiritDance @ Nov 25 2008, 00:03) *
Решение конечно не ахти какое но... может следует изобразить таймер, сбрасывающийся и по приему пакета. Если прерывания зависнут таймер истечет и по этому событию можно отключить и снова включить emac через PMC. Остается только подобрать правдоподобный интервал.

Этот вариант я тоже рассматриваю. Но хотелось бы что то более разумное.
Цитата(SpiritDance @ Nov 25 2008, 00:03) *
Это если конечно присутствует 100% уверенность в существующем софте.

Софт работает 100% уже около полугода. Да и проблема достаточно локализирована.


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 24 2008, 18:09
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(prottoss @ Nov 24 2008, 19:08) *
Там остается произвольное количество пакетов, и, после зависания, она не изменяется. ЕМАС в память больше ничего не ложит.

Т.е. место точно есть, ошибок никаких точно нет, а приемник стоит - я правильно понимаю?

Цитата(prottoss @ Nov 24 2008, 20:19) *
Софт работает 100% уже около полугода. Да и проблема достаточно локализирована.

Вопрос в том, работает ли он в идеальных условиях (без потерь/искажений пакетов), или же в приближенных к реальным (с потерями/искажениями пакетов, но без ЭМ-помех)?
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Nov 24 2008, 19:13
Сообщение #13


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



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


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 25 2008, 02:22
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 25 2008, 01:09) *
Т.е. место точно есть, ошибок никаких точно нет, а приемник стоит - я правильно понимаю?
Да. Т.е. перестают возникать прерывания от приемника ЕМАС.
Цитата(aaarrr @ Nov 25 2008, 01:09) *
Вопрос в том, работает ли он в идеальных условиях (без потерь/искажений пакетов), или же в приближенных к реальным (с потерями/искажениями пакетов, но без ЭМ-помех)?
Без подключенных мощных реле сервер работает, т.е. таких проблем не возникает. С этими реле, иногда, возникают сбои, о которых я пишу. Отпадает приемник или передатчик ЕМАС, либо все вместе. С передатчиком я разобрался. С приемником пока не получается.


--------------------
Go to the top of the page
 
+Quote Post
bookevg
сообщение Nov 25 2008, 10:42
Сообщение #15


Местный
***

Группа: Свой
Сообщений: 320
Регистрация: 13-09-06
Пользователь №: 20 348



Цитата(prottoss @ Nov 25 2008, 05:22) *
Без подключенных мощных реле сервер работает, т.е. таких проблем не возникает. С этими реле, иногда, возникают сбои, о которых я пишу. Отпадает приемник или передатчик ЕМАС, либо все вместе. С передатчиком я разобрался. С приемником пока не получается.

Попробуйте землю платы в точке установки разъема Ethernet через высоковольтный конденсатор на корпус посадить
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 25 2008, 17:00
Сообщение #16


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(bookevg @ Nov 25 2008, 17:42) *
Попробуйте землю платы в точке установки разъема Ethernet через высоковольтный конденсатор на корпус посадить
Так и сделано


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 25 2008, 17:12
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(prottoss @ Nov 25 2008, 05:22) *
Без подключенных мощных реле сервер работает, т.е. таких проблем не возникает.

Если никаких проблем не возникает, то это не значит еще, что работает. Повторю вопрос: испытывался ли сервер в условиях наличия сбоев на шине Ethernet?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 25 2008, 17:27
Сообщение #18


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 26 2008, 00:12) *
Если никаких проблем не возникает, то это не значит еще, что работает. Повторю вопрос: испытывался ли сервер в условиях наличия сбоев на шине Ethernet?
Что Вы имеете ввиду? Битые пакеты?


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 25 2008, 17:41
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(prottoss @ Nov 25 2008, 20:27) *
Что Вы имеете ввиду? Битые пакеты?

Именно.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 25 2008, 17:51
Сообщение #20


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 26 2008, 00:41) *
Именно.
Битые пакеты, если они попали в память, определенную для ЕМАС, отрабатываются корректно. Но, в память они не попадают, генерация прерывания по приему пакета не происходит, о чем я говорил выше. Т.е, я так думаю, что то в железе приемника ЕМАС зависает напрочь, да так шибко, что даже попытки перезагружать, почему то, у меня, не оканчиваются успехомsad.gif
Перезагрузку делаю так:
1.Запрещаю все прерывания от ЕМАС.
2.Запрещаю работу ЕМАС.
3.Удаляю семафоры ОС.
4.Вызываю по новой функцию инициализации ЕМАС


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 25 2008, 18:24
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Если это SAM7_EMAC.c из демки FreeRTOS, то он не совсем без греха, хотя виснуть не должен.

А PHY после сбоя работает? RXDV генерируется?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 25 2008, 18:28
Сообщение #22


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 26 2008, 01:24) *
Если это SAM7_EMAC.c из демки FreeRTOS, то он не совсем без греха, хотя виснуть не должен.А PHY после сбоя работает? RXDV генерируется?
Это не демка FreeRTOS:) хотя файл у меня называется именно так:)RXDV генерируется, по MDI PHY отвечает, т.о. я почти убежден, что отказ в приемнике ЕМАС.


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 25 2008, 18:36
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(prottoss @ Nov 25 2008, 21:28) *
я почти убежден, что отказ в приемнике ЕМАС.

А я почти убежден, что дело в софте smile.gif
Согласитесь, трудно себе представить ситуацию, когда от внешнего воздействия почему-то падает именно EMAC (несмотря на наличие гальванической развязки), а все остальное продолжает спокойно работать.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 25 2008, 18:49
Сообщение #24


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 26 2008, 01:36) *
А я почти убежден, что дело в софте smile.gif
Согласитесь, трудно себе представить ситуацию, когда от внешнего воздействия почему-то падает именно EMAC (несмотря на наличие гальванической развязки), а все остальное продолжает спокойно работать.
Но именно так, по крайней мере визуально, происходит. Задача, которая мониторит внешние датчики и отображает показания на дисплее преспокойно работает, задача TCPIP постоянно сидит на семафоре приемника ЕМАС... И не получает ни одного пакета... Нету прерывания от приемника ЕМАС... Ну нету и все тут smile3046.gif


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 25 2008, 18:54
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Да забудьте про ОС! Копайте регистры состояния и статистики, очереди дескрипторов и т.д. - только так можно получить полноценную картину аварии.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Nov 25 2008, 18:57
Сообщение #26


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Nov 26 2008, 01:54) *
Копайте регистры состояния и статистики, очереди дескрипторов и т.д.
Копаю...


--------------------
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 9 2009, 16:13
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Проблему локализировали... Дело было в линии RESET от дисплейной платы до основного модуля. Наводки по линии RESET. Эта линия подтянута к напряжению питания на плате. На дисплейной плате просто подключена к кнопке. Длина шлейфа около 35 см. Вот такой глупый прикол...


--------------------
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Jan 9 2009, 16:53
Сообщение #28


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(prottoss @ Jan 9 2009, 19:13) *
Проблему локализировали... Дело было в линии RESET от дисплейной платы до основного модуля. Наводки по линии RESET. Эта линия подтянута к напряжению питания на плате. На дисплейной плате просто подключена к кнопке. Длина шлейфа около 35 см. Вот такой глупый прикол...

PHY слетал?
Go to the top of the page
 
+Quote Post
prottoss
сообщение Jan 9 2009, 17:03
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(aaarrr @ Jan 9 2009, 23:53) *
PHY слетал?
Ага, в добавок ногу POWERDOWN заземлили, для экономии ног МК, и ее из ступора не вывести совершенно ни как. Счас вот экспериментирую с внешними цепочками и задержкой на инит ЕМАС и PHY.


--------------------
Go to the top of the page
 
+Quote Post

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

 


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


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