|
STM32 Eth. Обработка ошибок |
|
|
|
 |
Ответов
|
Jan 29 2016, 08:56
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 13-04-09
Пользователь №: 47 609

|
Добрый день. Имеем плату te-stm32f107 и прототип устройства собранного по такой же схеме. Загрузил и слегка модифицировал "LwIP TCP/IP stack demonstration for STM32F107xx (AN3102)" (добавил udp сокет и обрабатываю данные). Иногда при старте отладки на плате (плата была подключена к локальной сети офиса через гигабитный свич) программа стартовала, но не появлялись прерывания от модуля Ethernet, моменты были очень редкие, по-этому не обращал на них особого внимания. Когда был собран прототип, его установили на будущее рабочее место (подключен в изолированную локальную сеть из 20 узлов). Сейчас стабильно, почти каждый день, при включении моего устройства, оно не пингуется, помогает повторное переподключение питания, а программа функционирует как положено. Сразу вспомнил про проблемы с отладкой и появилось предположение, что пока программно-аппаратная часть микроконтроллера инициализируется, rtl8201 может, по какой-то причине, не сообщать о приеме нового микроконтроллеру. Кто сталкивался с подобным? Или пните в нужном направлении.
|
|
|
|
|
Jan 29 2016, 13:16
|
Местный
  
Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672

|
Цитата(Neborak @ Jan 29 2016, 03:56)  Добрый день. Имеем плату te-stm32f107 и прототип устройства собранного по такой же схеме. Загрузил и слегка модифицировал "LwIP TCP/IP stack demonstration for STM32F107xx (AN3102)" (добавил udp сокет и обрабатываю данные). Иногда при старте отладки на плате (плата была подключена к локальной сети офиса через гигабитный свич) программа стартовала, но не появлялись прерывания от модуля Ethernet, моменты были очень редкие, по-этому не обращал на них особого внимания. Когда был собран прототип, его установили на будущее рабочее место (подключен в изолированную локальную сеть из 20 узлов). Сейчас стабильно, почти каждый день, при включении моего устройства, оно не пингуется, помогает повторное переподключение питания, а программа функционирует как положено. Сразу вспомнил про проблемы с отладкой и появилось предположение, что пока программно-аппаратная часть микроконтроллера инициализируется, rtl8201 может, по какой-то причине, не сообщать о приеме нового микроконтроллеру. Кто сталкивался с подобным? Или пните в нужном направлении. По-моему, Ваш вопрос - это совершенно иная тема. Тем не менее, а Вы просто используете чей-то код или это свой? В любом случае, почитайте регистры phy Код ... ST802RT1_REG_XSTAT, // 17 - Receiver configuration information and interrupt status register ST802RT1_REG_XRCNT, // 18 - Receiver event interrupts register ... Может быть не всегда успевает слинковаться с сетью. Кстати, у Вас очень устаревший phy. Даже ST от него отказалась.
--------------------
|
|
|
|
|
Jan 29 2016, 15:04
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 13-04-09
Пользователь №: 47 609

|
Цитата(pitt @ Jan 29 2016, 17:16)  По-моему, Ваш вопрос - это совершенно иная тема. Тем не менее, а Вы просто используете чей-то код или это свой? В любом случае, почитайте регистры phy Код ... ST802RT1_REG_XSTAT, // 17 - Receiver configuration information and interrupt status register ST802RT1_REG_XRCNT, // 18 - Receiver event interrupts register ... Может быть не всегда успевает слинковаться с сетью. Кстати, у Вас очень устаревший phy. Даже ST от него отказалась. Спасибо за наводку, пока собираю информацию. Я пример от ST использую, накопал, что при инициализации в отсутствии линка в течении определенного таймаута (примерно 5 сек.) досрочно завершается иниицализация Ethernet и что-то по DMA. Пока сделал на каждый этап инициализации и работы программы свою комбинация свечения светодиодов, что бы можно было определить состояние. Гляну, что там получится, вторым гляну, что там с этим линком, в принципе, нет линка, стоит уйти в сброс и попытаться инициализироваться снова. Плохо, что в прототип не заложили uart, что бы обслуживающий персонал мог логировать самостоятельно, еще проблема в том, что мне не разрешают дергать питание, что бы воспроизвести проблему чаще, утром - включили, вечером - выключили. А проблема проявляется именно когда включается все, среди дня многократно дергаю питание прототипа и ничего. По phy, использовали такой как стоял в плате от терры, решили в первом прототипе не экспериментировать, потому, что опыта ноль было. Сейчас хочется поставить с возможностью подключения внешнего сигнала (25МГц с MCO микроконтроллера), что посоветуете? P.S. Обманул по задержке при отсутствии линка, секунд 15 получается с момента старта программы до получения ошибки от инициализации Ethernet.
Сообщение отредактировал Neborak - Jan 29 2016, 16:05
|
|
|
|
Сообщений в этой теме
pitt STM32 Eth. Обработка ошибок Dec 31 2015, 04:41 SasaVitebsk У меня достаточно объёмный проект. Включая Etherne... Jan 1 2016, 08:44 scifi Цитата(pitt @ Dec 31 2015, 07:41) Возника... Jan 1 2016, 09:13 pitt Всех с Новым Годом!
Могу добавить к перечню о... Jan 1 2016, 15:50 scifi Цитата(pitt @ Jan 1 2016, 18:50) Могу доб... Jan 1 2016, 17:20 pitt Я сообщаю об ошибках, которые зафиксировал сам, а ... Jan 1 2016, 18:46 scifi Цитата(pitt @ Jan 1 2016, 21:46) Я сообща... Jan 2 2016, 05:56  pitt Цитата(scifi @ Jan 2 2016, 00:56) Ну, еже... Jan 2 2016, 15:50 pitt Так таки никто и не? Jan 8 2016, 13:09 pitt Так вот:
AIS по причине FBES, а значение EBS: 3
Ци... Jan 10 2016, 04:54 scifi Цитата(pitt @ Jan 10 2016, 07:54) AIS по ... Jan 23 2016, 19:41  pitt Цитата(scifi @ Jan 23 2016, 14:41) Вангую... Jan 23 2016, 21:54 pitt Какие действия надо предпринять чтобы сбросить бит... Jan 16 2016, 17:13 pitt Уваяжаемые коллеги!
Смею обратиться к вас с п... Jan 23 2016, 15:27   scifi Цитата(Neborak @ Jan 29 2016, 18:04) По p... Jan 29 2016, 17:44   pitt Цитата(Neborak @ Jan 29 2016, 10:04) Спас... Jan 30 2016, 01:04 Neborak Ребята, выявил причину проблем (не до конца), в мо... Feb 23 2016, 15:01
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|