Shop OBEX P1 Docs P2 Docs Learn Events
Propeller DEMO : (14.5 Meg Baud) High Speed Prop-to-Prop Serial Communication - Page 2 — Parallax Forums

Propeller DEMO : (14.5 Meg Baud) High Speed Prop-to-Prop Serial Communication

2»

Comments

  • Beau SchwabeBeau Schwabe Posts: 6,545
    edited 2007-12-12 08:27
    Ale,

    "...When you have other cogs manipulating output pins, you cannot happily ROL outa contents..." - sure you can. Each COG has its very own OUTA register independent of the other COGS. Since the outputs from each COG are ORed together to form the final output, all you need to do is make sure that other COGs do not use the same pins, (...unless that it your intent). The way that the transmitter (sender) is set up, it only sets the appropriate pins as outputs within its own COG.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • AleAle Posts: 2,363
    edited 2007-12-12 08:33
    Beau, those were my words.
  • Clock LoopClock Loop Posts: 2,069
    edited 2010-02-09 06:22
    I am trying to get the original 2 wire 8 meg baud prop to prop serial to work but not having success.

    I dont have any tv or vga object, I only have a few prop plugs to send debug data to serial port on pc.

    I downloaded the first two object in this post but don't really know how to use the two, becuase there is no spin demo that shows send data to and getting data from the two objects.

    Neither version made it into the obex either!
  • AleAle Posts: 2,363
    edited 2010-02-09 08:29
    Clock loop:

    You have to add a small wrapper with the function table and so on.
    But you could use 2 COGs in the same propeller... just use the assembly part and they will synchronize themselves. Of course some debug could help, even a led is enough...

    I made a couple of comments, dumb ones, when I did not get the propeller... well everyone learns! lol.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Visit some of my articles at Propeller Wiki:
    MATH on the propeller propeller.wikispaces.com/MATH
    pPropQL: propeller.wikispaces.com/pPropQL
    pPropQL020: propeller.wikispaces.com/pPropQL020
    OMU for the pPropQL/020 propeller.wikispaces.com/OMU
  • RaymanRayman Posts: 13,805
    edited 2010-02-09 11:55
    I may give this a try when I get a Ramblade connected to my PSB...

    Will having the 2 Props with different clock speeds be a problem for this?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    My Prop Info&Apps: ·http://www.rayslogic.com/propeller/propeller.htm
  • kuronekokuroneko Posts: 3,623
    edited 2010-02-09 12:36
    Rayman said...
    Will having the 2 Props with different clock speeds be a problem for this?
    Yes, most high-speed drivers rely on instruction cycle counts so mixing different clock rates is a big no-no.
  • Cluso99Cluso99 Posts: 18,066
    edited 2010-02-09 15:43
    Rayman: More likely yes, but not necessarily. Depends on how the crystal frequencies are related and the transmission rate.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Links to other interesting threads:

    · Home of the MultiBladeProps: TriBlade,·RamBlade,·SixBlade, website
    · Single Board Computer:·3 Propeller ICs·and a·TriBladeProp board (ZiCog Z80 Emulator)
    · Prop Tools under Development or Completed (Index)
    · Emulators: CPUs Z80 etc; Micros Altair etc;· Terminals·VT100 etc; (Index) ZiCog (Z80) , MoCog (6809)·
    · Prop OS: SphinxOS·, PropDos , PropCmd··· Search the Propeller forums·(uses advanced Google search)
    My cruising website is: ·www.bluemagic.biz·· MultiBlade Props: www.cluso.bluemagic.biz
  • Clock LoopClock Loop Posts: 2,069
    edited 2010-02-09 20:04
    Ale said...
    Clock loop:

    You have to add a small wrapper with the function table and so on.

    Oh your talking about the full duplex serial function table?
    I didn't mean that, I don't need anything that fancy.

    I noticed that I was reading the way the code runs, incorrectly, now that I understand it, I get how to do what I want, thanks anyway.

    Anyone know why this never made it into the obex?
    Anyone wanna make it code-swappable with fullduplexserial? heh.
  • Clock LoopClock Loop Posts: 2,069
    edited 2010-02-11 05:19
    I have attached my attempt at trying to merge the RX and TX assembly code of the original 8.42 meg baud, 2-wire code.

    It works when I comment out the TX code or RX code in the assembly section, but I can't run the code when both are enabled.

    I have attached a copy of the 8.42 meg baud 2-wire code that also has a cog launching interface,
    and a standard serial diagnostic output to the parallax serial termial out pins 31&30.

    I don't know enough about asm to determine what I need to to to make this work. I did change all the same conflicting asm titles to try and merge them, but I am doing something else wrong, and it might have to do with when I launch a new cog, where the cog starts its code mabee, not sure?

    But I was able to get the RX, and TX to work seperately, and 100% matched packets.

    Like I said this should already be in the obex, meh...
  • kuronekokuroneko Posts: 3,623
    edited 2010-02-11 06:04
    Clock Loop said...
    It works when I comment out the TX code or RX code in the assembly section, but I can't run the code when both are enabled.
    Have you checked where TX_Propeller_COM is located in the cog? I suggest another org 0 before the label. And you should keep the variables for the reader closer to the code. A bit like this:

    DAT
                  org       0
    
    RX_Propeller_COM
    
                  ...
    
    'initialized variables
    DataSamplesRx long      PacketSize
    
    'un-initialized variables
    DataIndexRx   long      0
    BuffRx        long      0
    
    'aliased variables
    tempRx
    RX_PinMask    long      0
    
                  fit
    
    '------------------------------------------
                  
                  org       0
    
    TX_Propeller_COM
    
                  ...
                           
    'initialized variables
    DataSamplesTx long      PacketSize
    
    'un-initialized variables
    DataIndexTx   long      0
    BuffTx        long      0
    
    'aliased variables
    tempTx
    TX_PinMask    long      0
    
                  fit
    
    
  • Clock LoopClock Loop Posts: 2,069
    edited 2010-02-11 07:47
    Thank you.

    Full duplex 8.42 MegBaud output to parallax serial Terminal demo attached.

    Does anyone else think something like this should be in obex?
  • Beau SchwabeBeau Schwabe Posts: 6,545
    edited 2010-02-11 08:00
    Clock Loop,

    Sorry I haven't responded to this, I haven't had my head around my own code in awhile. The reason I haven't put it together for the OBEX really is just time to clean it up and make it as user friendly as possible and allow it to be tested by the forum. In the mean time though I got busy back in layout and just haven't been programming much of anything in the way of Propeller. Something like that I have to get my head around and really understand it in the moment before I feel comfortable enough to release it.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • Clock LoopClock Loop Posts: 2,069
    edited 2010-02-11 08:28
    You can force error packets if you lift the 10k resistor on the rx pin.
    Thanks 4 this beau, I noticed the code didn't have a MIT License at the bottom, is it covered under the same?
  • Beau SchwabeBeau Schwabe Posts: 6,545
    edited 2010-02-11 08:45
    Clock Loop,

    "I noticed the code didn't have a MIT License at the bottom, is it covered under the same?" - Yes, the MIT gets placed before submission to the OBEX.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.
  • BigFootBigFoot Posts: 259
    edited 2010-08-24 19:41
    Beau,

    You ought to try the test with the 6.25 MHz crystals. It would be interesting
    to see how much increase in data rate you get.

    Russ
  • nonnnononnno Posts: 28
    edited 2010-10-31 23:10
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.

    Post Edited (Beau Schwabe (Parallax)) : 12/12/2007 7:06:59 AM GMT[/QUOTE]

    有り難う。
    読むのに時間がかかります、
    じっくりと読ませて下さい。
  • prof_brainoprof_braino Posts: 4,313
    edited 2010-11-01 04:51
    Hi all

    Propforth 3.6 BETA has an implementation of inter-prop high speed serial communication, but as you might guess it's done in forth.

    Its just low level support for application level use; the parts are there but one would still have to arrange them in a forth application or convert them to PASM for use in spin.

    If anybody is interested in this line of inquiry, I will be posting the examples as soon as they are written, hopefully by the time the propforth 3.6 release comes out next week or so
  • HumanoidoHumanoido Posts: 5,770
    edited 2010-11-01 06:06
    Hi all

    Propforth 3.6 BETA has an implementation of inter-prop high speed serial communication, but as you might guess it's done in forth.

    Its just low level support for application level use; the parts are there but one would still have to arrange them in a forth application or convert them to PASM for use in spin.

    If anybody is interested in this line of inquiry, I will be posting the examples as soon as they are written, hopefully by the time the propforth 3.6 release comes out next week or so
    I look forward to seeing the examples. The continued development of PropForth is remarkable.
  • SapiehaSapieha Posts: 2,964
    edited 2010-11-01 09:16
    Hi prof_braino.


    NICE WORK

    Hi all

    Propforth 3.6 BETA has an implementation of inter-prop high speed serial communication, but as you might guess it's done in forth.

    Its just low level support for application level use; the parts are there but one would still have to arrange them in a forth application or convert them to PASM for use in spin.

    If anybody is interested in this line of inquiry, I will be posting the examples as soon as they are written, hopefully by the time the propforth 3.6 release comes out next week or so
  • Clock LoopClock Loop Posts: 2,069
    edited 2010-12-25 12:29
    Im coming back this this demo wanting more features, like open collector(modes), etc..

    (the same kind of wrapper "fullduplexserial" has.)

    I would do it, but i suspect it will take more than just spin knowledge to accomplish?
Sign In or Register to comment.