TTL drive

Questions on other types of hardware and getting it talking to the ARM CPU
Post Reply
YahooArchive
Posts: 1462
Joined: Fri Oct 19, 2012 5:11 am

TTL drive

Post by YahooArchive »

> Im sure it can output to 74LS circuits, but what about 74HC and the
like?

The ARMmite and ARMexpress interface directly to 74LS or any TTL
compatible IO

74HC is a CMOS input, and would be like any TTL device and require a
pullup of 10K when driving an HC device
No series resistor would be required when an HC device is driving an
ARMmite pin, assuming the HC device is being powered from 5V or lower.


Here are the detailed specs on the IOs (from the NXP 2103 data sheet)

Standard port pins, RESET, RTCK
IIL LOW-state input current VI = 0 V;
no pull-up - - 3 mA
IIH HIGH-state input current VI = VDD(3V3);
no pull-down - - 3 mA
IOZ OFF-state output current VO = 0 V, VO = VDD(3V3); no
pull-up/down - - 3 mA

VI input voltage pin configured to provide a digital function [5] [6]
[7] 0 - 5.5 V
VO output voltage output active 0 - VDD(3V3) V
VIH HIGH-state input voltage 2.0 - - V
VIL LOW-state input voltage - - 0.8 V
Vhys hysteresis voltage - 0.4 - V

VOH HIGH-state output voltage IOH = -4 mA [8]
VDD(3V3) -0.4- - V
VOL LOW-state output voltage IOL = -4 mA [8]
- - 0.4 V
IOH HIGH-state output current VOH = VDD(3V3) - 0.4 V
[8] -4 - - mA
IOL LOW-state output current VOL = 0.4 V [8]
4 - - mA

IOHS HIGH-state short-circuit output current VOH = 0 V [9]
- - -45 mA
IOLS LOW-state short-circuit output current VOL = VDDA
[9]- - 50 mA

notes
[5] Including voltage on outputs in 3-state mode.
[6] VDD(3V3) supply voltages must be present.
[7] 3-state outputs go into 3-state mode when VDD(3V3) is grounded.
[8] Accounts for 100 mV voltage drop in all supply lines.
[9] Only allowed for a short time period.



YahooArchive
Posts: 1462
Joined: Fri Oct 19, 2012 5:11 am

Re: TTL drive

Post by YahooArchive »

>To free lines for the front panel interaction I need to use something
like a 3-8 decoder --- what would be the best chip for this purpose
- Am I correct in assuming that this takes 4 lines -3 address lines
or the output selection + 1 line for the enable ?

74HCT138 or 74LS138 is a good 3:8 line decoder, also my favorite TTL part

>To encode the keyboard matrix - what chip should I use -- something
like a 74C922? Is there anything special required in the code for
debouncing the contact ?

I've never used this part, and while pricey it looks like it will do
what you need. BUT, this is a CMOS part so if you run it off 5V its
inputs are not TTL compatible, so buffering would be required. In
this case the only input is the output enable, which you might just
end up grounding, unless you need to share the pins. It also has
internal debouncing.

>If I want to drive the discrete leds - should I keep the output
through the ULN2003 in order to provide a higher current capability
like they did - again drive this via a 3 - 8 decoder?

Most LS TTL drivers output 20mA which is more than enough for most
LEDs, ULN2003s are overkill, but if prewired go ahead and use them.

>Ok serial comms between the two CPUs is your recommendation and I
will follow it. I do however need to switch either unit to the USB
board at times for programming. I could mount a spdt mini toggle
(center off) on the chassis and use the output to switch the serial
lines from the CPUs linked to either one attached to the sparkfun
board. Are 4066 's adequate for this ? or is there a better chip for
this purpose ?

You could use jumpers, switches, or muxes, a 4066 would not be my
choice, but would work, I'd go with a 74**257. You could probably
arrange the connection so that the USB breakout board does the
switching, by using the power on one of the pins for control (pulldown
resistor to GND to sense when USB board not plugged in)

YahooArchive
Posts: 1462
Joined: Fri Oct 19, 2012 5:11 am

Re: TTL drive

Post by YahooArchive »

>Looking at the circuit
> diagram it seem to have to do with IO(15) being connected to the LED
on
> the ARMmite board. I am using switches to apply high and low
signals.

The normal method is to use a ST (single throw) switch to connect to
GND for the low value and have a pullup resistor for the high value.
Its almost always safe to connect an input pin to GND.

This is not the case for connecting to power, as if the circuit driving
the input is powered, and the input circuit is not, power will be
sourced through the parasitic diode into the unpowered part. If there
is no current limit on that supply (like through a series resistor),
the input can be damaged.

As you note, IO(15) is connected through a resistor to the LED. If
that causes some other issue, you can alwasy remove the resistor from
the board.

Post Reply