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