Shop OBEX P1 Docs P2 Docs Learn Events
HighSpeed Serial Tx (3Mbps) / Rx (2Mbps) + autobaud for FT232R/Prop GPL — Parallax Forums

HighSpeed Serial Tx (3Mbps) / Rx (2Mbps) + autobaud for FT232R/Prop GPL

Stephen MoracoStephen Moraco Posts: 303
edited 2008-04-10 01:54 in Propeller 1
I've been spending the last two weeks on propCAN, my pet
project.

In this post I'm releasing code under GPL for my high speed serial
portion of the project.

I've tried to place·useful documentation within each of the three
objects:
· FT232R-SerialAutobaud.spin
· FT232R-BlockSerialTransmit.spin
· FT232R-BlockSerialReceive.spin

The upload consists of a project for the Demo board· the top
object of which is:· HighSpeedSerialExample-v1.0.spin

In this example I show the use of the three objects. It is intended
to be compiled and downloaded to the demo board and then communicated
with via a serial terminal application (e.g., HyperTerm, minicom).

In my case I download the code to EEPROM.· Then I·tell HyperTerm to
connect.· Wait 2 seconds for the·prop to reset and load the code.· Then
I press the enter key to get a CR sent to the prop.· As soon as it gets
the CR then it will signon with it's findings and then sit in a read loop.
The demo program writes whatever it reads back to the terminal.
(watch your add-a-linefeed setting in your terminal app. In this case
it can interfere!)

NOTE: this is a set of block-send and block-receive routines.· That is
they are designed to reduce communication between cogs by only
transporting data between them on buffer-full or line-end events.
Please read the file headers for the transmit and receive files for
more detail.· You may have to adjust the meaning of line-end for
your use.· Details are in the file headers.

I keep a running narrative of my implementation and testing
at my blog site wherein you will find discussion of these
new routines:·· http://propcandev.blogspot.com

Ive new SPI reorganization results which I'll be posting to
the blog later yet today if you are interested.

Have fun with the objects.· I hope you find them useful.
Please let me know if you have any issues with them.· I'm especially
interested in any code improvements you may find!· And, of course
if you find anything incorrect with them please let me know that
as well.

Regards,
Stephen, KZ0Q
--

http://propcan.moraco.us
http://propcandev.blogspot.com




▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

Comments

  • Stephen MoracoStephen Moraco Posts: 303
    edited 2008-04-10 01:54
    OK, now that you have the code, here's the question. Those of you experienced in propeller assembly... can we find a way to
    get the receive routine to 3Mbps? Is there means to accomplish what the receive ASM code is currently doing in enough
    fewer instructions that this goal can be met? Or can we collectively prove that this is our performance limit for this function...?

    (The goal is not to affect the current design requirements [noparse][[/noparse]as described by formal/informal inputs, formal/informal outputs] in any
    way other than performance.)

    If you have any question over what any portion of the code is doing I'll be glad to answer... and/or improve the internal doc.

    Up for this challenge? wink.gif

    -Stephen, KZ0Q

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    ·
Sign In or Register to comment.