chapter 2€¦ ·  · 2011-07-12raj kamal pearson education 14 a reload of counter on ... free...

34
Chapter 2 Overview of Architecture and Microcontroller-Resources

Upload: ledang

Post on 10-May-2018

219 views

Category:

Documents


3 download

TRANSCRIPT

Chapter 2

Overview of Architecture and

Microcontroller-Resources

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education2

Lesson 4

Timers, Real Time Clock

Interrupts and Watchdog Timer

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education3

Port P3Port P2P

ort

P1

Port

P0

Timers

TimerTimer--

Counter Counter

FunctionsFunctions

RTC UART mode

SI

Synchronous SIADCPWM

WDT

Microcontroller-resources

Internal Data Memory

Internal Program Memory

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education4

TimerTimer--Counter, overflow, Counter, overflow,

interrupt and ISRinterrupt and ISR

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education5

Timer-counter as counter� A counter gets inputs from external events

� Inputs can be -ve edge transitions at a pin of an MCU

� Counts x increment on each count

� Reaches upper limit of all bits = 1s and then on next counts all bits = 0s. The counter is said to overflow

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education6

� A timer is a counter getting constant interval periodic inputs from a clock source

� Counts x increment on each clock-input

� Timer timeouts (overflows) when on all bits becoming = 0s and x = 0.

Timer-counter as Timer

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education7

n-bit timer-counter example

n-bit timer-counter

Clock Inputs period = 1 µµµµs

for 12 MHz XTAL (8051)

clock inputs

Overflows after 2n

clock inputs if initial count bits all 0s.

Timer

overflow interrupt if not masked, an ISRexecutes

External pin for events

Counter inputs

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education8

ISR (interrupt service routine)

� ISR (interrupt service routine) is a program that runs on an interrupt, for example, on an timer-overflow interrupt

� Return to the interrupted program after finishing running of all the codes.

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education9

ISR on Timer overflow

� An interrupt can be masked(disabled) to unable the ISR from running. Usually by a bit in interrupt enable register control register or a control register.

� Timer-counter interrupt can also be masked. If not masked,a timer will overflow and interrupt after (2n − x) clock-inputs.

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education10

8-bit Timer-counter

� Let initial value in an 8-bit counter = 0.The 8-bit counter overflows (interrupts) after 28= 256 counts or 256 edge transitions.

� Let initial value loaded in an 8-bit timer = x0

The 8-bit timer overflows after (28 − x) clock input or (256 − x) edge transitions. If clock inputs are after every 1 µµµµs, then timeout (interrupt) period = (256 -x

0) µµµµs

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education11

Timer-Counter Registers

Timer 16-bit

register

Byte

Write/Read

upper bitsWrite/Read

lower bits

Byte

Timer

control/

status

Register

Timer

Mode

Register

Write/

Read

bits

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education12

8051/8052 Timing/Counting Devices 8051/8052 Timing/Counting Devices --

•• T1 and T0 and T2T1 and T0 and T2

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education13

load reset

reload

Free-running counter

TimerTimer--Function optionsFunction options

Stop

Pre-scaling

Auto-reload

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education14

A Reload of Counter

on an input

An edge forcing coping of the into counter starting value from Load Register if capture enabled

16-bit counter

Count Inputs

16-bit Load

Register Timer reload

interrupt if not masked, then an ISR executes

Timer

overflow interrupt if not masked, then an ISR executes

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education15

Free Running Counter (FRC)

� No reset feasible, No stop feasible

� No initial value load feasible and thus no write to timer-counter register of FRC

� Auto reloads 0s on each successive overflows

� Used for real time control, as its reference is real, unchanged

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education16

Pre-scaling

� The clock inputs can be divided by certain factor so that the timer timeouts periods are slowed by that factor. The action is pre-scaling of the counts and factor is called pre-scaling factor.

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education17

Timer Input Capture featureTimer Input Capture feature

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education18

An Input Capture of Timer or FRC

An edge forcing copying of the

counter reading x into Capture Register if capture enabled

16-bit counter

Clock Inputs

16-bit Capture

Register

Timer capture

interrupt if not masked, then an ISR executes

(FRC)

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education19

Advantage

Lets an event-time be captured in a register. Enables finding

�pulse width

�pulse (event) frequency

� event-interval between the events

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education20

Timer outTimer out--compare featurecompare feature

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education21

An Out-Compare in a Timer or FRC

Compare both registers, on equality force an output level 0 or 1 or toggle

output if comparison enabled

16-bit counter

Clock Inputs

16-bit compare

Register

Timer out-

compare interrupt if not masked, then an ISR executes

(FRC)

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education22

Advantage

� Lets an output or sequences of outputs fire at a preset time (s)

� Lets at a preset time (s), an interrupt(s) occur to initiate an action(s) or initiate sequences of actions, using the ISR.

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education23

Real time clock interrupts and Real time clock interrupts and

software timer interruptssoftware timer interrupts

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education24

Real time clock interrupts using a Timer or

FRC

Pre-scaling to control real time clock time tick interval 4 ms or 8 ms

16-bit counter

Clock InputsReal time

clock interrupts if not masked at the beginning, the ISRs execute at periodic intervals

(FRC)

÷÷÷÷

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education25

Advantage

� Lets the system periodically supervise and schedule the different processes

� Used for repeated calls to a task or program or calls to sequences of tasks or programs

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education26

Software Timer interrupts in a Timer or

FRC

Pre-scaling

16-bit counter

Clock Inputs

16-bit compare

Register

out-compare interrupts if not masked at the beginning, the ISRs execute a software at periodic intervals

(FRC)

÷÷÷÷

Equality check

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education27

Advantage

� Lets the system periodically supervise and schedule the different processes at pre-select times

� Used for repeated calls to a task or program or calls to sequences of tasks or programs at pre-select times

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education28

Watchdog timerWatchdog timer

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education29

• Timeout period can be set at the beginning

• Watchdog timer forces system reset to save from system stuck up state (hanging state) during running

• Rewriting can be done to initiate next WDT cycle before a timeout to enable extension of the period by another cycle

Watchdog

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education30

Advantage

� Lets the system come out of hang or stuck up situation

� Lets the system recover to initial state after a watched period

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education31

Summary

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education32

Timing Devices

• Timer-counter, overflow and interrupt ISR

• Timer function - as counter

• Timer, reset, load, reload, auto-reload, stop and start

We learnt

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education33

Timing Devices

• Free running counter overflow and on interrupt an ISR run

• Input capture function

• Out compare function

• Real time clock interrupts and software timer interrupts

We learnt

2011 Microcontrollers-... 2nd Ed. Raj Kamal

Pearson Education34

Timing devices

• System reset after a watched period

using a watchdog timer

We learnt