Home/Support/Support Forum/Rabbit 6600W clocks required for Ethernet/Wifi use?
Welcome to Digi Forum, where you can ask questions and receive answers from other members of the community.

Rabbit 6600W clocks required for Ethernet/Wifi use?

0 votes
Is it possible to estimate the clocks used up by the Ethernet and Wifi functionality on the RCM6600W (the worst case number taken up by ISRs which is then unavailable for use in other ISRs)? I assume it would depend on how much data was being sent/received.

I'm trying to gauge how much room exists for ISRs if all systems are running simultaneously so I can pick a safe cap for serial baud rates. I'm currently working under the (baseless) assumption that half of all clocks should be set aside for network and system functions. But perhaps it's significantly less than that, or more?
asked Mar 19, 2017 in Rabbit by casey New to the Community (18 points)
edited Mar 20, 2017 by casey

Please log in or register to answer this question.

1 Answer

0 votes
Your baud rate limit might be determined by the maximum time spent with interrupts disabled, along with your ISR execution times (including saving/restoring registers used by the ISR).

I can't help with providing hard data on how much time you'll have to service serial ISRs while running Ethernet and/or Wi-Fi code. Up to a point, you'll just see slower data rates on the network connections.

You might just have to write a torture test that floods the serial ports at your maximum baud rate while trying to maintain a TCP connection over both Wi-Fi and Ethernet. Use WPA2 Enterprise for the Wi-Fi to incur additional overhead during the testing.
answered Mar 24, 2017 by TomCollins Veteran of the Digi Community (1,362 points)
Interesting. My concern was missing a character on the serial port, but it sounds like the Wifi/Ethernet runs at priority 0, and so any interrupts will take priority over processing network data? If so that's great news. If not, will the Ethernet/Wifi still largely function if higher priority code blocks it?
I believe it will as long as your serial ISR just pushes the character into a circular buffer and gets out.  I would recommend using the existing ISR code to start, and only try to improve on it if you find it lacking.  I think I've worked with that code in the past, and recall it being efficient and well-written.
...