Page 1 of 1

Hardware issue needs a new board/serious bodge [Fixed]

Posted: Jan 30th, '22, 07:23
by Laughing
Personally, I'm quite thankful that so much work went into such a large board, and such a beautiful case for this project, but upon firing my Yocto 2 up for voices test, nothing was getting through. Upon investigation and probing, I've found a grievous issue with the hardware for sending accents to the various voices, one that necessitates a serious bodge or a new board entirely.

This is the part of the circuit that has the problem:

Atmerga1284 (MUXA/B/C/INHMUX1/INHMUX2) -> CD4049 inverter -> CD4051 address lines

The Atmega cycles through a 3 bit counter timed up with everything else in it's code to trigger the right voices at the right times. The CD4051's divvy out the voltage from the MCP4822 to all the respective voices fast enough to make it seem like if you had a bass and snare hitting at the same time, they certainly sound like they do. That's fine. The issue is the CD4049.

The CD4051 needs it's inputs to be seeing voltages in line with it's supply voltages, which happen to be 15V and GND. Not going to happen when the Atmega is a 5 volt device. So the CD4049 comes in, doing the important job of inverting the logic signals so the CD4051 gets the correctly referenced lines... and also level translating? No, the 4049 is not a logic level translator, nor does the "B" mean "B"uffered, it just means that it's the second revision of the 4000 series chips that came with an extensive amount of circuit protection to prevent static shock problems. The 4049 is literally a pair of push pull MOSFET's per channel along with associated protection diodes and resistors to source the gate with voltage. What ends up coming out of the 4049 is an inverted chain of pulses that wiggle between 15 volts and 10 volts because of the associated circuit inside of it. That 10 volts is not good enough to register as a logic low, so it never flicks over.

You need a basic logic level conversion before the Atmega lines go into the 4049, probably 2 transistors per channel would do it, or maybe 1, I forget, but it's really easy. I'd go with the transistors because even though you'd have some outlying floor above ground or ceiling below 15, it would still be enough to trigger the 4051 lines, and it's a lot easier than loading in a whole "TTL-CMOS Logic Level Translator(TM)" chip or, god forbid, a suite of opamps (Though the opamps alone could do this for you, given the proper slew rate specifications. Don't just use TL074's again).

Anyways, if I get a bodge working, I'll report back at some point, unless this problem has already been encountered and there's already a fix out there?

Re: Hardware issue needs a new board/serious bodge

Posted: Jan 31st, '22, 01:44
by Laughing
Welp, I fixed it.

So, the CD4049 has been entirely replaced by a set of MOSFET's for each channel (2N7000, be wary of the OnSemi datasheet giving wrong pin definiteions) soldered up in a deadbug fashion in order to give the CD4051 address lines the correct logic sequences and voltage levels. I now got sounds out of each of the channels in voice test mode. Each input into the 4049 now goes into the gate of a MOSFET. Source is at ground, and Drain goes into a 4K7 or whatever resistor before hitting +15 volts supply that was normally supplying the 4049. The Drain of each MOSFET is also the output, going into the 4051 address lines. I've attached some pictures of the physical setup, may add pictures of a circuit later.

Hope to god or whatever that this thread doesn't get buried and some kind of pinned hardware bug list gets worked into this forum and the official documentation, because this fix is necessary for any of these Yocto's to work.

Pic 1: https://cdn.discordapp.com/attachments/ ... 170444.jpg
Pic 2: https://cdn.discordapp.com/attachments/ ... 170425.jpg

Re: Hardware issue needs a new board/serious bodge [Fixed]

Posted: Mar 3rd, '22, 10:54
by JadeProject
Hi,

thanks for this, as it is THE topic we are looking for in our build. We built an 808² and missed the "last" 4 instruments (CY,OH,CH,PC2). By tracking down this behaviour we found the missing trigger. After spending a while diagnosing the connections, tracing some lines, testing some parts, I accidentally
touched the pins of IC111 (4051BE) and triggered the missing instruments (being still in voices test mode). I compared everything with the fine working IC114 and couldn't find any differences.

Having dealt with logic ICs in the past and looking at the schematic there was a bell ringing in my head concerning min/max logic levels and the insight that these devices could work in a voltage range that's rather forgiving and that some things just had to be right (sorry, that was about ten years ago, I couldn't get it straight).

After an extensive look around the forum I found a topic that dealt with missing voices, swapped another 4051 in and fixed the issue. That did the trick here, too. So maybe the levels are out of specification (the 15V/5V thing) and production tolerances are helping some of the ICs to work.

We will look into this in the next few months, since it's a study exam in our lab. Thank you for your great work!

Re: Hardware issue needs a new board/serious bodge [Fixed]

Posted: Mar 7th, '22, 03:56
by e-licktronic
Hi there,

For the 4049 you have to use the one from the mouser BOM that is a Texas instrument CD4049UBE. https://eu.mouser.com/ProductDetail/595-CD4049UBE
Cause this Hex inverter is powered with the +15V rail to drive the 4051 and has to be unbuffered
Idem for the 4051 , it has to be this one https://eu.mouser.com/ProductDetail/595-CD4051BE

Re: Hardware issue needs a new board/serious bodge [Fixed]

Posted: Mar 9th, '22, 00:20
by Laughing
e-licktronic wrote:Hi there,

For the 4049 you have to use the one from the mouser BOM that is a Texas instrument CD4049UBE. https://eu.mouser.com/ProductDetail/595-CD4049UBE
Cause this Hex inverter is powered with the +15V rail to drive the 4051 and has to be unbuffered
Idem for the 4051 , it has to be this one https://eu.mouser.com/ProductDetail/595-CD4051BE
E-Licktronic,

Thank you for getting back to me, and I'd like to add a thank you for making the Yocto in the first place before we get into the matter of this issue. I really appreciate my instrument now that I've gotten it working, and it's been fun testing the edges of it's capabilities. :)

In the mouser page for the CD4049UBE that you linked, You need to go to the datasheet listed on that page, then go to page 8. On that page the Voltage Input High Minimum is listed for a variety of Vcc levels. Our condition is Vcc=15V (and Ta=25c, but that doesn't really matter). It lists a Minimum input high voltage of 12.5V. That means that the output of each inverter channel will only change state when the input reaches up to 12.5V or higher, which is impossible for the Atmega to do, since it uses 5V logic levels. This is what I'm picking out of your design. I know that the 4051 needs 15V signals to drive it's address lines. The CD4049UBE will not change it's outputs if it's Vcc supply is 15 volts, and you are sending 5 Volt logic signals from the Atmega into it.

You need to investigate the matter of level translation, as that is the subject of this problem. I'd naturally recommend my method with the MOSFET's, or you can put a CD4504 between the Atmega and the CD4049UBE.

Re: Hardware issue needs a new board/serious bodge [Fixed]

Posted: Jun 22nd, '22, 22:13
by steviewigan
Laughing,
Interesting stuff....

If you look on Page 11 of the CD4049 UB datasheet
there's an input/output voltage graph - which admittedly is for a Vcc of 10V and no graph seems to exist for a 15V Vcc.

It shows that an Output Voltage of 4V is produced for an input voltage of >4V

The CD4051B data sheet has a input voltage for a logic level low as 4V max
The unbuffered 4049U seems to give a bit of wriggle room but it does look like we're relying on an overlap in the device characteristics between 4049U and 4051B rather than clamping it to GND/15V

I mean if you were absolutely right there wouldn't be a single working yocto would there?
Anyway gathering parts for mine now but does make you think!

Cheers
Stevie