Logic Probe Delux project. Gathering features. - Page 1
Forum section: electronics / projects

author: obiwanjacobi
author_rank: Super Contributor
timestamp: November 11, 2016, 05:28:26 pm
content: I was thinking of doing a DIY Logic Probe project. I know they were quite popular 'in the day' but not so much anymore. Why is that? Has the logic analyzer made the humble probe obsolete?Anyway, I think it will be a handy tool in my digital tinkering and repair work, so I decided to think what I would want it to do. Problem is I don't have any hand-on experience, so this post is to get another perspective on the matter.I have a Cypress PSoC4 (kit) laying around and wanted to use that. I know, way overkill, but it also allows some Delux options. I want to use the Analog parts in the PSoC as much as possible and have the MCU to run some software to process the probed signal more extensively.What I am thinking of (in no particular order):1) Power from 5V and 3.3V. Ideally no switching required.2) Optional battery? Only a ground clip needed. Battery charged when fully hooked on.3) Very accurate determination of high and low logic levels. I want to be able to catch weighed down signals and of course floating conditions.4) Auto scan for different chip technologies, like TTL and CMOS (is that possible?)5) Possibly allow differential probing with an extra lead.6) Have two small buttons near the end to control the software 'in flight'.7) Have avery small OLEDdisplay to display status.Have a buzzer for making signal characteristics audible (can be switched off)9) A very simple scope displayed on the OLED. More to give a ball-park idea of what the signal looks like.10) Display the frequency (hertz) and counter (ball park)11) On-Board SPI/I2C/Uart analyzers, displaying hex bytes. Not sure if this will work (we're still brainstorming here)12) Configurable load on the 'test subject'.13) Inject test signals (output) into the unit under test. Might be dangerous, open collector with series R?14) Simple volt meter15) No LEDs. Do I need leds? Maybe handy not to have to look away (also have audio for that)...16) Connect over USB (UART?) to the PC for real-time logging (would prefer using some standard PC software).Did I miss something?From what I understand of the schematics the 'frontend' is basically two comparitors that are biased to detect the TTL/CMOS voltage thresholds and light up the high and low LEDs. That same frontend can be made inside the PSoC4 and a DAC can be used to determine the levels (I think). I though a ADC would sample the raw signal for the scope and voltmeter functions as well as detecting noise or a non-standard level (display a signal quality index?). I would want some protection on the probe so I don't blow my chip if you come in contact with other voltages (power rails) - preferably detect that and sound the alarm.The goal is to use as much of the PSoC4 as possible and use as little external components as possible.Would this make a useful instrument?

author: tggzzz
author_rank: Super Contributor
timestamp: November 11, 2016, 07:36:34 pm
content: Quote from: obiwanjacobi on November 11, 2016, 05:28:26 pmAvailability of scopes.Wide range of input voltages (not just 3.3/5) and high/low/threshold levels.Signal integrity when using a flying lead.Differential signals.Voltmeter does 99% of the job, plus it can measure duty cycle.How often is it really useful to be able to catch a single pulse?I've had one for a long time, and never used it.

author: Paul Price
author_rank: Super Contributor
timestamp: November 11, 2016, 07:47:50 pm
content: The digital oscilloscope is the tool of choice these days instead of a logic probe, which was only used because scopes and digital storage scope were extremely expensive and designs were then using tons of individual glue logic chips.Nowadays, almost 99.9999% of the logic in a design is likely inside a a digital chip, so your probe has nowhere to probe.Sure, you can "sniff" the level changing at a pin and feed the result to control some sort of 555 timer oscillator-->speaker to get an indication of something's going on, but what value really is the buzz you get from that?In any case to accomplish this you don't get any advantage using an ARM MCU when a 555 timer and a few other CMOS gates might much more cheaply and easily be used to make your logic probe.Injecting signals onto the pins of most chips would likely damage the chip, unexpectedly switch the initial state of the pin you are probing and give you unexpected results, in the worst case damage the I/O drivers on the chip you are futzing with.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: November 13, 2016, 07:38:57 am
content: That's the reason why I thought it would be handy then: I have no modern digital scope.I have an old analog Dynatek 20Mhz scope...

author: tggzzz
author_rank: Super Contributor
timestamp: November 13, 2016, 07:53:59 am
content: Quote from: obiwanjacobi on November 13, 2016, 07:38:57 amWith a little imagination and understanding that is a perfectly adequate replacement for a logic probe, with the exception of size and power consumption.It is obvious that a scope can display high/low as well as an LED. To get the pulse capture, simply use "norm" triggering and set the trigger level appropriately. There will only be a visible trace when there is a pulse.If you want to decode protocols, e.g. SPI, then use a Bus Pirate or similar.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: November 13, 2016, 08:07:33 am
content: Yes, I know it can be done, I just don't think it is 'handy'. I have my scope up and to the side a bit (due to space constraints) and having to look up sometimes makes me slip of the small legs of an IC etc.I thought I would be more convenient to have everything you need for an initial diagnoses right there at your finger tips...

