A super simple BBD tester concept - displaying stage counts

Started by Kevin Mitchell, December 10, 2019, 09:55:12 AM

Previous topic - Next topic

Kevin Mitchell

This thread is for progressive experimentation and eventually an all-in-one BBD tester (for MN3XXX type BBDs). I'm mostly thinking out loud and hoping for some feedback from the folks to actually know what they are doing  :icon_lol:

After reviewing one of Armdnrdy's old schematics from when he was hashing out his own BBD tester I've concluded that it can be done very easily with just a microcontroller and a clock source.

For the first trial I'll use a V3102 clock and a mix of MN3204, V3207 & V3205 BBDs.
Here's the waveform the BBD is expecting from the clock (will verify with an oscilloscope)


We should be able to use one of those pulses and read them as a logic high/low signal. Each time it goes high, we add +1 to a counter.

So here would be the steps...

Start test
-MCU sends 5v DC signal to BBD
-Start counting each clock pulse

-Wait for signal to reappear...

-Freeze counter when signal appears at BBD output
End test

This will show BBD stages - plus or minus one I presume
And also verify that it is passing signal

Once I get this going on an arduino I'll have to work out the clock so it can be used universally with all common type BBDs that run off +9v and -15v. Perhaps the v3102 can handle this but the max VDD rating is 12v. Maybe that'll be enough for the MN300X or maybe I can push it a few volts higher.

Here's how I'll likely set up the zif socket. The power requirements for this method is a bit crazy - but ultimately it's more cost effective than using more than one zif socket - and we can run it off the standard 9v and a couple LT1054 ICs.



Be back tonight with a breadboard video.

-KM
  • SUPPORTER

DrAlx

320x series can run off 5V supply.  An Arduino runs off 5V.
Can't you drop the 3102 and just generate the clock signals as well as the I/O "data" for the BBD using an Arduino.  You would need to make sure that the clock pulses have an appropriate dead band (i.e. that they are not both high at the same time).
Could just boil down to a programming exercise.


Kevin Mitchell

#2
All very true! But the clock and VDD voltages would vary between the 320X and 300X type - the 300X is looking for -15v clock signals while the 320X is looking for +5. So I figured it would be best to keep the clock separate so I can switch between these requirements.

+9v VDD was appealing as it's easier to work with considering my method of power switching while using a single zif socket - see the diagram I've posted.

EDIT - I'm a little concerned about the V3205 having a max VDD rating of +8 while all the other coolaudio BBDs are +10v. So I may turn that +9V into +7.5V. This should also eliminate the need for a 15V regulator for the MN300X supply.

-KM
  • SUPPORTER

PRR

> 300X is looking for -15v clock signals

AFAIK, the high voltage is needed for high clock rates and good S/N. If you are slow-clocking and don't look at hiss, they should all run with 8V power and clock.

And of course + and - come from the ancestral use as digital memory and the conventions of N or P technology. They can all be run with + hot, - common with appropriate re-labeling of pins and signals.
  • SUPPORTER

Scruffie

That's the second time I've read about the v3205 having a max voltage rating of +8V in recent memory, I don't know where it's originated but they're no different than the other 320X series and have a terminal voltage rating of +11V.

The MN300X series will run off +5V as well, as Paul says, just not something you'd do in practice.

Kevin Mitchell

Quote from: Scruffie on December 10, 2019, 02:18:13 PM
That's the second time I've read about the v3205 having a max voltage rating of +8V in recent memory, I don't know where it's originated but they're no different than the other 320X series and have a terminal voltage rating of +11V.
I'm just noticing one coolaudio datasheet says 8 volts and another says 9.

Didn't think the MN300X type would run at low voltages since the min/max rating is -/+ 1V from -15V. But if I can find any form of the signal exiting the BBD then that's enough to work in this application - proving it's not a dead or counterfeit BBD.

-KM
  • SUPPORTER

Scruffie

You're quite right, I'd not spotted that, but if you go down to the "Absolute Maximum Ratings" table, it says 11V. They do run optimally at about 8V so perhaps that's why.

Noise and distortion will be high, gain will be low but it should pass a signal. If it turns out to be too fussy for your needs though, +9V will be fine for everything.

Kevin Mitchell

Last night I set up the breadboard and tested a couple of BBDs with an LED at the input and output - so one can visually see the delay happening. So far so good!

