STM32F4+LAN8720
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Neděle Leden 15 18:53:43 CET 2017
Mam takovy divny problem.
STM realizuje ETHERCAT komunikaci s driverem, funguje to hezky, kdyz to
jede pres switch ale komunikace je mrtva, kdyz propojim zarizeni
naprimo. Pres switch je samozrejme problem, ze ty broadcasty po 5ms
zasekaji komunikaci ostatnich zarizeni (jeste je pripojeno PC a PLC) Bez
switche je problem, ze nemuzu sledovat komunikaci.
Nevim jak zjistit, kde je problem, zkousel jsem ruzne mody ale nic,
ethernet je nastaven takto:
ETH_InitStructure.ETH_AutoNegotiation = ETH_AutoNegotiation_Enable;
ETH_InitStructure.ETH_LoopbackMode = ETH_LoopbackMode_Disable;
ETH_InitStructure.ETH_RetryTransmission =
ETH_RetryTransmission_Enable; // ETH_RetryTransmission_Disable;
ETH_InitStructure.ETH_AutomaticPadCRCStrip =
ETH_AutomaticPadCRCStrip_Disable;
ETH_InitStructure.ETH_ReceiveAll = ETH_ReceiveAll_Disable;
ETH_InitStructure.ETH_BroadcastFramesReception =
ETH_BroadcastFramesReception_Enable;
ETH_InitStructure.ETH_PromiscuousMode = ETH_PromiscuousMode_Disable;
ETH_InitStructure.ETH_MulticastFramesFilter =
ETH_MulticastFramesFilter_Perfect;
ETH_InitStructure.ETH_UnicastFramesFilter =
ETH_UnicastFramesFilter_Perfect;
#ifdef CHECKSUM_BY_HARDWARE
ETH_InitStructure.ETH_ChecksumOffload = ETH_ChecksumOffload_Enable;
#endif
(ETH_RetryTransmission_Enablej jsem nastavil, aby mi to STM komunikovalo
i pres Modbus, jinak je to samy vypadek po spusteni PDO, to by
samozrejme pri primem propojeni nebylo mozne a vzal bych to pres COM)
Zbezne jsem prohledl registry PHY a AutoNegotiation je dokonceno OK,
100M full duplex, Link, ledky sviti i blikaji, asi vse jak ma byt...
Nenapada nekoho, na co se zamerit?
Další informace o konferenci Hw-list