What is state of the "A" port on unprogrammed SX28?
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?
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
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.
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
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.
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
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.
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