Info regarding use of IRQ


I’ve been successfully able to establish a connection between the W5500 and an AT32UC3. Worked nearly out of the box (after discovering a wiring error caused by myself).

I was able to port the loopback example from the Wiki successfully and establish a connection. Now I was wondering what needs to be done to make use of the interrupt the W5500 provides (hoping that I can reduce the amount of traffic on SPI between the UC3 and the W5500 since I have some other devices as well).

Yet, I was unable to find such information in the Wiki. I only implemented the read, write, select and deselect functions for my controller (which was easy). Are there callback functions for using IRQ as well, which do I need to implement and what are they supposed to do?

I saw a function named enter/exit critical section. I guess these are supposed to disable/enable IRQs or similar. Are these mandatory?

We were not ready to IRQ method and we didn’t recommended that a data was sent/received in IRQ routine.
We recomends IRQ routine just check the status of W5500 as IR & Sn_IR.

Thank you.

Hi midnightcow

I understand that data must not be sent or received in the interrupt handler. I do not want/need to do this.

In my program main loop, I have the tcp_loopback part which continuously performs SPI transfers. What I meant was not to require these transfers until really something has changed. Can this be achieved with the IRQ signal line? So can I say that if a transfer needs to be performed, the IRQ line will inform me, I will set a flag and then (some time shortly after in my main loop) I will initiate the SPI transfer? Or does the IRQ line only signal specific events and I will need to use polling in any case.

I know what you want.
It is possible. But It is not ready to be provide with sample code of W5500.
You can refer to W5100 driver code on [url][/url]
You can know how to handle irq of WIZnet chips.

Thank you.

Do you plan on adding this feature to the W5500 driver?

fyi: I made a Altium library (schematic + footprint + 3D) for the W5500, after our internal review I can send it you if you want to have it (plus some screenshots how it looks so you can review it as well).

I don’t have enough time but We have a plan to upgrade the driver of W5500 in furture.

If you do not mind, share the Altium library here for other users plz.

Thank you.


I attached the Altium library as promised. Use at own risk. (65.2 KB)

I could only attach 3 files, therefore added 3D view here

I hope that your altium library can help other user.
Thanks a lot.