Results 1 to 5 of 5

Thread: W5100/W5200 speed increase

  1. #1
    Join Date
    Jun 2007
    Location
    WI
    Posts
    2,611
    Post Thanks / Like

    Default W5100/W5200 speed increase

    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 by DynamoBen; 03-21-2013 at 03:11 PM.
    DMX, RDM, ArtNet, sACN, and RDMnet...the future of DIY Christmas.
    Designer of the PropController an open source single-board hardware platform designed for lighting and prop control.

  2. #2
    Join Date
    Dec 2009
    Posts
    1,216
    Post Thanks / Like

    Default 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.
    The Sandevices E680/E681/E682 Pixel Controllers, part of the[SIZE=3] [COLOR=red]P[/COLOR][COLOR=orange]I[/COLOR][COLOR=blue]X[/COLOR][COLOR=lime]E[/COLOR][COLOR=magenta]L[/COLOR] [COLOR=red]P[/COLOR][COLOR=lime]R[/COLOR][COLOR=blue]O[/COLOR][COLOR=red]J[/COLOR][COLOR=magenta]E[/COLOR][COLOR=cyan]C[/COLOR][COLOR=red]T[/COLOR]
    [URL="http://www.sandevices.com"]www.sandevices.com[/URL][/SIZE] <-email jim at

  3. #3
    Join Date
    Jun 2007
    Location
    WI
    Posts
    2,611
    Post Thanks / Like

    Default 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.
    DMX, RDM, ArtNet, sACN, and RDMnet...the future of DIY Christmas.
    Designer of the PropController an open source single-board hardware platform designed for lighting and prop control.

  4. #4
    Join Date
    Dec 2009
    Posts
    1,216
    Post Thanks / Like

    Default 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.
    The Sandevices E680/E681/E682 Pixel Controllers, part of the[SIZE=3] [COLOR=red]P[/COLOR][COLOR=orange]I[/COLOR][COLOR=blue]X[/COLOR][COLOR=lime]E[/COLOR][COLOR=magenta]L[/COLOR] [COLOR=red]P[/COLOR][COLOR=lime]R[/COLOR][COLOR=blue]O[/COLOR][COLOR=red]J[/COLOR][COLOR=magenta]E[/COLOR][COLOR=cyan]C[/COLOR][COLOR=red]T[/COLOR]
    [URL="http://www.sandevices.com"]www.sandevices.com[/URL][/SIZE] <-email jim at

  5. #5
    Join Date
    Jun 2007
    Location
    WI
    Posts
    2,611
    Post Thanks / Like

    Default 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.
    DMX, RDM, ArtNet, sACN, and RDMnet...the future of DIY Christmas.
    Designer of the PropController an open source single-board hardware platform designed for lighting and prop control.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •