Analog Devices, Inc. All rights reserved. 13 September 2006. Differences
between a microprocessor and a microcontroller. M. Smith, University of Calgary,
...
Microprocessor or Microcontroller Not just a case of “you say tomarto and I say tomayto” M. Smith, ECE University of Calgary, Canada
Information taken from Analog g Devices On-line Manuals with permission http://www.analog.com/processors/resources/technicalLibrary/manuals/
Information furnished by Analog Devices is believed to be accurate and reliable. However, Analog Devices assumes no responsibility for its use or for any infringement of any patent other rights of any third party which may result from its use. No license is granted by implication or otherwise under any patent or patent right of Analog Devices. Copyright © Analog Devices, Inc. All rights reserved.
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
2/ 29
To be tackled today
Basic microprocessor Concept of a microcontroller Difference between the Blackfin microcontroller and Blackfin Ez-Kit Lite evaluation board Capabilities of the ADSP-BF533 Blackfin EzKit Lite evaluation board Various acronyms that will be used in the course
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
3/ 29
Microprocessor – Basic concept ADDRESS BUS 32-bit / 64-bit wide CPU contains CCU ALU data registers and pointer registers
CONTROL BUS Timing signals, ready signals, interrupts etc
DATA BUS – bidirectional 8 8-bit / 16-bit 16 / 32-bit 32 / 128-bit 128
Microprocessor, by-itself, completely useless Must have external peripherals (screen, buttons, LED, keyboard, SPI, internet, USB) to interact with outside world 13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
4/ 29
MicroPROCESSOR – Basic concept CONTROL BUS ADDRESS BUS CPU contains CCU ALU data registers and pointer registers
BOOT ROM
Instruction (program) ROM
Used at startup
Data RAM
Keyboard Screen UART Transducers Parallel interface etc
DATA BUS Microprocessor, by-itself, completely useless – must have external peripherals to Interact with outside world External peripherals completely useless – we must develop / understand code that makes them work – initialize, read and write values or group of values 13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
5/ 29
Every external device needs this amount of support “glue “ l llogic” i ” to allow ll us to controll iit ADDRESS BUS DECODE LOGIC •Address strobe
•CS – chip select
•Data strobe External Device
Device itself with all necessary internal logic to do the things it needs to do
•Read/Write control
OE O t t Output Enable
other signals such as interrupt signals, etc
DATA BUS 13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
6/ 29
How it works
You code P0.L = lo(DeviceAddress); P0.H = hi(DeviceAddress); R0 = [P0]; The processor fetches the two instructions to set pointer register Third instruction works like this
Fetch F t h instruction i t ti CPU put out the value in P0 on address bus Every peripheral peripheral’s s decode logic checks to see if that address if the one it understands If the address matches – peripheral puts a value on data bus CPU puts that data bus value into R0
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
7/ 29
Issues with external devices
Many pins
Continually redesigning same thing
Mechanical failure rates increased Design time increased – routing issues on board Cost increased, board size increased Compatibility between parts Upgrade part Many similar options between different projects
In Real-life -- Don Don’tt need “100% 100% flexibility” flexibility
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
8/ 29
MicroCONTROLLER – Basic concept CONTROL ADDRESS BOOT ROM
CPU contains CCU ALU data registers and pointer registers
Used at startup
Instruction (program) ROM
Data RAM
UART Parallel interface Transducers Etc
DATA
Microcontroller – put a limited amount of most commonly used resources “inside” the chip – a “limited” amount is often “enough” for many applications
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
9/ 29
Advantages of microCONTROLLER over microPROCESSOR
Pin count down Design time down, Board layout size down Upgrade path easier – matching between peripherals for speed C t down Cost d – bulk b lk purchases h Reliability up Common software / hardware design environment available from manufacturer
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
10/ 29
Issues when using microcontroller
Two types of memory – speed issues when using On-chip – fast, easy to access, “almost as fast as using a register”, limited amount of on-chip memory available Off-chip – slower to access – additional cost Use on-chip memory in a “cache” cache mode (copy off-chip data to onchip when processing data, then copy back) External components still there E.g. g Video CODECs – need to use DMA – Direct Memory y Access – so that the controller can get on with the “processing” and let something else worry about moving data in and out of the chip Real time environment Event driven – can can’tt WAIT for a device to become ready ready, can’t can t POLL to see if device is ready, interrupt handling is key All these resources are “power hungry” and compete for resources (data busses etc) – special features to control power use
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
11/ 29
Components of the Blackfin Board From smallest to largest
Processor Core
Processor itself
One core on Blackfin ADSP-BF533 processor Two cores on Blackfin ADSP-BF561 ADSP BF561 processor core + some memory + some other built incapability
Blackfin Evaluation board
Don’t forget the software development package VisualDSP++
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
12/ 29
Blackfin ADSP-BF533 CORE
REMINDER TO SELF THIS IS ANIMATED 13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
13/ 29
Some key discussed elements from the previous slide
Why did the processor designers allow 2 loads from memory at the same time, a load and store at the same time, but not two stores at the same time? Why would the processor designers make 8-bit ALUs operations available on a processor that has 32 bit registers? 32-bit Give an example of an instruction where four 8-bit ALU operations occur at the same time Give an example of an instruction where two 16-bit ALU operations occur at the same time
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
14/ 29
CORE
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
The “chip” itself, we need to code all 15/ 29
Enter the key elements from previous slide
Will you learn to “flash” flash memory in this class, and how would you do it and why? What does a watch-dog g timer do – and “how do you find out how to feed it?” What does the acronym MMU stand for? What does the acronym SPI stand for, and in what labs will we be using the SPI? When is the PPI used? What’s a real time clock?
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
16/ 29
13 September 2006
Differences between a microprocessor and a microcontroller EVALUATION M. Smith, University of Calgary, Canada
BOARD
17/ 29
Lab. 1 – demonstration of microcontroller capability
Use the microcontroller
Configure the FLASH memory
Contains memory y and also I/O components p ((input p / output)
Use the FLASH memory I/O capability to control th LED the Configure the PF I/O lines (Programmable flags)
Used to control many of the external devices (chip select and timing lines) Used as input (Lab. 2) and / or interrupt lines (Lab. 3)
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
18/ 29
Push-button switches (PF lines) LED (controlled by FLASH memory logic)
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
19/ 29
Need to learn how to “configure” the flash memory so that We can control the LEDs If we can control the LED’s then we have signals that could be used for a “radio-controlled” car
Parallel interfaces present on the FLASH memory chips
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
20/ 29
Configure the PF lines (Programmable Flags – Input and output pins)
Reminder To self Animated
Replace one button input with the input of a temperature transducer and you have designed g a “Software controlled thermometer”
TMP03 will be used in Laboratory 2 13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
21/ 29
Control of the PF lines – how / why? FIO_FLAG_D – Data register FIO_EDGE -- Edge register FIO DIR FIO_DIR -- Direction Di ti register i t FIO_POLAR -- Polarity register
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
22/ 29
PF lines being used already to control other devices – “We are not alone in using peripherals!!”
When we change the PF registers bits, we must ONLY change those over which we have control PF8, PF9, PF10, PF11
FIO_FLAG_D register has 16 I/O pins (Flag pins) available
Mustt learn M l the th instructions to safely change some register bits and not others (AND and OR instructions)
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
23/ 29
Enter the key elements from previous slide
Which A/D is used on the Blackfin board? Why are the signals that control the LED’s coming from the FLASH? What does SPORT1 means, and what external device is being controlled by it? How does the SPORT device allow “time sharing” of the bus by several different sharing external devices?
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
24/ 29
Audio-Video Interaction of ADSP-BF533 Ez-Kit Lite with the outside world
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
25/ 29
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
26/ 29
Review quiz
CPU stands for
CCU stands for
ALU stands for
DMA stands for
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
27/ 29
Review Quiz
How come the FLASH memoryy must be used to control the LEDs and not the GPIO register pins (general purpose I/O)?
Why can’t we use PF0 line in Lab. 2 to read temperature p transducer input p signals? g
Why will AND and OR operations be necessary when h we control t l th the PF I/O lines? li ?
What does PF stand for?
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
28/ 29
Tackled today
Basic microprocessor Concept of a microcontroller Difference between the Blackfin microcontroller and Blackfin Ez-Kit Lite evaluation board Capabilities of the ADSP-BF533 Blackfin EzKit Lite evaluation board Various acronyms that will be used in the course
13 September 2006
Differences between a microprocessor and a microcontroller M. Smith, University of Calgary, Canada
29/ 29