ECE 353 Introduction to Microprocessor Systems - PowerPoint PPT Presentation

1 / 35
About This Presentation
Title:

ECE 353 Introduction to Microprocessor Systems

Description:

Can have n input/output devices in a system with an n-bit address bus. Hazards and opportunities ... to read data from an input device like the hardware example. ... – PowerPoint PPT presentation

Number of Views:29
Avg rating:3.0/5.0
Slides: 36
Provided by: michael172
Category:

less

Transcript and Presenter's Notes

Title: ECE 353 Introduction to Microprocessor Systems


1
ECE 353Introduction to Microprocessor Systems
Week 7
  • Michael G. Morrow, P.E.

2
Topics
  • Microprocessor support circuits
  • Clock and reset generation
  • Power control
  • Microprocessor supervisors
  • I/O subsystems
  • GPIO pin construction
  • I/O port design
  • I/O decoding
  • I/O synchronization
  • ADuC7026 GPIO

3
ADuC7026 Block Diagram
4
Clocks
  • Clock Generation
  • Clock oscillators
  • External clocks
  • Phase-locked loops (PLLs)
  • Operation and design issues
  • ADuC7026 clocking
  • PLLCON
  • Power Control
  • ADuC7026 operating modes
  • POWCON

ADuC7026 pin-out
5
Reset
  • The reset signal is used to force the processor
    into a known state from which operation can
    reliably be started.
  • On power up, the reset signal should be asserted
    long enough to ensure that the supply voltages
    are stable and the oscillator is running and
    stable
  • Reset Generation
  • RC reset circuit operation
  • Shortcomings

ADuC7026 pin-out
6
Microprocessor Supervisors
  • Microprocessor supervisors provide reset
    functionality for a variety of circumstances
  • Power-up
  • Brown-out
  • Glitches
  • They can also provide a number of other services
  • MAX807

ADuC7026 pin-out
7
Basic System Bus Operation
  • Address
  • Unidirectional from CPU
  • Data
  • Bidirectional
  • Control
  • /RS or /RD output from CPU
  • Indicates a read operation in progress
  • /WS or /WR output from CPU
  • Indicates a write operation in progress
  • /WAIT or /READY input to CPU
  • Used by external device to signal that it is not
    able to complete transfer yet

8
I/O Port Basics
  • I/O subsystems allow the CPU to interact with the
    outside world
  • Basic GPIO pin requirements
  • Configurable as input or output
  • Can set value driven out on the pin
  • Can read the current value on the pin
  • Configurable vs. multiplexed pins
  • Unconditional I/O
  • The I/O device can accept or return data without
    delay

ADuC7026 pin-out
9
MSI I/O Ports
  • Medium Scale Integration (MSI) circuits are
    available to construct ports
  • Simple byte input ports can be constructed from
  • Octal buffers
  • Octal registers
  • Simple byte output ports can be constructed from
    octal registers

10
?P Compatible I/O Devices
  • Complex I/O devices typically require more
    sophisticated interface and control logic
  • ?P 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
  • Example
  • Device controllers
  • An organizational model commonly used to
    interface to complex I/O devices (serial ports,
    LCDs, disk drives, etc.)
  • Generic model
  • Example Hitachi HD44780U LCD Controller

11
I/O Address Decoding
  • I/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!
  • Exhaustive address decoding
  • Partial address decoding

12
I/O Address Decoding (cont.)
  • Linear selection decoding
  • A single address line is used as the selection
    criteria for each device
  • Can have n input/output devices in a system with
    an n-bit address bus
  • Hazards and opportunities
  • Note that this idea has a very limited
    application space!

13
Conditional I/O
  • Conditional vs. unconditional transfers
  • I/O synchronization
  • Hardware example
  • Polling
  • Overhead
  • Flags / semaphores
  • Wait loops
  • Timeouts
  • Software exercise

14
ADuC7026 GPIO Ports
  • The ADuC7026 has 40 pins organized as 5 ports
    that can be used as digital GPIO
  • All pins have multiple functions in addition
    being able to be used as GPIO
  • The configuration selection is set through the
    GPxCON MMR.

15
ADuC7026 GPIO MMRs
  • GPxCON
  • Determine which of a pins functions are active
  • This is the configuration column selection on the
    previous slide

aduc7026.inc
16
ADuC7026 GPIO MMRs (cont)
  • GPxPAR
  • PARameters
  • Controls whether or not the internal pull-ups are
    used.
  • Does not apply to ports 2 and 4

17
ADuC7026 GPIO MMRs (cont)
  • GPxDAT
  • Control the pin direction
  • Set the output state
  • Read the pin value
  • Read the pin values that were present at reset

18
ADuC7026 GPIO MMRs (cont)
  • GPxSET
  • Write 1s to set the output value
  • 0s have no effect

19
ADuC7026 GPIO MMRs (cont)
  • GPxCLR
  • Write 1s to clear the output value
  • 0s have no effect

20
Wrapping Up
  • Homework 4 will be due on Wednesday, October
    28th
  • Reading for next week
  • Chapter 10
  • ADUC 53-60, 71-73, 75-79

21
ADuC7026 Clock Generation
22
ADuC7026 PLLCON
23
ADuC7026 Operating Modes
24
ADuC7026 POWCON
25
ADuC7026 Functional Block Diagram
26
MAX807
27
74HC540/541
28
74HC573
29
74HC574
30
AD7865
31
Generic Device Controller
32
HitachiHD44780ULCDController
33
Conditional I/O Exercise
Write a subroutine 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 trillion
polling attempts, return with R0 -1, otherwise,
return with the data in R0.
34
Conditional I/O Example
/MS0 base address 0x1000 0000
35
aduc7026.inc
GPIO GPIO_MMR_BASE EQU 0xFFFFF400 GP0CON EQU 0x
00 GP1CON EQU 0x04 GP2CON EQU 0x08 GP3CON EQ
U 0x0C GP4CON EQU 0x10 GP0DAT EQU 0x20 GP0SET
EQU 0x24 GP0CLR EQU 0x28 GP0PAR EQU 0x2C
Write a Comment
User Comments (0)
About PowerShow.com