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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Зависания 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
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

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

 


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


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