author: hlavac
author_rank: Frequent Contributor
timestamp: November 18, 2016, 02:45:00 pm
content: I'm interested in what you come up with for the input side!I have designed a logic probe a few years ago, it was not deluxe,but it was able to catch short pulses. Here are some of my design ideas:It had two smd leds placed at the tip to indicate levels so I did not have to look upwhen trying to touch the right pin with the tip.Two leds are necessary because it is hard to see short pulses in changing color.It would sort of detect the high and low separately by detecrting current flow into/out of the tip, with floating tip triggering none of them. There was a 1M resistor with about 80pf cap across it at the input to help with the shortest pulses. Then there were voltage references for the logic levels. High impedance resistor divider set the voltages, then emitor follower shifted that by Vbe to charge a cap to level used to bias en emitor of a bjt so it would turn on as the input passed the logic level treshold. Then there was a 2 stage amplifier made from bjts that aplified the very low currents to something that would trigger the pulse stretcher.Then there was a simple pulse stretcher for each to make the shortest pulses visible and drive the LEDs.It was made from two pairs of NAND gates in a single smd 74hct00 chip.Maybe I could dig up the schematic if hou are interested...

author: obiwanjacobi
author_rank: Super Contributor
timestamp: November 18, 2016, 04:10:29 pm
content: Ik got stuck in the analog route editor of Creator, but this is what I have so far (see attachment).A bit naive perhaps, but I have not tried anything out for real yet.

author: hlavac
author_rank: Frequent Contributor
timestamp: November 18, 2016, 04:54:56 pm
content: Interesting, you want to use the psoc programmable analog hardware!This analog frontend will not allow you to detect the undrivenstate, which may or may not be a problem depending on whatyou want the probe to be useful for. I'd consider it a flaw personallyas I'd use it to debug stuff and poke around unknown hardware...There are ways to do that detection but they are not too friendlyto the measured hardware, mainly the CMOS stuff.One would be to have the probe tip float into the illegal regionin the middle using a high valued "pull-middle" resistor.That will work for most of the time but will be bad if you touch a floating input with it.Other variant would be to inject weak small amplitude signal and see if the tip is following itor is pinned to a logic level by driver. Not good for it is slow and will be ok only for more or less static signals. It may also inject unexpected signal into the meadured circuit.The only reasonable way I have found was to detect currents instead of voltages.I would have a NPN bjt with emitor at Vih - Vbe that would start passing some smallcurrent when probe connected to bade would get driven above Vih,and PNP in a mirrored setup for low side.You then end up with two input signals - one for "driven above Vih" and other for "driven below Vil",that are fast enough to detect short pulses.Disadvantage would be it is harder to change the tresholds, there would be also some difficultywith amplification if the levels are very close. What logic level tresholds do you want supported?

author: obiwanjacobi
author_rank: Super Contributor
timestamp: November 18, 2016, 05:18:31 pm
content: QuoteI hadn't gotten that far yet. But good point.QuoteGood idea. I have another opamp to spare and could feed that into another mux-input on the ADC. I could measure the voltage drop across the series resistor (which would probably be a little smaller than 10k).I also wanted to do differential and perhaps ohms with an extra lead, so that is where I was saving the opamp for...QuoteAny: it's programmable through the IDACs. I want to be able to set them very accurately - that is why I feed them back into the ADC, as a feedback loop for the software to control and measure.Thank you for the feedback.

author: hlavac
author_rank: Frequent Contributor
timestamp: November 18, 2016, 07:26:01 pm
content: I had a look at the psoc analog components datasheets.The analog comparators in psoc have only about 4.5MHz of bandwidth in their fastest mode, not fast enough. I'd say it should do at least 50MHz, preferably 100MHz.ADC is slow too for any realtime operation with only 1MSps.I'd say the psoc analog stuff is not suitable for this application, unless you use it on hardware with clock speeds less than 500kHz.You could use it to measure and precisely set the thresholds, but the level/edge detection itself will have to be special external hardware.

author: timb
author_rank: Super Contributor
timestamp: November 18, 2016, 09:44:02 pm
content: You could use one of the SIO pins as a comparator. Use one of the VDACs to program the reference voltage if you need a custom level. (Or you can select between TTL and CMOS which is built in.)The SIO should be able to hit 50MHz if your clock is fast enough.

author: Dielectric
author_rank: Regular Contributor
timestamp: November 19, 2016, 03:23:11 am
content: No SIO pins on PSoC4, those are only in PSoC3 and PSoC5LP. Probably looking at like 100kHz for a reasonable upper limit via the ADC.How about a frequency counter and/or duty cycle measurement too? Maybe use the frequency capture to figure out the clock rate on an SPI or I2C bus, that should be pretty do-able and moderately useful.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: November 19, 2016, 06:57:37 am
content: Oh shit, I never realized it was that low! Right....Lesson learned: always make sure your parts are up for it BEFORE you start the project.Luckily I wasn't too deep into it yet.Duty cycle % is a nice feature. Counter I had already (bullet 10, 1st post)

author: Skimask
author_rank: Super Contributor
timestamp: November 19, 2016, 07:32:36 am
content: http://mondo-technology.com/super.html

author: PointyOintment
author_rank: Frequent Contributor
timestamp: November 21, 2016, 08:57:12 pm
content: Quote from: Skimask on November 19, 2016, 07:32:36 amThat's one of the things I was going to suggest for inspiration. Also look attiqandmy project that's gone nowhere so far.

author: obiwanjacobi
author_rank: Super Contributor
timestamp: November 22, 2016, 06:09:03 am
content: Those are pretty good examples. Thanx.