STM32F4+LAN8720
Jaroslav Buchta
jaroslav.buchta na hascomp.cz
Neděle Leden 15 19:43:25 CET 2017
Na netu je spousta zdroju, ted se mi to nechce hledat ale pouzil jsem
projekt SOEM. Da se stahnout jak pro win, tak pro STM. Nejdriv jsem to
pouzival na PC pod WIN, jede pres WinPCap a docela dobre, samozrejme je
problem s casovanim. Rychlostni rizeni fungovalo OK, ale ukazala se
potreba polohoveho rizeni, servo totalne zblbne kdyz nema pravidelnou
davku PDO s toleranci do 1ms, tohle konkretne zblbne uplne dokonale,
zapomene polohu a chova se naprosto destruktivne ;-)
S pouzitim MCU jde casovani zvladnout bez problemu, EC pakety filtruju
rovnou na nejnizsi urovni pro SOEM, zbytek jde do LWIP. PDO posilam z ISR.
Rozdvojka me taky napadla ale nikdy jsemto nezkousel, jak se na to win
budou tvarit. Jsou k siti dost agresivni, jak se na to neco pripoji.
IMHO to bude nejaka ptakovina v nastaveni. Samozrejme prima komunikace
PC<->ECAT funguje take.
Dne 15.01.2017 v 19:32 Petr Labaj napsal(a):
> A Vašim problémem asi nepomůžu, ale zaujalo mě, že máte komunikaci
> EtherCATem s masterem na STM32F4.
> To je Vaše práce? Pokud ano, tak klobouk dolů. Nebo jste nějak
> přeportoval
> master stack třeba od IgH? Pokud ano, tak rovněž klobou dolů.
> Napište o tom prosím něco víc, pokud můžete.
>
> A to Vám nevysílá master nebo neodpovídá slave?
> Udělal bych si rozdvojku a připojil 2 síťové karty na monitorovacím
> PC, kde
> by na jedné do páru Rx šlo Tx a na druhé Rx z toho STM32F4.
> Kdysi jsem to tak provozoval, a fungovalo to.
>
> Autonegotiation bych vypnul a nastavil to natvrdo na 100 Mbit/s Full
> duplex.
>
> PL
>
> ******************************
>
> Dne 15.1.2017 v 18:53 Jaroslav Buchta napsal(a):
>> 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?
>
> _______________________________________________
> HW-list mailing list - sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
Další informace o konferenci Hw-list