The mcu is reading the clock signals but I haven't finished the code to prove it's accuracy yet. I should have time to finish it up tonight. Waiting for my zif sockets and LED display to arrive then I'll draw up the board and see about getting a few fabricated. It's defiantly a neat project if you want a quick way to verify these BBDs.

-KM
  • SUPPORTER

Kevin Mitchell

Was having trouble getting the output of the BBD to appear as a logic high. I have a few ideas in mind on how to get around this. Just need time.

-KM
  • SUPPORTER

ElectricDruid

Quote from: Kevin Mitchell on December 23, 2019, 08:49:39 AM
Was having trouble getting the output of the BBD to appear as a logic high. I have a few ideas in mind on how to get around this. Just need time.

-KM

Does the Arduino chip have any on-board comparators? I've had success on PICs using internal comparators for stuff like that (autotuning of 3340 VCOs, for example). I'm not so familiar with the AVR chips, although I imagine they offer similar features.


Kevin Mitchell

Sorry I let this one get away from me. Yes, Tom. There are comparators with the Arduino.

I have a load of devices coming in soon so I'm going to try and get this one fully functional by the weekend.

-KM
  • SUPPORTER

FiveseveN

Looks like the threshold for input HIGH is 2.6V according to this experiment: https://www.radishlogic.com/arduino/arduino-uno-schmitt-trigger-voltage-levels/
Might as well use the ADC inputs to characterize the signal even further. Apparently "the ADC is rated up to 1 MHz", I'm sure there's useful resolution in the range you're interested in.
Quote from: R.G. on July 31, 2018, 10:34:30 PMDoes the circuit sound better when oriented to magnetic north under a pyramid?

Kevin Mitchell

I am using the analog inputs. At least now I am  :icon_lol: Started from scratch today. Just working out a few small things.

It would be easier if I use the micro as a clock source as well. Going to try to work that out.

-KM
  • SUPPORTER

ElectricDruid

Quote from: Kevin Mitchell on April 16, 2020, 12:03:01 AM
It would be easier if I use the micro as a clock source as well. Going to try to work that out.

*Far* easier to clock the BBD with the micro and then all you have to do is count the clock pulses and spot when your input signal appears at the output. Since you don't care about exactly how long the delay is, but instead only how many stages it is, you only really need some peripheral (anything!) that can produce a square wave


Kevin Mitchell

Yup!

Right now I have the Arduino providing 2 pulses, one inverted, 50% duty cycle at 10kHz. Just need to play with the code to add a monitoring pin without interrupting the clock. Shouldn't be too hard.



-KM
  • SUPPORTER

Kevin Mitchell

#15
Eyyy I'm almost there. Polishing it up, adding a 4 digit display and a clock speed pot.
I've worked out what I believe is the best way to go about switching connections for different devices. So far it seems to be good to test 15 different BBDs! Sadly it requires 3 switches - a 2P2T, 3P2T and 1P2T.



Feel free to post some suggestions if you have any!
-KM
  • SUPPORTER

Kevin Mitchell

Alright, guys. Before I go on showing my breadboard progress, any ideas why I'm having trouble with the MN300X devices? Simply swapping the power pins does not work for these in my circuit. I'll hit the datasheets again to see what could be the problem.

On the plus side, the program is working fairly well for the low voltage devices. I have to tighten things up to get an absolute stage count but it's very close. This is due to the input pulse being on longer than it needs to be (my programming skills are rusty as well as not so great to begin with  :icon_lol: Trial and error.

-KM
  • SUPPORTER

Scruffie

The source follower resistor, has to switch with the power & ground.

ElectricDruid

What no MN3011?!?  :P

Looks good so far, Kevin. Dealing with all those different pinouts looks like a nightmare. I'm not surprised it took all those switches.

Kevin Mitchell

Actually I have a MN3011 on the way. Could add it by adding another ziff and replacing the read out toggle with a 6 throw rotary. Yeah I've thought about it  :P
The alternative would be to use a few zif sockets instead of just one. That would eliminate the switches. But where the fun in that?

Scruffie - good catch! I might have to adjust the comparitor after the change. I'll scope the output to see if it's actually spitting out signals. Should have done that in the first place  ::)

-KM
  • SUPPORTER