Easyelectronics.ru

Электроника для всех
Текущее время: 11 дек 2017, 05:29

Часовой пояс: UTC + 5 часов



    • 10 шт. 2-слоя 100*100mm 2$. Быстрый заказ: JLCPCB.com
    • JLCPCB - это крупнейшая фабрика PCB прототипов в Китае.
    • Имеющий более 290,000 клиентов и выполняющий более 8,000 заказов в день.
    • LCSC - Крупнейший китайский онлайн магазин радиодеталей.

Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: LPC1768 + WIZnet5300 проблемы с передачей команд
СообщениеДобавлено: 26 дек 2013, 13:14 
Здравствуйте!

Зарегистрирован: 26 дек 2013, 12:45
Сообщения: 2
Здравствуйте! Первый раз обращаюсь тут за помощью извините, если пишу не так/не туда.


Поставили передо мной задачу создать плату автоматики, вращающую два шаговых двигателя и принимающую команды от ПК по протоколу UDP. Печатная плата уже была кем то создана и успешно применялась в подобных задачах. На плате расположены LPC1768 и WIZnet5300 ( ну и еще всякое сопутствующее). В этих вопросах я сильно начинающий. Помучившись какое-то время, почитав разных форумов (особенно этот) я сотворил программу для МК LPC1768. Первые тесты программа благополучно прошла. Она принимала команды от ПК и, используя прерывания от таймеров, вращала моторами и сообщала их координаты. Начали совмещать с программой верхнего уровня на ПК. И тут возникли проблемы.

1) По завершению перемещения плата автоматики высылает наверх две команды. Одна с последними координатами и вторая подтверждающая, что можно запускать новое перемещение. Во время работы через какое-то время между этими командами возникает значительная задержка (до 0,5 секунды и более). Смотрим время в wireshark.

2) Периодически от моей платы проскакивает неопознанный пакет меньшей длинны. IP и адрес порта у него правильные.

3) Так же периодически происходит ARP erorr. Плата стучится в неправильный адрес.
был адрес назначения 222.222.222.200 - при ошибке 222.222.222.222
поменяли на 210.211.212.213 - при ошибке 210.211.212.212

LPC1768 программирует WIZnet по 8 битной шине.
По первой ошибке - добавил чтобы в пакете жило значение с системного таймера - судя по значениям задержка идет не в МК. Стал отправлять не один пакет а 4 - задержка пропала.

Пробовал ставить точки остановки если в WIZnet записывают не тот адрес или не ту длину - ошибки случаются, программа не выпадет.
Наверное прерывание как то сбивает процесс записи данных в WIZnet, но как это проверить я не знаю.
Посоветуйте что делать)


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB