Unit 14 Noise Margins, Interfacing, and Tri-States 14.2 Signal - - PowerPoint PPT Presentation

unit 14
SMART_READER_LITE
LIVE PREVIEW

Unit 14 Noise Margins, Interfacing, and Tri-States 14.2 Signal - - PowerPoint PPT Presentation

14.1 Unit 14 Noise Margins, Interfacing, and Tri-States 14.2 Signal Types Recall even digital signals are just voltages Analog signal Continuous time signal where each voltage level has a unique meaning Digital signal


slide-1
SLIDE 1

14.1

Unit 14

Noise Margins, Interfacing, and Tri-States

slide-2
SLIDE 2

14.2

Signal Types

  • Recall even digital signals are just voltages…
  • Analog signal

– Continuous time signal where each voltage level has a unique meaning

  • Digital signal

– Continuous signal where voltage levels are mapped into 2 ranges meaning 0 or 1

1 1

volts volts time time

Analog Digital

Threshold

slide-3
SLIDE 3

14.3

Signals and Meaning

0.0 V 0.8 V 2.0 V 5.0 V Each voltage value has unique meaning 0.0 V 5.0 V Logic 1 Logic 0 Illegal Analog Digital

Threshold Range

Each voltage maps to ‘0’ or ‘1’ (There is a small illegal range where meaning is undefined since threshold can vary based on temperature, small variations in manufacturing, etc.)

slide-4
SLIDE 4

14.4

NOISE MARGINS, LEVEL SHIFTERS, & DRIVE STRENGTH

slide-5
SLIDE 5

14.5

A Motivating Example

Example 1

  • You connect an output port to an LED

(light emitting diode) and connect everything correctly. The light should turn on when you set your output bit to a high voltage (logic '1').

  • When you turn the system on the LED

does not glow. You measure the voltage at the gate output with a voltmeter and find it is not 5V but 1.8V? Why isn't it a logic 1?

  • The maximum current output ability

from the output port is not high enough to adequately supply the LED which then drags the voltage down.

