+ Reply to Thread
Results 1 to 8 of 8

Thread: Fast Full Duplex Serial to 921600

  1. #1

    Default Fast Full Duplex Serial to 921600

    Hi All;

    Since there seemed to be some interest in high speed comms, I have modified the standard FDX Serial in the OBEX to speed it up a bit. In the assembler portion, there were some redundant calculations in a tight transmit test loop that have been streamlined a bit. I believe it now should (just barely) copy streaming at 921,600, but it might still be a bit of a stretch. Half that speed, 460,800 should be cool.

    The Spin portion has not been touched.... I would not know what to do with that anyway!

    Now, since I don't know Spin, I am unable to test it, so If you are willing to test the attached modified "beta level" code on a no-guarantees basis, and provide some feedbak on its operation, especially at higher speeds, I would appreciate it.

    If any repairs are required, I will do that, and then once everything is good, post it in the OBEX.

    I hope I have not made any silly mistakes.

    Cheers,

    Peter (pjv)
    Attached Files Attached Files

  2. #2

    Default Re: Fast Full Duplex Serial to 921600

    Hello,

    I was wondering if the rx and tx buffers could be increased to possibly 256?

    Thank You

  3. #3

    Default Re: Fast Full Duplex Serial to 921600

    Hi;

    Probably, but it may have an impact on the Spin portion, and that I have no expertise in. It should be trivial for the assembly portion, but can't look at that until tomorrow.

    Cheers,

    Peter (pjv)

  4. #4
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    10,115

    Default Re: Fast Full Duplex Serial to 921600

    pjv: In the OBEX is my rr004 version of FDX which has variable buffer sizes declared in the var section (factor of 2 but 512 does not work). This would be a preferable base to use and your code whould fit with it perfectly.
    My Prop boards: CpuBlade, TriBlade, RamBlade, www.clusos.com
    Prop Tools (Index)
    Emulators (Index) ZiCog (Z80)
    Prop OS (also see Sphinx, PropDos, PropCmd)

  5. #5

    Default Re: Fast Full Duplex Serial to 921600

    Hi Cluso;

    Late at night here now, just got back from a party,.... lots of wine (Australian Shiraz, I love it), so thinking may be a little off.......

    Do I then understand that your version would be the preferred iteration to put it in?

    If so, would you take care of that, because I don't know how to do it??

    I would think that the code needs to be vetted first, and I have no idea if anyone has tried it, even at ANY speed.

    See you all tomorrow..... I mean later today!

    Cheers,

    Peter (pjv)

  6. #6
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    10,115

    Default Re: Fast Full Duplex Serial to 921600

    pjv: Yes Peter because it is just an improved FDX. I am quite happy to insert your code into FDX rr004 and release it. However, currently I don't have all my test devices with me - I moved most of these to the house and currently I am on the boat for a week or so.

    Does anyone have anything else required in the FDX code? I would like to see fdx.out added in spin (same as fdx.tx) so that a TV.out could be substituted.
    My Prop boards: CpuBlade, TriBlade, RamBlade, www.clusos.com
    Prop Tools (Index)
    Emulators (Index) ZiCog (Z80)
    Prop OS (also see Sphinx, PropDos, PropCmd)

  7. #7

    Default Re: Fast Full Duplex Serial to 921600

    Hi Cluso;

    Good of you to offer this.

    Since no one has tried this code, perhaps I can figure out a simple Spin op to test it. I can manage all the high speed suff OK, and I can program up an SX to generate a contiuous stream (stream = ultimate test) for it to receive. Then temporarily adding an XOR outa,#x instruction here and there will give some outputs for the scope to track on.

    Hey, I don't need Spin at all ...... I can just run the assembler portion because that is where the problem was!. DUH !!

    By the way, I'm curious by what method are you connected to the Internet while bobbing on the water, presumably far from land?

    Cheers,

    Peter (pjv)

  8. #8

    Default Re: Fast Full Duplex Serial to 921600

    Cluso;

    I have now tested the assembly portion for speed, and can confirm:

    The original FDX assemby ran at best -no data, just searching for a start bit- at 900 nanoseconds for an Rx/Tx ping-pong.

    The minor mods I made now have it running at 500 nano seconds for a ping-pong.

    So now it should be able to find that start bit whenever it comes. I have not actually set up an SX to pump it yet, so don't know what the Spin part does when an actual character is received. The 16 byte buffer will fill in 16-ish uSec, and that is probably a stretch for Spin.

    Hopefully someone out there can actually test this.

    Cheers,

    Peter (pjv)

+ Reply to Thread

Similar Threads

  1. Full Duplex Serial
    By 172heavy in forum Propeller 1 Multicore Microcontroller
    Replies: 16
    Last Post: 09-15-2010, 12:42 AM
  2. Full Duplex Serial
    By kt88seamp in forum Propeller 1 Multicore Microcontroller
    Replies: 2
    Last Post: 11-22-2009, 09:00 AM
  3. Full duplex serial plus
    By pilot00 in forum Propeller 1 Multicore Microcontroller
    Replies: 4
    Last Post: 03-14-2009, 06:21 AM
  4. Full Duplex Serial
    By Newzed in forum Propeller 1 Multicore Microcontroller
    Replies: 8
    Last Post: 09-04-2007, 07:02 AM
  5. Full Duplex Serial
    By SailerMan in forum Propeller 1 Multicore Microcontroller
    Replies: 6
    Last Post: 11-09-2006, 10:31 AM

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