1921ВК028 Ethernet 100 Мбит

32-разрядные микроконтроллеры разработки АО "НИИЭТ"

Модераторы: ea, dav, bkolbov, Alis, pip, _sva_

Ответить
Алексей Т
Сообщения: 1
Зарегистрирован: 01 окт 2025, 12:23
Предприятие: АО "Концерн "Океанприбор"

1921ВК028 Ethernet 100 Мбит

Сообщение Алексей Т »

Здравствуйте, исследую возможности 1921ВК028 в рамках отладочной платы. Несколько лет назад уже упоминалось в одном посте: viewtopic.php?p=40421#p40421, о проблеме работы примера lwip_helloworld, который корректно работает только при выставленной скорости в 10 Мбит. Она же сохраняется в примере lwip_httpd.
На деле при скорости 100 Мбит данные с ПК на 1921ВК028 приходят, в обратную сторону нет. При этом с точки зрения микроконтроллера ошибки не возникает, штатная передача как и при пониженной скорости.
Также есть вопросы по работе регистра SMII. В нем всегда 0. Он read only, поэтому не понимаю в какой ситуации он обновляется.
ea
Администратор
Сообщения: 127
Зарегистрирован: 10 окт 2014, 09:08

Re: 1921ВК028 Ethernet 100 Мбит

Сообщение ea »

Алексей Т писал(а): 01 окт 2025, 16:27 Здравствуйте, исследую возможности 1921ВК028 в рамках отладочной платы. Несколько лет назад уже упоминалось в одном посте: viewtopic.php?p=40421#p40421, о проблеме работы примера lwip_helloworld, который корректно работает только при выставленной скорости в 10 Мбит. Она же сохраняется в примере lwip_httpd.
На деле при скорости 100 Мбит данные с ПК на 1921ВК028 приходят, в обратную сторону нет. При этом с точки зрения микроконтроллера ошибки не возникает, штатная передача как и при пониженной скорости.
Также есть вопросы по работе регистра SMII. В нем всегда 0. Он read only, поэтому не понимаю в какой ситуации он обновляется.
Здравствуйте! Примеры из репозитория скорректировали.

Работоспособность примеров по ETH для 1921ВК028 "projects/NIIET-EVAL-K1921VK028/lwip_helloworld" и "projects/NIIET-EVAL-K1921VK028/lwip_httpd" из репозитория https://gitflic.ru/project/niiet/k1921vkx_sdk проверили на нашей плате макетно-отладочной.

Использовали IDE Keil версии 5.38 с дополнительно установленным компилятором ArmCompiler5Last. После установки компилятора версии 5 в настройках Keil Project->Manage->"Project Items" на второй вкладке, справа "Use арм Compiler" выбрали "..." для указания каталога, в который установили ArmCompiler5Last-compiler.
Если использовать компилятор версии 6 могут возникнуть проблемы с использованием RETARGET, т.е. перенаправления стандартного потока ввода вывода в uart.

После загрузки проектов в микроконтроллер, подключили через кабель патч корд к ПК. Открыли командную строку CMD и ввели команду ping 192.168.5.48.
Наблюдали успешный обмен при загрузке проектов "projects/NIIET-EVAL-K1921VK028/lwip_helloworld" и "projects/NIIET-EVAL-K1921VK028/lwip_httpd".
Егоркер
Сообщения: 21
Зарегистрирован: 10 янв 2025, 11:53
Предприятие: НВП Протек

Re: 1921ВК028 Ethernet 100 Мбит

Сообщение Егоркер »

