Shop OBEX P1 Docs P2 Docs Learn Events
Oscillator considerations — Parallax Forums

Oscillator considerations

Andrew BellingerAndrew Bellinger Posts: 7
edited 2006-04-01 11:53 in General Discussion
Hello Everyone,

Currently, I am designing a board which will be using 11-12 SX-48BDs (I need a ton of I/O). I do not need to synchronize the SXs if I use interrupts, but synchronizing them could save·memory and clock cycles.· I have a few questions regarding oscillator considerations:

When using a TTL oscillator I noticed it only needs to be connected to the OSC-1 pin, but crystals get connected to OSC-1 and OSC-2.· OSC-2 is listed as·an output. Does it buffer the clock signal, and if so would it be possible to daisy chain many SXs' together in this fashion (allowing for propogation delay)?· Other possibilities I was looking at included using a clock distribution IC, but most are for LVDS or CMOS·signals, not TTL.

My other concern is·that the SX-48BD is a SMD, and I am going to need to add a header for in circuit programmability.· I have seen designs using a jumper to disconnect the oscillator during programming, but I am worried about passing a 50MHz clock signal through a jumper, particularly if it is from a crystal oscillator.· Could stray capacitances and contact resistance cause poor oscillation/stability?· Solutions I have been looking at include using an analog mux with a hi-Z state during programming or using a relay to open the crystal.·

I know that this is a lot to ask, and I would appreciate any input/suggestions.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
·

