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

 
 
 
Reply to this topicStart new topic
> Дерганье ногой AT91SAM9XE512 по Ethernet
wayfarer_lex
сообщение May 21 2012, 19:28
Сообщение #1





Группа: Новичок
Сообщений: 6
Регистрация: 27-06-10
Пользователь №: 58 167



Доброго времени суток форумчане!
Имеется следующая проблема. Разрабатываю stand-alone приложение под процессор AT91SAM9XE512, компилятор и IDE - IAR Embedded Workbench версия 6.21.1.2846.
Реализовал свой стек протоколов TCP/IP + целевое приложение, имеющийся uIP не устраивал по производительности.
Но наткнулся на следующую проблему. При принятии входящего пакета мне необходимо сформировать отрицательный строб пином.
В процессе отладки наткнулся на то, что строб формируется "через раз". Запись в регистр PIO происходит успешно и вычитываю я корректное значение регистров статуса, но физически строб отсутствует в 10% случаев (выход пина смотрю осциллографом).
Разворотил весь проект, минимизировал всю задействованную перефирию, картина осталась неизменная... Формирование строба я перенес непосредственно в обработчик прерывания EMAC.

Прилагаю архив с минимизированным проектом, который демонстрирует бяку, под IAR.
Поскольку все протоколы стека TCP/IP я срезал, для проверки генерации строба по сети я использовал следующий способ:
1. на клиентском компьютере заношу в ARP-таблицу статическую запись соответствующую плате(консольная команда под Win):
arp -s 192.168.2.136 00-45-56-78-9a-bc
2. далее для формирования одиночного строба использую команду ping. Со стороны платы - упрощенный приемник ICMP пакетов (echo-request), который по пришествии пакета формирует строб на нужном пине. Команда:
ping 192.168.2.136 -n 1 -w 5

Поставив щуп осциллографа на пин наблюдаю описанную выше картину... в чудеса не верю, по крайней мере в этом контексте))

Прошу помощи, может быть кто-то сталкивался с подобной бякой.
Прикрепленные файлы
Прикрепленный файл  project.rar ( 431.39 килобайт ) Кол-во скачиваний: 16
 
Go to the top of the page
 
+Quote Post
kovigor
сообщение May 21 2012, 19:47
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(wayfarer_lex @ May 21 2012, 22:28) *
Поставив щуп осциллографа на пин наблюдаю описанную выше картину... в чудеса не верю, по крайней мере в этом контексте))

Прошу помощи, может быть кто-то сталкивался с подобной бякой.


Надеюсь, осциллограф включен в ждущий режим ? И еще. У этого МК некоторые пины имеют особенности в виде пониженного до 1.8В питания, и, возможно, ОК. Это не ваш случай ? Есть еще совсем простые причины - подгоревшая ножка, обрыв или трещинка в печатном проводнике, незапаянный земляной или питающий вывод, ножка не настроена на работу в роли GPIO. А если использовать другую ножку, тоже так будет ?
Go to the top of the page
 
+Quote Post
wayfarer_lex
сообщение May 22 2012, 07:30
Сообщение #3





Группа: Новичок
Сообщений: 6
Регистрация: 27-06-10
Пользователь №: 58 167



Мдя.... я балбес... дело было именно в режиме осциллографа... Как стыдно.... blush.gif прошу прощения за беспокойство и спасибо за совет!
Go to the top of the page
 
+Quote Post

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

 


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


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