Кто -нибудь экспериментировал/использовал Mac Ethernet, встроенный в STM32F407?

Ddrown
Солнце 22 мая 2016 г., 19:08
Я использую для Ethernet непосредственно на MCU (не доски Wiznet или ENC28J60). У STM32F407 есть это, но у меня есть только доска Discovery F4. Я видел, как люди подключают Phy DP838448, как беспорядок с такими проводами, как это:
IMG_20160521_210009-20P.JPG
IMG_20160521_210009-20P.JPG (155.56 киб) просмотрено 1384 раз

Ddrown
Пн 23 мая 2016 г., 2:48
Обновление: я переместил проводку для Mdio Автобус (представьте себе ~ 2.5 МГц I2C Bus, чтобы получить/установить регистры PHY), и теперь моя ссылка стабильная! Но мои данные не надежны. Я подозреваю, что часы на 50 МГц получают повсюду из-за послания. Я вижу это на автобусе MDIO, что его не должно быть там.

Rogerclark
Пн 23 мая 2016 г., 4:50 утра
Я не думаю, что кто -нибудь изучил это.

Каждый использует внешние интерфейсы (поскольку они обычно используют F103, который не имеет на борту Ethernet)

Ddrown
Пн 23 мая 2016 г., 5:03
Rogerclark написал:Я не думаю, что кто -нибудь изучил это.

Каждый использует внешние интерфейсы (поскольку они обычно используют F103, который не имеет на борту Ethernet)

Rogerclark
Пн 23 мая 2016 г., 14:20
Дан

Прохладный...

Для сетевых соединений я подозреваю, что многие люди просто используют Wi -Fi.

Я обычно подключаю ESP8266 к F103 через HW Serial 1 и пишу пользовательский код на ESP8266, чтобы отправить или получать любые данные, которые мне нужны.
(Однако это работает только в том случае, если вы отправляете небольшие объемы данных)

Стевех
Пн 23 мая 2016 г. 16:42
Я помню, что после многих лет у Mbed никогда не было жизнеспособной стабильной версии Lwip для бортовой Mac '1768 Chip Mac. Среди других проблем с бортовым слоем 1.5, 2 и 3 Эфирные и TCP/IP, являются зависимостью от потоков или цикла опроса.

Для Wired Ethernet он наметы на то, что у нас на уровне проще, слоя TCP/IP/Mac, как в чипах Wiznet Chips/Poards.

Я подозреваю, что ST STD Peripheral Lib и Hal Lib для TCP/IP с бортовым Mac использует что-то вроде Lwip, и это «как есть» в надежности. Я скажу, что адаптация ST Fatfs из Chanfs очень надежна. Не знаю об их стеке TCP/IP, хотя.

Wi -Fi, кажется, сейчас вещь, для встроенного.

Mrburnette
Пн 23 мая 2016 г., 23:29
Стевех написал: <...>
Wi -Fi, кажется, сейчас вещь, для встроенного.

Ddrown
Вторник 24 мая 2016 г., 2:30 утра
Стевех написал:Я помню, что после многих лет у Mbed никогда не было жизнеспособной стабильной версии Lwip для бортовой Mac '1768 Chip Mac. Среди других проблем с бортовым слоем 1.5, 2 и 3 Эфирные и TCP/IP, являются зависимостью от потоков или цикла опроса.

Для Wired Ethernet он наметы на то, что у нас на уровне проще, слоя TCP/IP/Mac, как в чипах Wiznet Chips/Poards.

Я подозреваю, что ST STD Peripheral Lib и Hal Lib для TCP/IP с бортовым Mac использует что-то вроде Lwip, и это «как есть» в надежности. Я скажу, что адаптация ST Fatfs из Chanfs очень надежна. Не знаю об их стеке TCP/IP, хотя.

Touseef
SAT 04 июня 2016 г. 10:21
Привет! Я смотрел видео Роджера на yourtube "https: // www.YouTube.com/watch?v = -zwgnytgt8m«Он сказал, что« доска подключена через USB -серийный адаптер, который связан с Serial1 на STM32."Под этим что он имеет в виду? Означает ли он, что он использует простой USB -кабель для подключения STM32 с ПК или использование аппаратного устройства для подключения STM32 с ПК.

