[Noisebridge-discuss] [dorkbotsf-blabber] 3.3v serial-parallel shift register with open-collector output?

bandit bandit at cruzio.com
Fri Jun 22 01:44:43 UTC 2012


The MIC58P42 is a shift register (serial->parallel) where a '1' bit drives
the output to GND, otherwise the pin floats (open-collector output).
Usually available on digikey or mouser for a reasonable price, in both dip
and gull-wing.

Needs 5v VCC for the logic side, the output pin can sink 500 mA to 80
volts. The "K" pin should be attached to the output power if you are
driving relays ie the other side of the relay coil at 12v, connect K to
12v to prevent voltage spikes on relay changes.

At VCC = 5v, the logic input threshold is 3.5v, so you will need something
like a 74F06 as a logic level converter.

Min clock width is 150 nSec, data setup 75 nSec, data hold 75 nsec.

You can also daisy chain these together and clock the bits thru all of the
chips in the chain. Separate enable, clock, strobe lines. If you daisy
chain, connect the clock and strobe lines together. The enable lines can
be tied together or kept separate, depending on what you want to do.

If you put all of the pins on a single port, tiy can create an array of (8
* chips) with the data and control lines in the right places and clock
them out (if your clock is one of those bits, and you don't explicitly
control the clock bit when you run thru the array, you need to add the
extra bytes/words to the array... draw the picture if this description is
not obvious, or ask me the next time I am at NB, most saturdays)

Hope this helps.

... bandit



> I used to do this with D flip-flops and NPN transistors. Driving FETs
> directly off of TTL outputs seems like a bad idea to me. At least with the
> transistors you'll be able to drive far more current.
>
> -j
>
>
> On Wed, Jun 20, 2012 at 1:50 PM, Anders Nelson
> <anders.k.nelson at gmail.com>wrote:
>
>> Hi Tymm,
>>
>> Thanks so much for the detailed input!
>>
>> Yeah it seems like the 74AHC595 from NXP responds to a VinH of 2.1v at
>> 3v
>> supply voltage for a ratio of 0.7. If I apply that ratio to 4.2v I get a
>> VinH of 2.94v which ought to work when I throw 3.3v at it. Provided of
>> course my supply is stable enough... More caps!
>>
>> =]
>>
>> --
>> Anders Nelson
>>
>> +1 (517) 775-6129
>>
>> www.erogear.com
>>
>>
>> On Wed, Jun 20, 2012 at 1:24 PM, Tymm Twillman <tymmothy at gmail.com>
>> wrote:
>>
>>> In similar situations I've generally thrown a cheap npn transistor on
>>> the uC outputs & switched that with the GPIO.  Tristating should be
>>> relatively ok, but the npn transistor will generally give you more
>>> current -> faster transitions (dumping the charge on the fet's gate
>>> more quickly).  Hmm; at 250ns... if things have to actually switch
>>> that quickly you may have issues getting enough charge through the
>>> pull-up resistor on the fet's gate to turn it off in time.  if it's
>>> really important to meet timing, you'll want to calculate the
>>> worst-case timing based on the capacitance of the fet's gate, the gate
>>> threshold voltage and the resistance to the high rail... capacitance
>>> is much higher generally with larger fets
>>>
>>> Tristating, depending on the microcontroller, should be plenty fast on
>>> the control side of things if you are able to set all the pins on the
>>> port at once and can pre-compute the new values... though there's
>>> still potentially the above fet switching issue... also with almost
>>> any uC you'll be limited to somewhere 40ma or less, which may also
>>> extend the fet switching time.
>>>
>>> There are assorted serial interfaced driver chips that one can use,
>>> using fets or bipolar outputs... tpic6b595 and others... though
>>> they'll generally be quite a bit more expensive than driving via gpio.
>>>
>>> other approach would be to run e.g. a non-open-collector 74hc or
>>> similar shift register at 4.2v -- worth checking data sheets but in
>>> most cases your 3.3v signaling should work fine as an input, and the
>>> full swing on the output can help switch the fets more quickly.
>>> 74ac's will also give more drive current, which can also help speed
>>> switching times.
>>>
>>>
>>> On Wed, Jun 20, 2012 at 12:57 PM, Anders Nelson
>>> <anders.k.nelson at gmail.com> wrote:
>>> > Heyoo,
>>> >
>>> > I've become rather exasperated in my search for an 8-bit
>>> serial-parallel
>>> > shift register with open collector outputs. See, I'm trying to switch
>>> the
>>> > gates of some P-FETs that act as high-side current switches for the
>>> rows in
>>> > a scanned LED matrix. The LED bus voltage is 4.2v and all the ICs run
>>> on
>>> > 3.3v.
>>> >
>>> > I found the SN74LS596, but it's an ancient part that is not only
>>> enormous
>>> > but runs at 4.5v-5.5v which won't work in my system.
>>> >
>>> > I could use a microcontroller and just toggle the tri-state status of
>>> the
>>> > pins but I worry about how fast the device will respond - It will
>>> have
>>> to
>>> > blast out the I/O change within a blanking cycle lasting 250ns. That
>>> > requires between 4 and 8 MIPS which is not too powerful but this is a
>>> > low-cost product. =/
>>> >
>>> > Any suggestions are most appreciated!
>>> > --
>>> > Anders Nelson
>>> >
>>> > +1 (517) 775-6129
>>> >
>>> > www.erogear.com
>>> >
>>> >
>>> > ----------
>>> >
>>> > dorkbot: people doing strange things with electricity
>>> > http://dorkbot.org/dorkbotsf/
>>> > SUBSCRIPTION AND UNSUBSCRIBE OPTIONS HERE:
>>> > http://music.columbia.edu/mailman/listinfo/dorkbotsf-blabber
>>> >
>>> > ----------
>>>
>>
>>
>> _______________________________________________
>> Noisebridge-discuss mailing list
>> Noisebridge-discuss at lists.noisebridge.net
>> https://www.noisebridge.net/mailman/listinfo/noisebridge-discuss
>>
>>
>


-- 
bandit at cruzio.com
505-228-8197
bandit.name

I am a systems engineer, specializing in:
- Mission-Critical embedded systems
- device drivers
- control and data acquisition systems
My stuff *works* - *all the time*.

Member: INCOSE.org, PACA.org, IEEE.org, CaliforniaConsultants.org, quelab.net

And to support my son: Proud members of the New Mexico .NET User Group.
Please go to the community website at www.nmug.net.





More information about the Noisebridge-discuss mailing list