Shop OBEX P1 Docs P2 Docs Learn Events
What is state of the "A" port on unprogrammed SX28? — Parallax Forums

What is state of the "A" port on unprogrammed SX28?

lajkolajko Posts: 7
edited 2008-05-10 13:30 in General Discussion
I built a set of boards that interface Brunswick Vector automatic scoring system cameras (yes, bowling) to old, ancient pinsetters.
I put programming pins for the key on the board and all ICs are socketed.
The A port is driven by 3 H11L1 opto isolators.
I find that when first powered on with an un-programmed SX-28, the H11L1's sometimes get fried. There is nothing on the LED input as it gets connected to opto isolators in the Brunswick camera module, so the frying must come from an extreme drain on the output connected to the A port of the SX-28.
Once the SX-28 is programmed, everything is OK. So I leave off the H11L1's until the SX-28 is programmed and I no longer fry any of them.
The SX-28 spec states all IO ports come up in the input mode on power on reset. But is that always the case when the SX-28 has never been programmed?

Comments

  • lajkolajko Posts: 7
    edited 2008-05-03 00:17
    OR - I wonder if new parts may happen to have some test program left in them so when put into my new boards and powered up, the "A" ports get set to output and fry the outputs of the H11L1's.
    I recall reading somewhere a caution about new chips, programming a dummy "clear memory" program and cautions about input circuits being active when you have unprogrammed (i.e. fresh from Parallax) SX-28 chips.
    Maybe someone in the know can refresh me on this.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2008-05-05 20:13
    Hello,

    I spoke with the engineer who wrote the test routines for the SX and there is no residual code left on the SX when it is tested. The SX chips comes erased and ready to use in an application. I hope this helps. Take care.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Chris Savage
    Parallax Tech Support
  • lajkolajko Posts: 7
    edited 2008-05-09 05:05
    OK. Thanks for checking on this. Since I have boards to assemble and program for 14 more lanes at West Seattle Bowl, I'll do a good analysis then report if I find anything:
    1. test each H11L1 first
    2. Read each SX28 first just to see if there is any residual program in it
    3. Use scope and/or logic analyzer to see what the A port is doing in a new board before being programmed and before H11L1's are installed when first powered on
    If all looks OK, then I will
    1. Install all parts
    2. with power off, connect the blitz or key
    3. power on
    4. program SX28 - watching the A ports on a scope to see if they do anything
    5. test and see if any H11L1's got fried (note: nothing is connected to the LED side of the H11L1's until the board gets tested, then the LEDs are driven through +5 and a 470 resistor. In the bowling alley, they get driven by an opto isolator from the camera that reads the pins left standing, still through the 470 resistor)

    If any still blow out, then I'll really have to dig deeper.

    The good thing is the SX28 is working great. The first couple boards are operating flawlessly in 50 year old pinsetters for weeks with no failure or errors reading the camera data. FYI: These boards replace 50 year old wiring that goes to each respot-cell that picks up the pins to detect if it is a strike. Each cell has wiring and old switches. Disconnecting that ancient wiring and using the data from the scoring system camera to tell the ancient stepper relay control chassis that there is a strike eliminates untold hours of tracking down broken wires, switches, shorts and cracked insulation.
  • Guenther DaubachGuenther Daubach Posts: 1,321
    edited 2008-05-09 16:29
    lajko,

    in case you have a chance to still modify the PCB, I'd suggest to put some current-limiting resistors (say 220 Ohm) in series with the RA port pins. As far as I understand, the RA pins are used as inputs in your application, so the series resistors will not remarkably influence the level on the input pins, as these are high-Z.

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

    G
  • lajkolajko Posts: 7
    edited 2008-05-09 20:48
    The boards are done. However they are not very dense but logically designed. The outputs from the H11L1's are a direct trace to the SX28 so the trace could be cut and a resistor put on the back to replace the trace. If I continue to have a problem, I'll do that. However once programmed, I can turn it on & off and reprogram or do anything else and the H11L1's never get fried. It may come down to a defective batch of H11L1's. I'll know by testing all parts before installing them (all are socketed).

    Are you suggesting that it would be good practice to put a current limiting resistor on the A port when used as input from TTL or other circuits?

    On a Midi project, I intend to use the A port as input with 4 dip switches (to ground) for the midi port selection. Would you suggest resistors there to protect the A port? Or would it be better to always use the A port as outputs? I use one SX28 as a uart/midi-receiver to decode the data and then drive other SX28's which control pipe organ magnets.
  • Guenther DaubachGuenther Daubach Posts: 1,321
    edited 2008-05-10 13:30
    In general, it is a good idea to have current-limiting resistors in series with the SX I/O lines in order to protect the I/O pins as well as external components connected to them.

    There is no specific reason to use the RA pins as outputs with the only exception that the RA pins when used as outputs do have a symmetric output swing, i.e. the voltage drops across the internal high-end and low-end drivers are the same for a certain output current.

    Per definition, all ports are automatically configured as inputs, i.e. with high-Z at power-on. The same is true for port A, so I don't see a reason why not using is for reading a 4-digit DIP switch as this nicely matches the 4 RA pins. Although not really necessary, series resistors would not harm here. On the other hand, when the DIP switch segments pull down to Vss, don't forget to attach pull-up resistors to Vdd (or activate the port-internal "weak pull-up" resistors. When the DIP switch segment pull high to Vdd, you will need to add external pull-down resistors to Vss.

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

    G
Sign In or Register to comment.