39
ECE 353 Introduction to Microprocessor Systems Michael G. Morrow, P.E. Week 10

ECE 353 Introduction to Microprocessor Systems

Embed Size (px)

DESCRIPTION

ECE 353 Introduction to Microprocessor Systems. Michael G. Morrow, P.E. Week 10. Decoding Exercise. Using only a single 74HC138 decoder, place a 32Kx8 RAM at 00000h and a 64Kx8 ROM at F0000h. Decode as exhaustively as possible. - PowerPoint PPT Presentation

Citation preview

Page 1: ECE 353 Introduction to Microprocessor Systems

ECE 353Introduction to Microprocessor Systems

Michael G. Morrow, P.E.

Week 10

Page 2: ECE 353 Introduction to Microprocessor Systems

Decoding ExerciseUsing only a single 74HC138 decoder, place a 32Kx8 RAM at 00000h and a 64Kx8 ROM at F0000h.Decode as exhaustively as possible.Draw memory map, show fold-back and block sizes (decoder granularity).

Page 3: ECE 353 Introduction to Microprocessor Systems

TopicsI/O port basicsI/O ports with MSI devicesP compatible devicesAddress decoding for isolated and memory-mapped I/OConditional I/O80C188EB integrated I/O unit82C55A PPI

Page 4: ECE 353 Introduction to Microprocessor Systems

I/O Port BasicsI/O subsystems allow CPU to interact with the outside worldInput, output, and combined I/O blocksInput ports Byte Word

Output ports Byte

Unconditional I/O

Page 5: ECE 353 Introduction to Microprocessor Systems

MSI I/O PortsMedium Scale Integration (MSI) circuits are available to construct portsSimple byte input ports can be constructed from… Octal buffers Octal latches

Simple byte output ports can be constructed from octal latches

Page 6: ECE 353 Introduction to Microprocessor Systems

P Compatible I/O DevicesComplex I/O devices typically require complex interface and control logicP compatible I/O devices have the necessary logic built in to the device itself Interface designed to be reasonably

compatible with many microprocessor buses Need to add decoding/selection logic Examples

Device controllers Used to control complex I/O devices (LCD, disk

drives, etc.) Generic model Example – Hitachi HD44780U LCD Controller

Page 7: ECE 353 Introduction to Microprocessor Systems

I/O Address DecodingI/O address decoding determines the logical location of the I/O device Isolated I/O Memory-mapped I/O

Input vs. output ports Same address does not guarantee

same function!

Device select pulsesWait statesUsing the CSU with I/O devices

Page 8: ECE 353 Introduction to Microprocessor Systems

I/O Address Decoding (cont.)

PAL/PLA DecodersNonspecific I/O strobes /IOW /IOR

Linear selectionConventional decoders Device select strobes Cascading

Page 9: ECE 353 Introduction to Microprocessor Systems

Conditional I/OConditional vs. unconditional transfersHardware examplePolling Overhead Flags / semaphores Wait loops Timeouts

Software examplePossible race condition

Page 10: ECE 353 Introduction to Microprocessor Systems

80C188EB Integrated I/O Unit

Port 1 FunctionsPort 2 FunctionsBidirectional pin structure Synchronizer

Programming Port Control Register Port Direction Register Port Data Latch Register Port Pin State Register

Page 11: ECE 353 Introduction to Microprocessor Systems

82C55A Programmable Peripheral Interface (PPI)

LSI device providing 24 bits of I/O Logical organization Block diagram

Software configurable ports Three modes of operation

Mode 0 Basic Input/Output ports

Mode 1 Strobed Input/Output

Mode 2 Bidirectional data bus

Bit set/reset capability

Page 12: ECE 353 Introduction to Microprocessor Systems

Real-World ExampleInterface the MAX158 8-bit, 8-channel ADC to the 80C188EB Hardware interface

Use /GCS0 at I/O address 1000h (CSU) Poll conversion status using Port 2.

P2CON / P2DIR / P2LTCH / P2PIN Software interfacing

Write a procedure that does an ADC conversion and then reads the ADC value using mode 1

Input: AL = ADC input channel to use (0-7) Output: ADC value returned in AL

What about mode 0? Timing?

Page 13: ECE 353 Introduction to Microprocessor Systems

Wrapping UpHomework #5 due Friday, 11/9/2001

Page 14: ECE 353 Introduction to Microprocessor Systems

Byte Input Port Example

Page 15: ECE 353 Introduction to Microprocessor Systems

Byte Output Port Example

Page 16: ECE 353 Introduction to Microprocessor Systems

74HC540/541

Page 17: ECE 353 Introduction to Microprocessor Systems

74HC573

Page 18: ECE 353 Introduction to Microprocessor Systems

74HC574

Page 19: ECE 353 Introduction to Microprocessor Systems

MAX1200

Page 20: ECE 353 Introduction to Microprocessor Systems

AD7865

Page 21: ECE 353 Introduction to Microprocessor Systems

Generic Device Controller(Fig 12.3-2)

control registers

TIMING ANDCONTROL

I/ODEVICE

A(n-1):0

D7:0

/CS

/WE

/OE

data registers

status registersCPU

CLOCK

address

data

/RD

/WR

chip select

Page 22: ECE 353 Introduction to Microprocessor Systems

HitachiHD44780ULCDController

Page 23: ECE 353 Introduction to Microprocessor Systems

Port 1 Functions

Page 24: ECE 353 Introduction to Microprocessor Systems

Port 2 Functions

Page 25: ECE 353 Introduction to Microprocessor Systems

BidirectionalPort Pin

Page 26: ECE 353 Introduction to Microprocessor Systems

Port Control Register

Page 27: ECE 353 Introduction to Microprocessor Systems

Port Direction Register

Page 28: ECE 353 Introduction to Microprocessor Systems

Port Data Latch Register

Page 29: ECE 353 Introduction to Microprocessor Systems

Port Pin State Register

Page 30: ECE 353 Introduction to Microprocessor Systems

Conditional I/O ExerciseWrite a procedure to read data from an input device like the hardware example. Assume that the flag is a READY signal (active high). If the device does not become ready after 1 million polling attempts, return with the carry flag set, otherwise, return with the data in AL and the carry flag cleared.

Page 31: ECE 353 Introduction to Microprocessor Systems

82C55A Block Diagram

Page 32: ECE 353 Introduction to Microprocessor Systems

82C55A Modes of Operation

Page 33: ECE 353 Introduction to Microprocessor Systems

82C55A Mode 1 Input

Page 34: ECE 353 Introduction to Microprocessor Systems

82C55A Mode 1 Output

Page 35: ECE 353 Introduction to Microprocessor Systems

Chip-Select Start Reg

Page 36: ECE 353 Introduction to Microprocessor Systems

Chip-Select Stop Register-Part 1

Page 37: ECE 353 Introduction to Microprocessor Systems

Chip-Select Stop Register -Part 2

Page 38: ECE 353 Introduction to Microprocessor Systems

Conditional I/O ExampleD7:0

INPUTDEVICE

Q1

Q2

Q3

Q4

D1

D2

D3

D4

74HC574

CLK <

OC

Q5

Q6

Q7

Q8

D5

D6

D7

D8

A13A14A15

/S2

V CC

A0

A1

A2

Y0

Y1

Y2

Y3

74HC138

E1

E2

E3

Y4

Y5

Y6

Y7

/RD

D7Q D

CLK <

PR

CL

74HC7474HC125

vcc

Page 39: ECE 353 Introduction to Microprocessor Systems

Synchronization