![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
andrel <byt### [at] gmail com> wrote:
> I think I resist any urge to comment on this. Other than "RTFM" and "buy
> any 'electronics for dummies book'" before embarking on such a project.
A good place to start would be Don Lancaster's two books, TTL COOKBOOK and CMOS
COOKBOOK. Wonderfully easy to read and comprehend. My copies are *old*,
dog-eared and marked up with my comments--I basically taught myself digital
electronics and logic from them, starting from scratch. The best books on these
subjects that I've ever run across. (I see that they are still available at
Amazon.)
Ken
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> OK, so if I'm understanding this right... The 74126 (go look it up)
> contains 4 "buffers" - gates who's output is logically equal to their
> input. But each gate also has an "enable" pin. When the enable pin is
> high, the gate works like normal. When the enable pin goes low, it's like
> the output pin isn't connected to anything any more.
Yes exactly.
> And it seems that this allows you to connect several outputs together,
> forming a kind of wired-OR configuration, provided that at all times only
> one gate is "enabled".
Yep, you could make a simple address decoder logic circuit (ie have a 2 bit
binary input to select which of the 4 buffers to enable) - that way you
would guarantee only 1 would be active at a time. If you were to connect a
2-bit counter to the 2-bit address lines you would then have a 4-bit
parallel to serial converter :-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> See for yourself:
>
> http://www.maplin.co.uk/Module.aspx?ModuleNo=35702
>
> "Forward current: 25 mA"
>
> If you can figure out what the hell that means, be my guest...
Load up the actual PDF spec that is linked from that page, it has more
detail, just stating the forward current like that means nothing.
On page 3 there is the "Absolute max" table, the continuous current here is
listed as 20/25/30 mA depending on the colour. That is the maximum, above
that they do not guarantee the LED will work.
On page 2 you see they've done all the spec values at 20 mA forward current.
Now look at the lower part of page 3, some interesting charts there
(assuming the Bright Red colour, the others are on the next pages).
The one in the top right shows "brightness" against current. You see it's
linear up to 10 mA and then flattens out. This is saying there isn't much
point using more than 10 mA, it won't be very efficient.
The one in the top left tells you what current will be drawn for a
particular voltage across the LED. If you want 10 mA then you're going to
need to give the LED 2.1 V. You also see here that even adding just 10% to
that voltage makes the LED current almost 3x higher!
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> Why is that weird? The LED doesn't care which leg is connected to the
>> logic output pin, it's just a voltage. You could even connect the LED
>> between two output pins*, then it would only turn on when one was high
>> and the other was low.
>
>
> There's even a name for that trick: Charlieplexing.
Cool - is there also a name for when you connect a tiny speaker to two
output pins and give one pin a square wave, and the other the inverse of the
square wave - to make your speaker 2x louder than everyone elses? :-)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 20.05.2010 09:11, schrieb scott:
> Cool - is there also a name for when you connect a tiny speaker to two
> output pins and give one pin a square wave, and the other the inverse of
> the square wave - to make your speaker 2x louder than everyone elses? :-)
That would be differential audio (also frequently but incorrectly
referred to as balanced audio).
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> OK, so if I'm understanding this right... The 74126 (go look it up)
>> contains 4 "buffers" - gates who's output is logically equal to their
>> input. But each gate also has an "enable" pin. When the enable pin is
>> high, the gate works like normal. When the enable pin goes low, it's
>> like the output pin isn't connected to anything any more.
>
> Yes exactly.
>
>> And it seems that this allows you to connect several outputs together,
>> forming a kind of wired-OR configuration, provided that at all times
>> only one gate is "enabled".
>
> Yep, you could make a simple address decoder logic circuit (ie have a 2
> bit binary input to select which of the 4 buffers to enable) - that way
> you would guarantee only 1 would be active at a time. If you were to
> connect a 2-bit counter to the 2-bit address lines you would then have a
> 4-bit parallel to serial converter :-)
I was thinking more about routing bundles of signals from place to
place. The "obvious" thing to do is use logic gates to combine the
signals, but I guess using these weird 3-state systems allows you to
save a few logic gates (and hence ICs, wiring, and ripple time).
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
scott wrote:
> Load up the actual PDF spec that is linked from that page, it has more
> detail, just stating the forward current like that means nothing.
Oh, right. I hadn't even noticed that hidden away in a corner there! I
noticed some of the other pages had this, but in *light grey* it's not
especially prominent.
> On page 3 there is the "Absolute max" table, the continuous current here
> is listed as 20/25/30 mA depending on the colour. That is the maximum,
> above that they do not guarantee the LED will work.
I see.
> Now look at the lower part of page 3, some interesting charts there
> (assuming the Bright Red colour, the others are on the next pages).
>
> The one in the top right shows "brightness" against current. You see
> it's linear up to 10 mA and then flattens out. This is saying there
> isn't much point using more than 10 mA, it won't be very efficient.
Right. So it will light up with just 10 mA, just not quite at full
brightness. (On the chart I'm looking at, 15 mA looks like it's
meaningfully brighter, but any higher than that has negligable effect.)
> The one in the top left tells you what current will be drawn for a
> particular voltage across the LED. If you want 10 mA then you're going
> to need to give the LED 2.1 V. You also see here that even adding just
> 10% to that voltage makes the LED current almost 3x higher!
Right. So I'm looking at 2.1 V or 2.2 V or thereabouts.
Now looking at <http://focus.ti.com/lit/ug/scyd013b/scyd013b.pdf>, on
page 231 (which is actually page 236 of the PDF file), we see that for
the 74HC00 I'm looking at using, we have Icc <= 0.02 mA, Iol = -Ioh <= 4
mA, and tPLH = tPHL <= 27 ns. Now, if I actually knew WTF that means...
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Orchid XP v8 wrote:
> Hey, what do you *think* I've got a dad for? ;-)
Wait - DON'T ANSWER THAT! >_<
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Am 20.05.2010 10:06, schrieb Invisible:
> I was thinking more about routing bundles of signals from place to
> place. The "obvious" thing to do is use logic gates to combine the
> signals, but I guess using these weird 3-state systems allows you to
> save a few logic gates (and hence ICs, wiring, and ripple time).
For unidirectional point-to-point connections, 3-state logic doesn't
help you much, as there's no sane way to properly identify the
"floating" state (unless you care to use some kind of ADCs at the
receiving end).
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Right. So it will light up with just 10 mA, just not quite at full
> brightness. (On the chart I'm looking at, 15 mA looks like it's
> meaningfully brighter, but any higher than that has negligable effect.)
Yes, every LED datasheet has a brightness against current curve. Even for 1
mA or 0.1 mA it will light up, but obviously it won't be very bright! Note
that even for 0.1 mA you probably still need a least a volt or so, which is
why LEDs don't light up at all below a certain voltage.
> Right. So I'm looking at 2.1 V or 2.2 V or thereabouts.
>
> Now looking at <http://focus.ti.com/lit/ug/scyd013b/scyd013b.pdf>, on page
> 231 (which is actually page 236 of the PDF file), we see that for the
> 74HC00 I'm looking at using, we have Icc <= 0.02 mA, Iol = -Ioh <= 4 mA,
> and tPLH = tPHL <= 27 ns. Now, if I actually knew WTF that means...
Dunno, what Icc means here, maybe the current consumption of the device
itself?
From this page:
http://www.kpsec.freeuk.com/components/74series.htm
The HC series can sink and source up to 4 mA on the output pins if you want
the signals to still be valid (eg for input to further logic gates). If you
are just using them to drive LEDs then apparently up to 20 mA is OK.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |