Networking for Embedded Systems

Download Report

Transcript Networking for Embedded Systems

The Embedded computing
platform
CPU bus.
Memory.
I/O devices.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
CPU bus
Connects CPU to:
memory;
devices.
Protocol controls communication between
entities.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Bus protocol
Determines who gets to use the bus at
any particular time.
Governs length, style of communication.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Four-cycle handshake
Basis of many bus protocols.
Uses two wires:
enq (enquiry);
ack (acknowledgment).
enq
dev1
data
dev2
ack
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Four-cycle example
enq
1
3
2
data
4
ack
time
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Typical bus signals
Clock.
R/W’: true when bus is reading.
Address: a-bit bundle.
Data: n-bit bundle.
Data ready’.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Timing diagrams
one
A
rising
10 ns
zero
falling
stable
B
changing
C
time
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Typical bus timing for read
CPU:
set R/W’=1;
asserts address, address enable.
Memory:
asserts data;
asserts data ready’.
CPU:
deasserts address, address enable.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Bus read state diagram
Get
data
Done
See ack
Adrs
Wait
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Transaction types
Wait state:
state in a bus transaction to wait for
acknowledgment.
Disconnected transfer:
bus is freed during wait state.
Burst:
multiple transfers.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Timers and counters
Very similar:
a timer is incremented by a periodic signal;
a counter is incremented by an
asynchronous, occasional signal.
Rollover causes interrupt.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Watchdog timer
Watchdog timer is periodically reset by
system timer.
If watchdog is not reset, it generates an
interrupt to reset the host.
interrupt
host CPU
© 2000 Morgan
Kaufman
reset
watchdog
timer
Overheads for Computers as
Components
Switch debouncing
A switch must be debounced to multiple
contacts caused by eliminate mechanical
bouncing:
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Encoded keyboard
An array of switches is read by an
encoder.
N-key rollover remembers multiple key
depressions.
row
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
LED
Must use resistor to limit current:
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
7-segment LCD display
May use parallel or multiplexed input.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Types of high-resolution
display
Cathode ray tube (CRT)
Liquid crystal display (LCD)
Plasma, etc.
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Touchscreen
Includes input and output device.
Input device is a two-dimensional
voltmeter:
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Touchscreen position
sensing
ADC
voltage
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Digital-to-analog
conversion
Use resistor tree:
R
bn
bn-1
bn-2
Vout
2R
4R
8R
bn-3
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Flash A/D conversion
N-bit result requires 2n comparators:
Vin
encoder
...
© 2000 Morgan
Kaufman
Overheads for Computers as
Components
Dual-slope conversion
Use counter to time required to
charge/discharge capacitor.
Charging, then discharging eliminates
non-linearities.
Vin
© 2000 Morgan
Kaufman
timer
Overheads for Computers as
Components
Sample-and-hold
Required in any A/D:
Vin
© 2000 Morgan
Kaufman
converter
Overheads for Computers as
Components