Как я использую STM32 Discovery F407 Discovery с Arduino 1.5.8 с Windows 8 и при загрузке той же программы I2C она показывает мне ошибку:

"Не удается запустить программу" {время выполнения.инструменты.ARM-None-Eabi-GCC.Путь}/bin/arm-none-eabi-g ++ ": createprocess error = 2, система не может найти указанный файл".

Не могли бы вы сообщить мне причину этой проблемы, так как мне это действительно нужно срочно.

В ожидании вашего любезного ответа.

С уважением,
Touseef

Rogerclark
SAT 04 июня 2016 г. 10:43
Это старое видео

Используйте версию IDE версию 1.6.9 как 1.5.8 больше не поддерживается

Touseef
Сб, 04 июня 2016 г., 11:14
Я попробовал это с 1.6.9 А вот ошибка:

C: \ arduino \ arduino -builder -dump -prefs -logger = machine -hardware "c: \ arduino \ hardware" -hardware "c: \ users \ touseef \ appdata \ local \ arduino15 \ packages" -tools "c: \ Arduino \ tools -builder "-tools" c: \ arduino \ harpware \ tools \ avr "-tools" c: \ users \ touseef \ appdata \ local \ arduino15 \ packages " -built -in -librares" c: \ arduino \ Библиотеки "-libraries" c: \ users \ touseef \ documents \ arduino \ библиотеки "-fqbn = arduino_stm32: stm32f4: discovery_f407 -ide -version = 10609 -build -path" c: \ users \ touseef \ appdata \ \ temp \ temp \ temp \ temp \ temp \ temp \ temp \ BUILD4DC6BE27FBA7112C8A9CC5DF7190763E.tmp "-warnings = none -prefs = build.warn_data_percentage = 75 -verbose "c: \ users \ touseef \ appdata \ local \ temp \ arduino_modified_sketch_658121 \ sketch_jun04a.Ино "
C: \ arduino \ arduino -builder -compile -logger = machine -hardware "c: \ arduino \ hardware" -hardware "c: \ users \ touseef \ appdata \ local \ arduino15 \ packages" -tools "c: \ arduino \ Инструменты -Builder "-tools" C: \ arduino \ ardware \ tools \ avr "-tools" c: \ users \ touseef \ appdata \ local \ arduino15 \ packages " -built -in -libraries" c: \ arduino \ libraries " -Libraries "c: \ users \ touseef \ documents \ arduino \ библиотеки" -fqbn = arduino_stm32: stm32f4: discovery_f407 -ide -version = 10609 -build -path "c: \ users \ touseef \ appdata \ local \ tempaR4dc6be27fba7112.c8a9fa7112.c8a9 -appdata \ local \ temp4dc6bba7112.tmp "-warnings = none -prefs = build.warn_data_percentage = 75 -verbose "c: \ users \ touseef \ appdata \ local \ temp \ arduino_modified_sketch_658121 \ sketch_jun04a.Ино "
Предупреждение: категория '' в библиотеке RTClock не действителен. Настройка в «Без категории»
Предупреждение: категория '' в библиотеке SPI не действительна. Настройка в «Без категории»
Предупреждение: категория '' в библиотеке uipethernet не действительна. Настройка в «Без категории»

