2007-08-21 10:09 PM
2011-05-17 12:44 AM
Hi All
This is probably more a question to do with the STE100P PHY which is used on the STR912X development boards than the ARM9 itself, but.. I don't seem to be able to get it to interrupt. The ID is read correctly and it is being configured with all interrupts enabled, but the interrupt output MDINT remains at logic '0' when the LINK LED output changes (connecting and disconnecting the LAN cable). In the ST library code I couldn't find any interrupt use to check anything. Reading the interrupt output description I see this note: ''Requires MDC edge to output''. Can it be stating that the interrupt output only changes when there are clocks on the MDC input? This would mean that the STR912F needs to generate these which it normally only does when reading status information or writing the configuration. Or is there a method of leaving output clocks running? Or am I way off and there is another explanation? Any ideas ? Regards Mark Butcher www.uTasker.com2011-05-17 12:44 AM
I hacked the uIP demo (which is not interrupt driven, but polled) to work with interrupts and I didn't have any problems.
ENET_IER_bit.RX_CURR_DONE_EN = 1; VIC_Config(ENET_ITLine, (VIC_ITLineMode)VIC_IRQ, 14); // wire ENET interrupt to the IRQ handler VIC_ITCmd(ENET_ITLine, ENABLE); //enable the ENET interrupt was basically it.2011-05-17 12:44 AM
Hi lakata
I don't have problem with the ENET interrupt, this is fine, but with the PHY interrupt. This is connected from the external STE100P via a wakeup port. (eg. on the REva daughter board it is EXTINT15 P5.7) but there is no physical interrupt arriving there. Can you identify link up / down in your project? It is necessary to configure the PHY to generate interrupts on link status changes (or other events such as fault conditions or autonegotiation state changes), configure the wake up port to respond to a positive edge and then read the PHY's status register to get the interrupt cause when the interrupt arrives. I have configured all interrupts but can't get it to set its output high. Any ideas? Regards Mark