Example 2

  • You buy two digital chips (say a

microprocessor and GPS reader

  • You correctly wire them together

and write software to turn 'on' a pin on the microprocessor to a '1' to enable the GPS reader

  • When the software runs the GPS

unit does not turn on. Why?

  • Different circuit implementation

techniques use different voltage levels to indicate '1' or '0' and may be incompatible Lesson To Be Learned: Not all 1's or 0's are created equal!

slide-6
SLIDE 6

14.6

The Digital Abstraction

  • Digital is a nice abstraction of voltage and current

– Lets us just think 'on' or 'off' but not really worry about the voltages and currents underneath

  • Until NOW!!!
  • Not all 1's and 0's are created equal

– A '1' can be any 'HIGH' voltage (maybe in the range 2V-5V) – A '0' can be any 'LOW' voltage (maybe in the range 0V-0.8V) – So 3V and 5V both mean '1' but they aren't equal

  • Similarly certain outputs of a chip may connect to other devices

that require more current than the output can produce

– Think of connecting a fire hose to your garden spigot – Or even worse your garden hose to a fire hydrant…it would shred it – In the same way, inputs and outputs of different devices must be matched to the demands/requirement of what they connect to

slide-7
SLIDE 7

14.7

Digital Voltage Noise Margins

  • Consider the output of one digital circuit feeding the input of another

– Assume the devices are from different vendors (families of devices)

  • There may be different limits and requirements of the two devices

– Example: The output may produce 3V to mean logic '1' while the next device's input requires 5V to be used as logic '1'

  • Analogy 1: Grades. Suppose the cutoff for an A is 90% (i.e. required input)

– If you get a 91% (i.e. output result)…GOOD! – If you get an 89%…(Still good for this class! But BAD from the cutoff's perspective.)

  • Analogy 2: Tickets. Suppose there are 100 available tickets to an event (i.e.

input limit)

– If you are the 99th person (i.e. output result)…GOOD! – If you are the 101st person…BAD!

Output Input

slide-8
SLIDE 8

14.8

Digital Voltage Noise Margins

  • Consider one digital gate feeding another

0.0 V 5.0 V Logic 1 Logic 0 Illegal Output Range Interpretation 0.0 V 5.0 V Logic 1 Logic 0 Illegal Input Range Interpretation

VOH VOL VIL VIH NMH = VOH-VIH NML = VIL-VOL OH = Output High OL = Output Low IH = Input High IL = Input Low NM = Noise Margin As long as VOH > VIH and VOL < VIL we are in good shape… Electromagnetic interference & power spikes can cause this to break down

Required Input Possible Output

slide-9
SLIDE 9

14.9

Class Activity

  • Do an internet search for "74LS00 datasheet"

(this is a chip w/ some 2-input NAND gates) and try to find any PDF and open it

  • Skim the PDF and try to find:

– VOH, VIH, VOL, VIL

slide-10
SLIDE 10

14.10

Analogy

  • Consider a sprinkler system…what will happen if you add 100

new sprinklers to your backyard?

  • Pressure (voltage) will go way down and reduce water

(current) flow coming out of each

slide-11
SLIDE 11

14.11

Current Limitations

  • When a circuit outputs a 'HIGH' ('1') it can only supply (source) so much

current (think of your garden hose spigot) = IOH

  • When a circuit outputs a 'LOW' ('0') it can only suck up (sink) so much

current = IOL

  • When a circuit receives a 'HIGH' signal on the input side it may need a

certain amount of current to recognize the input as 'HIGH' = IIH

  • When a circuit receives a 'LOW' signal on the input side it may need a

certain amount of current to recognize the input as 'LOW' = IIL

1 IOH IOL IIH IIL

slide-12
SLIDE 12

14.12

Example

  • Consider the example where device A's output

connects to device B's input

– Are the voltage requirements compatible? – How many device B inputs can a single device A output drive?

  • Always use worst case of high or low output drive capability

Dev. VOH VIH VOL VIL IOH IIH IOL IIL A 3.4V 3.3V 0.5V 1.0V

  • 4 mA
  • 1 mA

10 mA 2 mA B 3.2V 3.0V 0.6V 0.7V

  • 2 mA
  • 1 mA

6 mA 2 mA

Voltage requirement are compatible!

  • Dev. A VOH > Dev. B VIH

AND

  • Dev. A VOL < Dev. B. VIL
  • Dev. A's output can drive 4 Dev. B inputs

When outputting '1':

  • (Dev. A IOH / Dev. B IIH) = (-4 / -1) = 4

When outputting '0':

  • (Dev. A IOL / Dev. B IIL) = (10 / 2) = 5

Drive capability = min(4, 5) = 4

slide-13
SLIDE 13

14.13

Consideration

  • If we attach too many gates to one output it

may not be enough to drive those gates

  • Need to make sure the current

requirements and capabilities match

  • Let's say we connect one of the NAND gates
  • n the 74LS00 chip to an input of N other

NAND gates…

  • Can it produce/suck up the required

current…

  • …if N = 6?
  • …if N = 12?

If IOH or IOL is too low we can split the loads by place intermediate buffers

slide-14
SLIDE 14

14.14

All In the Family

  • There are many families of circuit devices that talk different

language (Each has a different VOH, VIH, VOL, VIL, IOL, IIL, etc.)

  • Examples:

– CMOS – TTL – ECL

  • Must make sure if you interface two different devices that they

are compatible (i.e. VOH of device A is greater than VIH of device B) or use a buffer/amplifier/level shifter circuit to help them talk to each other

– http://www.ti.com/lit/ds/symlink/cd4504b-ep.pdf

A B

VOH=2.2V VIH=3.5V

slide-15
SLIDE 15

14.15

Arduino Limits

  • Arduino outputs can sink (suck up) and source (produce)

around a maximum of 20 mA on a pin

– http://www.atmel.com/Images/Atmel-8271-8-bit-AVR- Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328- 328P_datasheet.pdf

  • Do an internet search for "Standard Servo Motor Datasheet"

and find the maximum current it may need

  • It doesn't seem like the Arduino would be

able to drive the servo motor. How is it working?

– Remember the 3-pin interface: R = Power, B = Ground, W = Signal – The signal is separate from the power – The power source is used to amplify the signal

slide-16
SLIDE 16

14.16

Another Example

  • Now consider a speaker system where the power and signal

are provide together

– Given our Arduino use 5V = Vcc and its current limitations per pin, how much power can we supply to the speaker? – 5V * 20 mA = 0.1W – You need an amplifier…

Power & Signal together

slide-17
SLIDE 17

14.17

TRI-STATE GATES

slide-18
SLIDE 18

14.18

Typical Logic Gate

  • Gates can output two values: 0 & 1

– Logic ‘1’ (Vdd = 3V or 5V), or Logic ‘0’ (Vss = GND) – But they are ALWAYS outputting something!!!

  • Analogy: a sink faucet

– 2 possibilities: Hot (‘1’) or Cold (‘0’)

  • In a real circuit, inputs cause EITHER a pathway from
  • utput to VDD OR VSS

Hot Water = Logic 1 Cold Water = Logic 0

(Strapped together so always one type

  • f water coming out)

+3V PMOS NMOS

Output Inputs

Vdd Vss Inputs

+3V PMOS NMOS

Output Inputs

slide-19
SLIDE 19

14.19

Output Connections

  • Can we connect the output of two logic gates together?
  • No! Possible short circuit (static, low-resistance pathway

from Vdd to GND)

  • We call this situation “bus contention”

Src 1 Src 2 Src 3

Vdd Vss Inputs Vdd Vss Inputs

Src 1 Src 2

slide-20
SLIDE 20

14.20

Tri-State Buffers

  • Normal digital gates can output two

values: 0 & 1

1. Logic 0 = 0 volts 2. Logic 1 = 5 volts

  • Tristate buffers can output a third

value:

3. Z = High-Impedance = "Floating" (no connection to any voltage source…infinite resistance)

  • Analogy: a sink faucet

– 3 possibilities: 1.) Hot water, 2.) Cold water, 3.) NO water