Предупреждение: платформа.TXT от Core 'STM32F4 Poards' содержит устаревший рецепт.АР.pattern = "{компилятор.Путь} {компилятор.АР.cmd} "{компилятор.АР.флаги} {компилятор.АР.extra_flags} "{build.PATH}/{archive_file} "" {object_file} ", автоматически преобразуется в рецепт.АР.pattern = "{компилятор.Путь} {компилятор.АР.cmd} "{компилятор.АР.флаги} {компилятор.АР.extra_flags} "{archive_file_path}" "{object_file}". Подумайте об обновлении этого ядра.
"C: \ users \ touseef \ appdata \ local \ arduino15 \ packages \ arduino \ tools \ arm-none-eabi-gcc \ 4.8.3-2014q1/bin/arm-none-eabi-g ++ "-c -g -os -w -ffunction-sections -fdata-section -Exceptions -dboard_discovery_f407 -dvect_tab_base -derror_led_port = gpiod -derror_led_pin = 14 -w -x c ++ -e -cc -mcpu = cortex -m4 -df_pu = 168000000l -darduino = 10609 -dardard_stmaveremaine_stmaina_stm32 M32F4 -DMCU_STM32F406VG -MTHUMB -DSTM32_HIGH_DENCEITY -DSTM32F2 - Dstm32f4 -dboard_discovery_f4 -mthumb -d__stm32f4__ "-ic: \ arduino \ ardware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple" -ic: \ arduino \ hardware \ arduino_stm32 \ stm32f4 Ино \ arphieware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple/usbf4/stm32_usb_device_library/core/inc -ic: \ arduino \ hardware \ arduino_stm32 \ stm32f4 \ cores/libmaple/usbf432 \ -Ic:\ Arduino \ arpware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple/usbf4/stm32_usb_otg_driver/inc -ic: \ arduino \ ardware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple/usbf4/vcp432f4 \ cores \ cores \ cores \ cores \ cores \ cores \ Arduino_stm32 \ stm32f4 \ cores \ maple "" -ic: \ arduino \ ardware \ arduino_stm32 \ stm32f4 \ variants \ discovery_f407 "" c: \ users \ touseef \ appdata \ loc.tmp \ sketch \ sketch_jun04a.Ино.cpp "-o" nul "
"C: \ users \ touseef \ appdata \ local \ arduino15 \ packages \ arduino \ tools \ arm-none-eabi-gcc \ 4.8.3-2014q1/bin/arm-none-eabi-g ++ "-c -g -os -w -ffunction-sections -fdata-section -Exceptions -dboard_discovery_f407 -dvect_tab_base -derror_led_port = gpiod -derror_led_pin = 14 -w -x c ++ -e -cc -mcpu = cortex -m4 -df_pu = 168000000l -darduino = 10609 -dardard_stmaveremaine_stmaina_stm32 M32F4 -DMCU_STM32F406VG -MTHUMB -DSTM32_HIGH_DENCEITY -DSTM32F2 - Dstm32f4 -dboard_discovery_f4 -mthumb -d__stm32f4__ "-ic: \ arduino \ ardware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple" -ic: \ arduino \ hardware \ arduino_stm32 \ stm32f4 Ино \ arphieware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple/usbf4/stm32_usb_device_library/core/inc -ic: \ arduino \ hardware \ arduino_stm32 \ stm32f4 \ cores/libmaple/usbf432 \ -Ic:\ Arduino \ arpware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple/usbf4/stm32_usb_otg_driver/inc -ic: \ arduino \ ardware \ arduino_stm32 \ stm32f4 \ cores \ maple/libmaple/usbf4/vcp432f4 \ cores \ cores \ cores \ cores \ cores \ cores \ Arduino_stm32 \ stm32f4 \ cores \ maple "" -ic: \ arduino \ ardware \ arduino_stm32 \ stm32f4 \ variants \ discovery_f407 "" c: \ users \ touseef \ appdata \ loc.tmp \ sketch \ sketch_jun04a.Ино.cpp "-o" c: \ users \ touseef \ appdata \ local \ temp \ build4dc6be27fba7112c8a9cc5df7190763e.tmp \ preproc \ ctags_target_for_gcc_minus_e.CPP "
C: \ users \ touseef \ appdata \ local \ temp \ arduino_modified_sketch_658121 \ sketch_jun04a.INO: 30: 18: фатальная ошибка: проволока.H: нет такого файла или каталога

#включать <Проволока.час>

^

Компиляция завершена.

Статус выхода 1
Компиляция ошибок для платы STM32 Discovery F407.

Touseef
SAT 04 июня 2016 г., 11:45
Я попробовал 1.6.9, но он еще загружается и показывает другой вид ошибки:
#включать <Проволока.час>

^

Компиляция завершена.

Статус выхода 1
Компиляция ошибок для платы STM32 Discovery F407.

Martinayotte
Сб, 04 июня 2016 г. 15:23
Частично моя вина: я вручную скопировал библиотеку проводов из F1 в F4 более года назад, но я никогда не совершал ее.

Touseef
Сб, 04 июня 2016 г., 21:48
Martinayotte написал:Частично моя вина: я вручную скопировал библиотеку проводов из F1 в F4 более года назад, но я никогда не совершал ее.