Comments

  • PJMontyPJMonty Posts: 983
    edited 2006-03-17 08:16
    Andrew,

    I use 50 MHz TTL oscillators in my designs and use jumpers to allow them to be disconnected for programming without any problems. You mentioned using a relay instead. If you think about, how could the much longer and more involved signal path of a relay possibly be a better solution than the simplicity of a jumper? Similarly, if you create a dual sided PCB and the clock has to pass from one side to the other through a few vias, it's really no different than having it pass through two tiny metal spikes and a jumper.

    Use the jumper.
      Thanks, PeterM
  • BongoBongo Posts: 65
    edited 2006-03-17 08:26
    If the requirement is for a lot of·IO, the answer is to use shift registers.· One SX 18 can have as many outputs, and as many inputs as you want.

    Bongo
  • Andrew BellingerAndrew Bellinger Posts: 7
    edited 2006-03-17 13:47
    Thank you for your input.

    Because·of my·experiences I have learned not to trust jumpers for anything above DC, and even DC sometimes.· I have just come across so many jumpers that will work "if you push on it this way", or have had to tin the header pins to get a tight fit.· This problem is also severly affected by temperature change. Jumpers cost about $.003· so·manufacturers tolerances tend to be·loose.

    Reed relays·and RF relays·have guaranteed signal integrities from hundreds of MHz up in to the GHz. Also, they have a known resistance, and with RF relays, a very low capacitance, so·transition times are not affected.·

    Also,·thanks for the suggestion to use registers to·expand IO.· I am going to be using this board to control duty cycle and for PWM however, and can not·afford to divide one processer between as many IO lines as I·need.· I·have actually been considering going with one of the Altera FPGA development kits for this project.

    Has anyone had any experience with one of these?

    http://www.parallax.com/detail.asp?product_id=60001


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-03-17 14:06
    Consider the MAX7313, I am helping another member construct a 204 channel input/output/PWM board using them. All I have left to place are the bypass capacitors (Ive spent probably 40 man hours on the board so far). After the fiscal quarter is over (next monday) I will be completing the board design. We wern't going to post until the full design is completed, but if you are interested, we may be able to fab an additional board for you. The board is also designed to be daisy chainable up to 4 modules for a total of 816 individualy controlled input/output/PWM channels.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • David BDavid B Posts: 592
    edited 2006-03-17 17:48
    I did something similar a few years ago. I wanted to use an 4 mHz ovenized crystal oscillator for my SX clock, but also wanted to be able to use the in-circuit programmer.

    I wired the external oscillator to drive the SX clock input through a resistor, about 4.7K as I remember, and everything worked. The SX worked fine, and I was able to program it with the oscillator in place.

    I asked the question in one of these forums of whether this might be overstressing the SX programmer, and a Parallax engineer said he thought the programmer would have no trouble at all driving the programming against the resistor load.

    So maybe you could use an independent external oscillator to drive all the SXes like what I did.

    David
  • Andrew BellingerAndrew Bellinger Posts: 7
    edited 2006-03-19 00:46
    Paul,

    That sounds very interesting.·· What type of refresh rate/how quickly do you think it could update the pwm of all 204 channel?· The MAX7313 sound like it might work very well for me.· I like how they added more device IDs via that creative scheme (connecting pins to SCL and SDA)· instead of just adding more select lines.

    Are you or your friend using the MAX7313 to drive LEDs directly?.·· I may be driving banks of LEDs per channel, or using high power LEDs such as luxeon 3W and 5W, but I could just use the 7313 to switch a transistor that could handle the current.

    Also, thank you for your input David.· I will have to try that out on·a bread board tonight.



    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-03-19 17:06
    We are still in the hardware phase, so we haven't begun to characterize aspects of the software such as update frequency. We have designed it to directly drive one LED per channel (the intent is driving a 16x4 RGB matrix). The current limiting resistors are on the board, but we intentionally chose parts which had zero-ohm equivalents so the board could easily be adapted to drive off board transistors. While the fequency of PWM value changes would be limited by the frequency of the I2C bus, once a value is written the MAX7313 will continue to drive the LED at that duty cycle.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Guenther DaubachGuenther Daubach Posts: 1,321
    edited 2006-03-23 21:23
    Once again: Jumpers...

    you need to disconnect the clock source from the OSC1 pin only when you want to debug an SX device with the SX-Key. For just reprogramming, usually, the clock source does not cause trouble when still connected to OSC1.

    As an alternative, you might build this adapter: http://forums.parallax.com/showthread.php?p=465498

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Greetings from Germany,

    G
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-03-23 21:57
    Andrew, just finished the board, heres some screen caps.

    The dimensions are 4" x 1.25"

    BTW I used a surface mount SPDT switch on a board and it worked just fine.


    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
    1303 x 442 - 48K
    1303 x 442 - 37K
    1303 x 442 - 36K
  • Guenther DaubachGuenther Daubach Posts: 1,321
    edited 2006-03-23 22:25
    Paul,

    wow - good job!!!

    BTW: Did you use Eagle to design the board (some details look familiar to me).

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Greetings from Germany,

    G
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-03-24 00:36
    Thank you, yes I used Eagle Lite, hence the restriction to 4".

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Andrew BellingerAndrew Bellinger Posts: 7
    edited 2006-03-29 05:44
    Paul,

    Looks very nice. You fit a lot in to 5 sq. inches, very symmetrical too (always makes boards nice to look at).··Let us know how it works out for you.

    Andrew

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·
  • Paul BakerPaul Baker Posts: 6,351
    edited 2006-03-29 14:07
    Certainly will, Keep an eye out in the Projects Forum.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ·1+1=10
  • Jim CJim C Posts: 76
    edited 2006-04-01 11:53
    David B said...
    I did something similar a few years ago. I wanted to use an 4 mHz ovenized crystal oscillator for my SX clock, but also wanted to be able to use the in-circuit programmer.

    I wired the external oscillator to drive the SX clock input through a resistor, about 4.7K as I remember, and everything worked. The SX worked fine, and I was able to program it with the oscillator in place.

    I asked the question in one of these forums of whether this might be overstressing the SX programmer, and a Parallax engineer said he thought the programmer would have no trouble at all driving the programming against the resistor load.

    So maybe you could use an independent external oscillator to drive all the SXes like what I did.

    David

    I tried David's idea to solve a similar problem that's been bugging me for a month. Before programming with an SX-Key, the oscillator and other chips on that line had to be disconnected before it would work. It took a bit of experimentation, but if there is a 470 ohm resistor between the oscillator and the SX, everything can stay connected all the time.

    Awesome!

    JimC
Sign In or Register to comment.