IC Input switching - Page 1
Forum section: electronics / projects

author: BlackFX
author_rank: Contributor
timestamp: February 17, 2023, 07:48:29 am
content: Hi AllI am in the process of designing a universal IC tester, I am trying to decide how best to deal with the pins - I will be looking to support ICs with up to 28 pins.I want the flexibility of having any pin be able to be an I/O pin, Vcc or GND.So far I am looking at using 3:1 analog switches controlled by a handful of shift registers, but I wondered if anyone knows of any better/cleverer way to do this? (it is starting to look like a lot of silicon)

author: ataradov
author_rank: Super Contributor
timestamp: February 17, 2023, 08:05:39 am
content: What is you maximum expected current consumption by the target?I'd consider Tri-state buffer on each pin, power the target via the output high/low. Some of those buffers may source/sink 30-50 mA. Same buffer used for driving the outputs. Inputs are read back directly.Plus you automatically get voltage level shifter.

author: BlackFX
author_rank: Contributor
timestamp: February 17, 2023, 09:17:33 am
content: That's a good idea, only drawback I can see is that I would need double the number of pins on the MCU side as I would need to have separate input and output on the MCU side. Unless I am misunderstanding what you are suggesting

author: T3sl4co1l
author_rank: Super Contributor
timestamp: February 17, 2023, 09:35:47 am
content: Note that if you happen to put in a chip with quite high current consumption (including transient i.e. shoot-thru during output transition), you'll need quite low resistance (and inductance!) to its supply/ground pins to avoid it glitching.Low-resistance switches have more capacitance, so this imposes a bandwidth restriction on how big a chip you can power vs. how fast you can run the signals.If you can only run at some 10s of MHz anyway (e.g. driven by a typical low-tier MCU), that should be fine, even for switches of a few ohms, which should be suitable for most logic and memory one would want to test, I think.Note you can save some capacitance by using a PMOS pullup to VDD, and NMOS pulldown to VSS, then an analog switch (or mux/demux, or tri-state, or...) to drive the signal. Parts like RUM001L02T2CL / RZM001P02T2L might be handy (minuscule package aside!). Analog switches are basically pairs of these internally so using switches to pull to VDD/VSS would double up capacitance for nothing.Hm, might also be a handy feature to set weak pull-up/downs, too; well, that's easy enough from the MCU side, no need for extra hardware. On that note, setting as power/ground could be used as a "super strong" drive option, but beware if you make them fight an output, that current has to go somewhere -- into other "super strong" drivers (the supplies proper).Also on that note, the MCU GPIOs are tri-statable to begin with; you might still want a mux to somewhat isolate it from the DUT (maybe so mux handles ESD?), or to avoid potential cross-wiring by "super strong" driving the MCU itself. But eh, it's just an MCU, fix it in software right, just don't screw up?Also might be nice to get raw ADC readings, instead of just logic levels; when static levels are available (i.e. the chip isn't self oscillating), that should be easy enough. And then output strength can be checked against weak pull(s), also automatically ohming out all the clamp diodes to detect supply pins, etc.Could put in a total current draw (VDD current sense) option too, hm. So many options to choose from... software's the only limit, really.Tim

author: ataradov
author_rank: Super Contributor
timestamp: February 17, 2023, 05:02:45 pm
content: Quote from: BlackFX on February 17, 2023, 09:17:33 amI think you want this anyway for a generic tester. You want to be able to drive the pin and be able to read back the actual state to detect shorts.You would need 3 control pins per target pin - output enable, output level and input level. It would be 28*3=96 I/Os. Or 6 16-bit I/O externders.