Martinayotte
Солнце 05 июня 2016 12:53
Библиотека проволоки была скопирована, она не имеет ничего общего с серийным Com1.
SerialMonitor не мог открыть порт по какой -то другой причине.
Вы уверены, что это на com1 ? Вы смотрели на DeviceManager ?

Аккакка
Солнце 05 июня 2016 г. 14:04
Я разработал свой стек ETH от ARP до MQTT на WebSocket с моим Devboard STM32F407 (я купил его у WaveShare)
Я использовал конфигурацию RMII (это конфигурация Devboard HW)
С моим стеком ETH я разработал термостат ETH и, кажется, работает должным образом.

Я использовал ту же доску Phy, я думаю, что проблема может быть длинными проводами.
Вы использовали прошивку библиотеки ST для подключения Mac-Phy ?

Основная проблема с интерфейсом Ethernet - MAC -адрес. Для хоббистского проекта вы можете использовать случайное уникальное число, но для коммерческого продукта я думаю, что вы должны купить OUI.

Ddrown
Солнце 05 июня 2016 г. 18:30
Акчакка написал:Я разработал свой стек ETH от ARP до MQTT на WebSocket с моим Devboard STM32F407 (я купил его у WaveShare)
Я использовал конфигурацию RMII (это конфигурация Devboard HW)
С моим стеком ETH я разработал термостат ETH и, кажется, работает должным образом.
Я использовал ту же доску Phy

Аккакка
Солнце 05 июня 2016 г., 8:25 вечера
У меня есть две prblems
...Написание на английском языке...
И прошло время с тех пор, как я написал этот драйвер....Но я стараюсь помочь тебе

Я буду изучать STM32F4XX_HAL_ETH.в

В моей задаче Ethernet NIC у меня есть эти штаты:
моя задача опрашивает каждые 100 мс статус PHY
Вы можете сделать ту же чек? Если ссылка низкого уровня стабильна, проблема не HW.

(Код содержит также мои VARS, и мои DEFS, я думаю, не очень ясно, чтобы читать, но просите о помощи)
case ETH_NIC_LINK6: if (!ETH_PHY_READ_REGISTER(ETH_PHY_ADDRESS, PHY_SR)) break ; eth_nic.state = ETH_NIC_LINK7 ; break ; case ETH_NIC_LINK7: eth_nic.state = ETH_NIC_LINK8 ; if ((ETH->MACMIIDR & PHY_SR_LINKED_STATUS)) { if (eth_nic.Flinked == 0) { eth_nic.mac_cfg.FullDuplex = (ETH->MACMIIDR & PHY_SR_DUPLEX_STATUS) ? 1 : 0 ; eth_nic.mac_cfg.Speed100M = (ETH->MACMIIDR & PHY_SR_SPEED_STATUS ) ? 0 : 1 ; ETH_MAC_Config(ð_nic.mac_cfg) ; ETH_DMA_Init() ; ETH_MAC_enable() ; eth_nic.Flinked = 1 ; } // else nothing to do } else { if (eth_nic.Flinked == 1) { eth_nic.Flinked = 0 ; eth_nic.state = ETH_NIC_LINK0; } } break ; case ETH_NIC_LINK8: if (synctimer_100MS_timeout()) { eth_nic.state = eth_nic.Flinked ? ETH_NIC_LINK6 : ETH_NIC_LINK4 ; }

Touseef
Пн, 06 июня 2016 12:39
Martinayotte написал:Библиотека проволоки была скопирована, она не имеет ничего общего с серийным Com1.
SerialMonitor не мог открыть порт по какой -то другой причине.
Вы уверены, что это на com1 ? Вы смотрели на DeviceManager ?

Ddrown
Втюд 07 июня 2016 г. 2:05 утра
Акчакка написал:У меня есть две prblems
...Написание на английском языке...
И прошло время с тех пор, как я написал этот драйвер....Но я стараюсь помочь тебе

Стивестронг
Вт 21 июня 2016 г. 8:44
Я не могу понять, почему он не показывает мне ни одного варианта порта Под Win10 я использую следующий трюк в диспетчере устройств:
- Отключить устройство
- включить устройство
Переоснащением аппаратного обеспечения порт USB будет перечислен как Com-порт.