Selecting the right latch IC

GroupDIY Audio Forum

Help Support GroupDIY Audio Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

muzikliberated

Active member
Joined
Mar 7, 2013
Messages
33
Hey Guys,

I'm in a bit of a miff finding a suitable Latch IC.

The Problem:
I'm drawing a synth schematic, of which, the filter section has a series of 4066 analog switches which are used to re-configure the filter into different responses.
This part is done, coming out of the filter I just need to set 4 bits A B C D

Now, because there are a total of 8 filter sections, I would really need a lot of GPIO to keep all the filters catered for (I want to be able to control them all independently)

What I came up with so far is to use 4 x CD4508 all hanging off the same data bus and then use a 74HC138 (I know, its' the wrong symbol in the schematic) to select all the individual 4508s and clock in the bits to the filter section 4066 that way.

However, I dont think that's gonna work as I believe that only 1 chips outputs will be active at any one time, and of course, I need these to latch.
I think the 4508s go 'HI Z' so that if the output data is on a bus, only 1 chips outputs will be active at a time, which is backwards from what I want since the outs aren't busses.
I thought I could use the strobe instead of the /EN but that won't work either as the outs follow the ins when strobe is high.

In a pickle... lol

to recap, I have 8 filters, each needs 4 bits to be latched so they can be independently  set, I would like to be able to buss the data lines together to save on gpio opting to use separate enable lines.

Any suggestions?



 

Attachments

  • 4508.PNG
    4508.PNG
    87.5 KB · Views: 17
Can you use a bunch of shift registers connected in series...?  push the the 32 bits of data through them then latch new data with a common enable line.

You have to push all 32 bits every time, but only the ones that changed will change with the new updates.

Should take one SPI interface so 3 lines of I/O.

JR
 
The CD4058 is a buffer, not a latch. At the moment you do not have a latch in your schematic. I think you want something like an LS374 from memory. Use the 374 enable pin connected to a 138 output to latch the data into the selected 374.

Cheers

Ian
 
ruffrecords said:
The CD4058 is a buffer, not a latch. At the moment you do not have a latch in your schematic. I think you want something like an LS374 from memory. Use the 374 enable pin connected to a 138 output to latch the data into the selected 374.

Cheers

Ian

not the 4058, the 4508.
It's a dual 4 bit latch. http://pdf1.alldatasheet.com/datasheet-pdf/view/26901/TI/CD4508B.html

Still, won't work for our application though..

 
yeah something like this looks like it might be a good fit.

http://www.mouser.com/ds/2/302/74LVC_LVCH16374A-1148828.pdf

 
muzikliberated said:
yeah something like this looks like it might be a good fit.

http://www.mouser.com/ds/2/302/74LVC_LVCH16374A-1148828.pdf
You are thinking parallel... think series...  4 of these puppies in series will get you 32 bits of latch with 3 lines of I/O

https://www.nxp.com/pages/8-bit-serial-in-serial-or-parallel-out-shift-register-with-output-latches-3-state-based-on-pip-74hc-hct595:74HC_T_595

JR
 
muzikliberated said:
not the 4058, the 4508.
It's a dual 4 bit latch. http://pdf1.alldatasheet.com/datasheet-pdf/view/26901/TI/CD4508B.html

Still, won't work for our application though..

Whynot? Set output disable false and the outputs are always active. Use the strobe  from 138 to latch data.

Cheers

ian
 
muzikliberated said:
What I came up with so far is to use 4 x CD4508 all hanging off the same data bus and then use a 74HC138 (I know, its' the wrong symbol in the schematic) to select all the individual 4508s and clock in the bits to the filter section 4066 that way.

Any suggestions?

Why are you mixing 4000-series CMOS with 74HC parts? Do your supply rails dictate using 4000-series parts? If they're higher than 5V, then the HC parts (or whatever micro you're using) won't give you valid input logic levels. And if they're 5V, just use HC parts and don't bother with the 4000 stuff.

Yes, there are 4066 variants in the 74HC family.

I'm with JR -- use a serial-to-parallel shift register.
 
should I really trying to be using the 74LVC series throughout?
considering all this logic is being tied to an STM32 part.
 
muzikliberated said:
should I really trying to be using the 74LVC series throughout?
considering all this logic is being tied to an STM32 part.

For 3.3V logic? Absolutely.

(I suppose I should say you could probably roll it all up into a small $5 Lattice FPGA.)
 
Andy Peters said:
For 3.3V logic? Absolutely.

(I suppose I should say you could probably roll it all up into a small $5 Lattice FPGA.)
;D ;D ;D  I already have people on another forum complaining that my answer for everything is to use a micro.....

I dub thee Sir FPGA....  8)

JR
 
haha I would love to wrap it all up into a small $5 FPGA. but I have 0 xp with that, and neither does my developer,  frankly, we're a bit scared of them.

secondly, to be honest, buying logic ics is cheaper anyway. and I have a Juki pick and place machine so I can place QFN etc easily with it.

Now, going back to the 'think serial' thing,
For code simplicity, speed, codespace, dataspace we think it's better to use parallel. sure, using serial saves you gpio, i get that.

still scratching my head looking for a part, not finding anything in my 'CMOS Cookbook' lol
 
muzikliberated said:
haha I would love to wrap it all up into a small $5 FPGA. but I have 0 xp with that, and neither does my developer,  frankly, we're a bit scared of them.

Yes, be very afraid of them! They are VERY DIFFICULT and ONLY GURUS can use them!

Now, going back to the 'think serial' thing,
For code simplicity, speed, codespace, dataspace we think it's better to use parallel. sure, using serial saves you gpio, i get that.

You’re using an STM32 ARM — surely it has SPI (or USARTs which can be configured as SPI) ports? Why would there be an impact on code space? Writing to the SPI port is one instruction. Reading from the port is one instruction.  Data space? Why an impact there?

It’s actually easier than setting up a bunch of bits on the micro, especially if you can’t find eight or however-many contiguous bits in a port. As for speed, you’re controlling analog switches for a synthesizer, surely that doesn’t require blazing-fast switching?
 
muzikliberated said:
haha I'm not trying to be difficult, honest..
It's a book by Don Lancaster...

I was teasing about the cookbook but thought they were mostly for analog design (i never actually read one).

Do not dismiss the suitability of using digital shift registers (like 595) for serial to parallel conversion and latch, but do what works for you, more than one way to skin a digital cat.

JR
 
I've given up on the parallel thing.
I'm now setting about doing it with shiftys now trying to decide whether to use a 32bit spi shift register or daisy the 8 bit ones (or 16 bit ones)

:)
 
muzikliberated said:
I've given up on the parallel thing.
I'm now setting about doing it with shiftys now trying to decide whether to use a 32bit spi shift register or daisy the 8 bit ones (or 16 bit ones)

:)
For the 4000 series, the part you probably want is CD4094. The clock goes to all clock pins, the data pin is daisy chained, and you use the strobe pin to change the outputs when everything is shifted in. I don't know of a 74 series equivalent offhand, but surely there's something very similar. You can even bitbang a few GPIO outputs to drive them with a little programming.
 
benb said:
For the 4000 series, the part you probably want is CD4094. The clock goes to all clock pins, the data pin is daisy chained, and you use the strobe pin to change the outputs when everything is shifted in. I don't know of a 74 series equivalent offhand, but surely there's something very similar.

74LVC595.
 

Latest posts

Back
Top