W5100/W5200 speed increase

DynamoBen

Super Moderator
I'm looking for ways to speed things up in this driver, and the W5100 driver. The bottleneck at this point appears to be the spin code. Anyone interested in moving some of the common spin routines into ASM?
 
Last edited:
Re: W5200_Driver - Parallax Object of the week

I REALLY hate it when this damned thing times out and logs me off while I'm drafting a post. Usually I save it, but not this time.

I'll try again when my patience level comes up a notch.
 
Re: W5200_Driver - Parallax Object of the week

I think the TX/RX routines that are currently in spin would benefit the most by being ASM.
 
Re: W5200_Driver - Parallax Object of the week

What I was trying to say last time before the post evaporated, I have managed to get another 10-12% speed boost from the read loop in the driver. What I did (in ReadMulti) was:

Move the "mov frqa,frq10 instruction outside of the :bytes loop
Put a copy of rSPI inside of the :bytes loop to eliminate the CALL and RET

These 2 changes reduce the byte loop from 26 to 23 instructions. Also, at 23 instructions, the timing is such that re is no wait for the hub when the WRBYTE comes up.
 
Re: W5200_Driver - Parallax Object of the week

For those that are interested in why I want to up the performance, look here for what others have done.
 
Back
Top