Best way to move 460,800 bytes per second? (Prop-to-Prop)

For the first time, I'm looking to push my Propeller at a rate faster than ever before....
Unknown territory for me...
What is the best way to push 460,800 bytes from one Propeller to another?
Serial? (Not sure?) Heck, I'm not sure if Kye's SD driver can read data this.
(Time to check the specs)
A while back Beau was doing some high-speed prop-to-prop communication.
(Can't lay my hands on the thread)
Suggestions?
Thanks
OBC
Unknown territory for me...

What is the best way to push 460,800 bytes from one Propeller to another?
Serial? (Not sure?) Heck, I'm not sure if Kye's SD driver can read data this.
(Time to check the specs)
A while back Beau was doing some high-speed prop-to-prop communication.
(Can't lay my hands on the thread)
Suggestions?
Thanks
OBC
Comments
Can your SD driver read that that quickly? Perhaps even a little faster?
I was thinking that I might go 8 bit connection with a toggle bit.
I could actually get this project down to 307,200 bytes per second, but would prefer the later.
OBC
Am I recreating the wheel here? Do you have a working model of this in spin already that I could follow?
OBC
' Sending data rol outData,#1 wc or outa,TXmask 'Make Pin HIGH andn outa,TXmask 'Make Pin LOW muxc outa,TXmask 'Make Pin HIGH or LOW DATA rol outData,#1 wc muxc outa,TXmask rol outData,#1 wc muxc outa,TXmask ...
RX_Start waitpeq RX_PinMask, RX_PinMask 'Wait for - HIGH waitpne RX_PinMask, RX_PinMask 'Wait for - LOW 'or outa,LEDmask test RX_PinMask, ina wc 'Read RX pin into "C" rcl temp,#1 'Rotate temp left and place "C" in Bit0 test RX_PinMask, ina wc 'Read RX pin into "C" rcl temp,#1 'Rotate temp left and place "C" in Bit0 ...
I will be working on rewriting the object to remove these issues, but it will take a while, I have other things on my plate at the moment.
There are many variations.
I'll be using the method with MicroPropPC for sending audio/video to the second Propeller.
It's done in Spin/PASM and requires a shared clock between Propellers. For a functional example look here. The code may be overwhelming at first. It has many comments, but the packages are pretty big. You don't need the the "SeparateIntLine" package with only two Propellers.
' fragments only, setups must be done. :read movs t1, ina wz ' looking for 0 on all bits and P[0:8] wrbyte t1, tp ' write to ptr = address + length if_nz djnz tp, #:read ' if t0 <> 0, continue with ptr-1; else stop :write ' write reverse buffer decrementing with P8 controlling read rdbyte outa, tp ' get byte from djnz controlled pointer cmp bufp, tp wz ' test for end condition if_ne djnz tp, #:write ' if ptr > addr, decrement pointer and repeat
It's starting to look like I'm heading toward your direction.. I see the need for an SDRAM module on my horizon.
OBC
I wrote two very short serial routines some while ago that lets you pump out a continuous (non-bursting) 5 Megabits/second in standard ASCII format. In addition, it pulls data from a Hub buffer into the Cog, There is also a receiver at the same speed that reverses the process. Each routine take one cog, but if you are running half duplex, then both can be in one Cog.
http://forums.parallax.com/showthread.php?120125-5Mbit-sec-ASCII-streaming-from-to-Hub-RAM&p=882980#post882980
Cheers,
Peter (pjv)
That sounds interesting, but your link is broken..
It's not COGs that I'm short on, it's memory, so your routines might be a good answer.
OBC
Propeller DEMO : (14.5 Meg Baud) High Speed Prop-to-Prop Serial Communication
http://forums.parallax.com/showthread.php?99222-Propeller-DEMO-%2814.5-Meg-Baud%29-High-Speed-Prop-to-Prop-Serial-Communication&highlight=Prop+Prop
Thanks! that's the thread I was talking about.
OBC
I have fixed the link; here it is again:
http://forums.parallax.com/showthread.php?120125-5Mbit-sec-ASCII-streaming-from-to-Hub-RAM&p=882980#post882980
Peter (pjv)
OBC