Shop OBEX P1 Docs P2 Docs Learn Events
Running Four Props off 1 xtal? possible? — Parallax Forums

Running Four Props off 1 xtal? possible?

b.p.m.b.p.m. Posts: 59
edited 2012-03-24 17:17 in Propeller 1
hey people,
i was wondering if all i had to do to sync up 4 props
is tie the xtal to 1 then just tie the XI pins together to
easily get 4 props in sync. any ideas? also any ideas
on best (or simplest partwise) how to ensure resets start
the 4 props in sync... or is this even a problem if the props
are already hooked up to same xtal and reset lines are tied
together?

blake

Comments

  • LeonLeon Posts: 7,620
    edited 2012-03-24 07:46
    I'd use a single oscillator module driving all four XI pins.
  • average joeaverage joe Posts: 795
    edited 2012-03-24 08:56
    I'm not sure what you intend to do here. If by sync you mean running @the same clock speed, this will work. If you want the props to have sync'd CNT registers, there is a bit more work involved. Also, hooking the reset lines together will work for a hardware reset, but if one of the chips is reset in software, this will not reset the other 4 props. I'm wondering what you intend to do with these 4 props running in "sync" and the reason they need to be sync's in the first place?
  • prof_brainoprof_braino Posts: 4,313
    edited 2012-03-24 09:15
    This doesn't tie the XI to a single xtal, but can achive what I think you want.

    If you follow tutorial-7.3 MCS+NoROM.txt in propforth,
    1 prop can be used to provide clock and emulate eeprom to other (bare) prop chips, using four pins each (send, recieve, clock, reset).
    All the props can be guaranteed to be in sync, since the master controls when each is reset.
    The clock and reset lines can be shared for all props, so its possible to run 13 slaves per master.
    28 (master pins) -2 (clock and rest) =26 pins available; 26 (master pins) /2 (pins per slave)=13 total slaves.
    And each slave can potentially have 13 sub-slaves, but we didn't try this yet.
  • HShankoHShanko Posts: 402
    edited 2012-03-24 10:05
    I've run a two-Prop board by using 1 5 MHz crystal to a so-called 'master' Prop, and using a counter to generate a 5 MHz square wave from that to the second Prop. Not knowing your full needs this may solve your situation. Yes, Resets are all tied together to what ever is your reset source (a switch?)
  • jazzedjazzed Posts: 11,803
    edited 2012-03-24 10:53
    I've had 5 propellers connected where the first feeds Xo to a buffer and the buffer output goes to the other 4 Xi pins. It worked fine for me. Of course if you want clock flexibility rather than synchronicity it's best to have separate connections.
  • jmgjmg Posts: 15,183
    edited 2012-03-24 16:00
    jazzed wrote: »
    I've had 5 propellers connected where the first feeds Xo to a buffer and the buffer output goes to the other 4 Xi pins. It worked fine for me. Of course if you want clock flexibility rather than synchronicity it's best to have separate connections.

    I think there was another thread on this earlier ? ;
    One fish-hook mentioned in the Prop Xtal Osc, is it is gated OFF during reset/reboot.

    So the most reliable will be an external Osc, and drive from that.
    You could even use something like a Si5351, which gives almost any frequency you want.

    On the simpler front you could use any of
    - Xtal Osc and Buffer : 74LVC1GX04 74aup1z04 74AUP1Z125
    74hc6323a - this includes a divider.

    or more generic still, a 2GU04, or a 3GU04, or U04
  • jazzedjazzed Posts: 11,803
    edited 2012-03-24 17:17
    jmg wrote: »
    I think there was another thread on this earlier ? ;
    One fish-hook mentioned in the Prop Xtal Osc, is it is gated OFF during reset/reboot.
    Yes. It works on RCFAST at reset boot time until launch when it uses the value at HUB address 4.
    Whatever mode is set by the spin or other program is the one used until it's changed by clkset or reset.

    From the booter ....
    '
    ' Launch program in ram
    '
    launch                  rdword  address,#$0004+2        'if pbase address invalid, shutdown
                            cmp     address,#$0010  wz
            if_nz           jmp     #shutdown
    
    
                            rdbyte  address,#$0004          'if xtal/pll enabled, start up now
                            and     address,#$F8            '..while remaining in rcfast mode
                            clkset  address
    
    
    :delay                  djnz    time_xtal,#:delay       'allow 20ms @20MHz for xtal/pll to settle
    
    
                            rdbyte  address,#$0004          'switch to selected clock
                            clkset  address
    
    
                            coginit interpreter             'reboot cog with interpreter
    
Sign In or Register to comment.