Hot Water = Logic 1 Cold Water = Logic 0 NO Water = Z (High-Impedance)

+3V PMOS NMOS

Output Inputs

Z (high impedance)

slide-21
SLIDE 21

14.21

Tri-State Buffers

  • Tri-state buffers have an extra

enable input

  • When disabled, output is said

to be at high impedance (a.k.a. Z)

– High Impedance is equivalent to no connection (i.e. floating

  • utput) or an infinite resistance

– It's like a brick wall between the

  • utput and any connection to

source

  • When enabled, normal buffer

In Out = In Enable=1

Tri-State Buffer En In Out

  • Z

1 1 1 1

E

In Out = ____ Enable=0

E

slide-22
SLIDE 22

14.22

Tri-State Buffers

  • We use tri-state buffers to share one output

amongst several sources

  • Rule: Only 1 buffer enabled at a time

E E E Src 1 Src 2 Src 3 EN1 EN2 EN3

D Q Q CLK D-FF

slide-23
SLIDE 23

14.23

Tri-State Buffers

  • We use tri-state buffers to share one output amongst several

sources

  • Rule: Only 1 buffer enabled at a time
  • When 1 buffer enabled, its output overpowers the Z’s (no

connection) from the other gates

1 1 Select source 1 to pass its data Disabled buffers

  • utput ‘Z’

Z Z

  • utput of 0
  • verpowers

the Z

E E E

D Q Q CLK D-FF

slide-24
SLIDE 24

14.24

Enable Polarity

  • Side note: Some tri-states are design to pass the input (be enabled)

when the enable is 0 (rather than 1)

– A inversion bubble is shown at the enable input to indicate the "low" polarity needed to enable the tristate

In Out = In Enable=1

En In Out

  • Z

1 1 1 1

E

In Out = Z Enable=0

E

In Out = In Enable=0

En In Out 1

  • Z

1 1

E

In Out = Z Enable=1

E

slide-25
SLIDE 25

14.25

Communication Connections

  • Multiple entities need to communicate
  • We could use

– Point-to-point connections – A shared bus (set of wires)

Separate point to point connections Shared Bus

slide-26
SLIDE 26

14.26

Bidirectional Bus

  • 1 transmitter (otherwise bus contention)
  • N receivers
  • Each device can send (though 1 at a time) or

receive

1

slide-27
SLIDE 27

14.27

Tri-State Gates

  • Big advantage: don’t have to know in advance how many devices

will be connected together

– Tri-State gates give us the option of connecting together the outputs of many devices without requiring a circuit to multiplex many signals into one

  • Just have to make sure only one is enabled (output active) at any
  • ne time.

src1 src2 src3 srcn

MUX

Input Select

src1 src2 src3 srcn

Output Enables Single output Source w/ Tri-State Gates

slide-28
SLIDE 28

14.28

Tri-State Gates

Problem: How can you use the serial I/O lines of the Arduino, which are also used for programming it?

Arduino µC USB µC

RX

Transmitter Two active devices, both trying to output a signal, collide here.

Arduino Uno

slide-29
SLIDE 29

14.29

Tri-State Gates

Solution: Use a Tri-State gate to isolate the transmitter's data from the µC until programming is over.

Arduino µC USB µC

RX TX

Transmitter Output of gate is floating until µC program makes Pxx a zero.

Arduino Uno

74LS125

Pxx