Which would be the maximum achievable speed using SEROUT function ? I mean, the SEROUT function writen by Martin Hebel for Propeller.
I would need 1Mb/s.
The BS2_Functions is written in Spin and can only handle up to 9600 Baud reliably. Using FullDuplexSerial, written in assembler, rates are achievable up to 1Mbps as I understand it.
I have tried FullDuplex serial but it does not work well at 1Mbps. Actually I need only half duplex so it is possible the same code would work for 1Mbps just preventing the RX/TX multitasking. I am currently learning Propeller ASM so I need some time to study it.
Hi peterz.
If I don't undestood bad, you can get 460_800bps max from FullDuplexSerial. It works fine for me, but be carrefully with USB cable lenth, I recommend you, first try with a low bps value, then increment it, as you needs...slowly.
Peterz,
The FullDuplexSerial routines have a timing granularity of about 400-500ns due to the alternating receive/transmit checking so they won't work at 1 Mbps. They also allow for some mode options (for inverted transmit, inverted receive, open mode transmit) which take a little time to handle. Half duplex serial in assembly is actually fairly simple. Use the SPIN simple serial routines for models.
Mike
Also keep in mind you can not use standard rs232 cabling for high speeds. You need a cable with controlled impedance (i.e. coax for unbalanced signaling or twisted pair if balanced) and a matching termination resistor at the receiving side (this do of course not apply if you are using the USB cabling).
If the cable is very short, like connecting two propellers on the same PCB, you can ignore this.
Comments
-Martin
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Martin Hebel
StampPlot - Graphical Data Acquisition and Control
AppBee -·2.4GHz Wireless Adapters & transceivers·for the BASIC Stamp & Other controllers·
If I don't undestood bad, you can get 460_800bps max from FullDuplexSerial. It works fine for me, but be carrefully with USB cable lenth, I recommend you, first try with a low bps value, then increment it, as you needs...slowly.
Regards.
Alberto.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
The FullDuplexSerial routines have a timing granularity of about 400-500ns due to the alternating receive/transmit checking so they won't work at 1 Mbps. They also allow for some mode options (for inverted transmit, inverted receive, open mode transmit) which take a little time to handle. Half duplex serial in assembly is actually fairly simple. Use the SPIN simple serial routines for models.
Mike
If the cable is very short, like connecting two propellers on the same PCB, you can ignore this.
- Mikael