High Speed Transmission Between two Props
steprog
Posts: 227
in Propeller 1
Wow, things have changed here since the last I looked. I got a project where I am transmitting about 1.4Mb/s of data over perhaps 1000 meters on fiber. (Earthquake measuring equipment) since I have used props for everything over the years I thought this would be another good app.
Anyway, I saw some discussions on this topic mainly some work by Bueu that looked good. However I was hoping to find some actual code to use. For doing this. Any thoughts where?
BTW, it is a basic system demonstration that gathers 24bit data from 3 adc's packs this data and transmits to the surface. Once on the surface this data is unpacked and output to 3 - 24bit dacs. Nothing fancy here really, just a demonstration for now.
Thanks,Greg
Anyway, I saw some discussions on this topic mainly some work by Bueu that looked good. However I was hoping to find some actual code to use. For doing this. Any thoughts where?
BTW, it is a basic system demonstration that gathers 24bit data from 3 adc's packs this data and transmits to the surface. Once on the surface this data is unpacked and output to 3 - 24bit dacs. Nothing fancy here really, just a demonstration for now.
Thanks,Greg
Comments
maybe code is on the OBEX or drop Beau a PM
Jim
http://forums.parallax.com/discussion/116493/pasm-coding-challenge-4-wire-prop-to-prop-communication
If one way then a modified fullduplexserial for receive only should work for 1.4Mb/s. I thought this had been done. The mod is to remove the task switching code.
It's unclear, do you have control of both ends of this, or is the stream coming at you already in some format ?( Usually there are limits on what goes down the hole.)
If you only want to read a stream, then simplex UART is the easiest to code.Where does the data stream end up ?
so figure 3 x 32 x 14.4ks/sec just over 1.4 Ms/s
Greg
(2M/14.4k)-3*32*10/8 = 18.88888 Stop bits
A FT232H/FT2232H would then be able to generate or receive that stream for easy testing.
I am hoping to deliver the data as 1 3x32bit packets, unpack it into 3 memory locations for other cogs to access and send to the dacs.
Andy
Hi Greg
Peters TACHYON 2.4 code shows this
sysfreq = 80_000_000
baud = 230400 ' <-- user change - tested from 300 baud to 3M baud
so taking for example the standard EXPLORER image he has on his DropBox
(see his signature and debugger)
and changing BAUDRATE
to what you need should be all what is required.
then the command
2000000 CONBAUD
at the commandline and then a reboot should be all you need
to then try it via FTDI USB-serial adapter. (aka PropStick)
Sounds Great Peter, is there any cold you can share?Greg
Hi Greg
Peters TACHYON 2.4 code shows this
sysfreq = 80_000_000
baud = 230400 ' <-- user change - tested from 300 baud to 3M baud
so taking for example the standard EXPLORER image he has on his DropBox
(see his signature and debugger)
and changing BAUDRATE
to what you need should be all what is required.
then the command
2000000 CONBAUD
at the commandline and then a reboot should be all you need
to then try it via FTDI USB-serial adapter. (aka PropStick)
but --- thus is not SPIN it is FORTH !!!
but you might like it ;-)
hmm...
I think this is the file you're looking for. It has an MIT license so should be no problem using it.
Sandy
Try looking at the FullDuplexSerial.spin object in OBEX for code. (Search "Full Duplex Spin")
While it is a Spin object, it really has PASM providing the serial speed. It is a bit difficult to remain in your comfort zone of programing entirely in Spin.
And if that doesn't help you, you can always contact Beau directly. That was suggested above.