Здравствуйте, а работоспособность вашей сборки LwIP для 1921vk028 под 6 версию компилятора проверяли? Просто сейчас столкнулся с попыткой встроить пример lwip_helloword в свой проект, он писался под 6 компилятор, и в некоторых моментах lwip выдает ошибки, там не определена переменная порядка байт, это самое главное, и ещё по мелочи. Но даже после пересборки без ошибок под 6 компилятор вылезают странности, например lwip может начать слать пакеты со сдвигом в пару байт. У меня был случай, что первые два байта берутся из других переменных. Причем если поменять названия переменных, чтобы, их расположение в памяти поменялось, lwip начнет работать правильно. Все изменения вносил в проект helloword из репозитория, буквально обычная инициализация сторонних переменных ломает lwip. Даже не пойму, просто под 6 компилер ваша сборка не адаптирована, то ли у меня баги какие-то. Просьба подсказать, в чем причина может быть.
ea
Администратор
Сообщения: 127
Зарегистрирован: 10 окт 2014, 09:08

Re: 1921ВК028 Ethernet 100 Мбит

Сообщение ea »

Егоркер писал(а): 17 июн 2026, 10:47 Здравствуйте, а работоспособность вашей сборки LwIP для 1921vk028 под 6 версию компилятора проверяли? Просто сейчас столкнулся с попыткой встроить пример lwip_helloword в свой проект, он писался под 6 компилятор, и в некоторых моментах lwip выдает ошибки, там не определена переменная порядка байт, это самое главное, и ещё по мелочи. Но даже после пересборки без ошибок под 6 компилятор вылезают странности, например lwip может начать слать пакеты со сдвигом в пару байт. У меня был случай, что первые два байта берутся из других переменных. Причем если поменять названия переменных, чтобы, их расположение в памяти поменялось, lwip начнет работать правильно. Все изменения вносил в проект helloword из репозитория, буквально обычная инициализация сторонних переменных ломает lwip. Даже не пойму, просто под 6 компилер ваша сборка не адаптирована, то ли у меня баги какие-то. Просьба подсказать, в чем причина может быть.
Добрый день.
Регистр SMII всегда содержит значение 0, т.к. режим SMII не поддерживается контроллером Ethernet, входящем в состав 1921ВК028. Данный регистр уберем из описания и файлов проекта.

Для получения статуса линии необходимо считывать значения регистров внешнего PHY по интерфейсу MDIO.

Примеры с Eth в репозитории проверим, и при необходимости внесем корректировки. Следите за обновлением наших репозиториев.
ea
Администратор
Сообщения: 127
Зарегистрирован: 10 окт 2014, 09:08

Re: 1921ВК028 Ethernet 100 Мбит

Сообщение ea »

Алексей Т писал(а): 01 окт 2025, 16:27 Здравствуйте, исследую возможности 1921ВК028 в рамках отладочной платы. Несколько лет назад уже упоминалось в одном посте: https://forum.niiet.ru/viewtopic.php?p=40421#p40421, о проблеме работы примера lwip_helloworld, который корректно работает только при выставленной скорости в 10 Мбит. Она же сохраняется в примере lwip_httpd.
На деле при скорости 100 Мбит данные с ПК на 1921ВК028 приходят, в обратную сторону нет. При этом с точки зрения микроконтроллера ошибки не возникает, штатная передача как и при пониженной скорости.
Также есть вопросы по работе регистра SMII. В нем всегда 0. Он read only, поэтому не понимаю в какой ситуации он обновляется.
Добрый день.
Регистр SMII всегда содержит значение 0, т.к. режим SMII не поддерживается контроллером Ethernet, входящем в состав 1921ВК028. Данный регистр уберем из описания и файлов проекта.

Для получения статуса линии необходимо считывать значения регистров внешнего PHY по интерфейсу MDIO.

Примеры с Eth в репозитории проверим, и при необходимости внесем корректировки. Следите за обновлением наших репозиториев.
Егоркер
Сообщения: 21
Зарегистрирован: 10 янв 2025, 11:53
Предприятие: НВП Протек

Re: 1921ВК028 Ethernet 100 Мбит

Сообщение Егоркер »

Хорошо, спасибо за ответ.
Ответить

Вернуться в «32-разрядные микроконтроллеры»