Microprocessor or Microcontroller -...
Transcript of Microprocessor or Microcontroller -...
Microprocessor or MicrocontrollerNot just a case of “you say tomarto and I say tomayto”
Discussion of the capabilities of the Analog Devices ADSP-533 Evaluation Board used in this course
M. Smith, ECEUniversity of Calgary, Canada
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 2/ 29
Information taken from Analog 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 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 3/ 29
Audio-Video Interaction of ADSP-BF533 Ez-Kit Lite with the outside world
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 4/ 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 Ez-Kit Lite evaluation board
Various acronyms that will be used in the course
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 5/ 29
Microprocessor – Basic conceptCPU
containsCCUALU
data registersand
pointer registers
(ENCM369 architectureconcepts)
ADDRESS BUS 32-bit / 64-bit wide
CONTROL BUSTiming signals, ready signals,interrupts etc
DATA BUS – bidirectional8-bit / 16-bit / 32-bit / 128-bit
Microprocessor, by-itself, COMPLETELY USELESSMust have external peripherals to interact with outside world
12 September 2016Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 6/ 29
MicroPROCESSOR – Basic concept
CPU
containsCCUALU
data registersand
pointer registers
ENCM369
REVIEW
CONTROL BUS (Sends Read / Write* signals and clock
ADDRESSBUS
DATA BUS (BI-DIRECTIONAL direction controlled by R/W* control
Microprocessor, by-itself, completely useless – must have external peripherals to Interact with outside world
BOOTROM
Used at startup
Instruction(program)
ROMTransducers
KeyboardScreenUART
Parallelinterface
etc
DataRAM
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 7/ 29
External devices needs this amount of control lines (“glue”) to work
External Device
Device itself with all necessary internal logic
to do the things it needs to do
DATA BUS
OEOutput Enable other signals
such as interrupt signals, etc
ADDRESS BUS
DECODE LOGIC•Address strobe
•Data strobe
•Read/Write control
•CS – chip select
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 8/ 29
Issues with adding external devices Many pins
Mechanical failure rates increased Design time increased – routing issues Cost increased, board size increased
Continually redesigning same thing Compatibility between parts Upgrade part Many similar options between different projects
In Real-life -- Don’t need “100% flexibility” Analog Devices Blackfin BF533 microcontrollers ARM Microcontrollers:- Analog Devices Cortex 7,
Discovery Board Cortex 4, EiE Razor Board Cortex 3
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 9/ 29
MicroCONTROLLER – Basic concept
CPU
containsCCUALU
data registersand
pointer registers
ENCM369
REVIEW
CONTROL
ADDRESS
DATA
Microcontroller – put a limited amount of most commonly used resources “inside” the chip – a “limited” amount of resources is often “enough” for many applications
BOOTROM
Used at startup
Instruction(program)
ROMTransducers
UARTParallelinterface
Etc
DataRAM
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 10/ 29
Advantages of microCONTROLLER over microPROCESSOR Pin count down Reliability up Design time down, Board layout size down Upgrade path easier – matching between
peripherals for speed Cost down – bulk purchases Common software / hardware design
environment available from manufacturer
12 September 2016Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 11/ 29
Issues when using any microcontroller Two types of memory
Difference in speed (read and write times) 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 You can use on-chip memory in a “CACHE” mode (copy off-chip
data to on-chip when processing data, then copy back). You use DMA – Direct Memory Access
External components still there E.g. Video CODECs – need to use DMA – Direct Memory 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’t WAIT for a device to become ready, 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 – means often automatically turned off and must be turned in
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 12/ 29
Components of the Blackfin BoardFrom smallest to largest Processor Core
One core on Blackfin ADSP-BF533 processor Two cores on Blackfin ADSP-BF561 processor ENCM515 – ADSP-SC589 – ARM + 2 SHARC CORES
Processor itself core + some memory + some other built incapability
Blackfin Evaluation board Don’t forget the software development package
CCES Equivalent ARM software EWARMNTDS– This year remember that the next slide is animated
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 13/ 29
Blackfin ADSP-BF533 CORE NTDS THIS ISANIMATED
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 14/ 29
Some key discussed elements from the previous slide that might appear in quizzes Processor has 2 buses that can carry data. Why did
the processor designers allow 2 loads to occur 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 place 8-bit ALUs operations available on a processor that has 32-bit registers?
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 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 15/ 29The Blackfin “chip” itself
CORE
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 16/ 29
Enter the key elements from previous slide Will you learn to “flash” memory in this class,
and how would you do it and why? What does a watch-dog timer do – and “how
do you find out how to feed it?” JEADI articles discuss that MPG EiE Razor Board
startup code always has WATCHDOG activated and you need to THROW_BONE to stop problems
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 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 17/ 29
BLACKFIN EVALUATION BOARDAND PERIPHERALS USED IN LABS
-- W.I.B.On.Q?-P.Y!
CAN TALK DIRECTLY TO A301 / 305LAB STATION HARDRIVE USING “JTAG” --COFFEEPOTSIMULATOR
12 September 2016Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 18/ 29
Lab. 1 – You will demonstrate the basic microcontroller capability Use the microcontroller Learn to configure the FLASH memory
Contains memory and also I/O components (input / output)
Use the FLASH memory I/O capability to control the LEDs to signal commands happening
Configure the PF I/O lines (Programmable Flags) Used to control many of the external devices (chip select
and timing lines) Used as input and output to control radio controlled car
(Lab. 2) and / or interrupt lines or biofeedback (Lab. 3)
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 19/ 29
Push-button switches (PF lines)LED (controlled by FLASH memory logic)
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 20/ 29
Need to learn how to “configure” the flash memory so thatWe can control the LEDs
If we can control the LED’s then we have signals thatcould be used for a “radio-controlled” car
Parallel interfacespresent on the FLASH memory chips
12 September 2016Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 21/ 29
Configure the PF lines (Programmable Flags – Input and output pins)
Replace one button input with the input of a temperature transducer and you have designed a “Software controlled thermometer”
TMP03 will be used in Laboratory 3
NTDSAnimated
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 22/ 29
Registers to control PF lines. W.A.D.L.FIO_FLAG_D – Data registerFIO_EDGE -- Edge registerFIO_DIR -- Direction registerFIO_POLAR -- Polarity register
12 September 2016Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 23/ 29
KEY THING TO REMEMBER --PF lines being used already to control other devices –“We are not alone when using the board!!”
When we change the PF registers bits, we must ONLY change those over which we have control
PF8, PF9, PF10, PF11(Similar on ARM)
Must learn the instructions to safely change some register bits and not others (AND and OR instructions)(15 hrs -> 5 hrs)
FIO_FLAG_D register has 16 I/O pins(Flag pins) available
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 24/ 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 external devices?
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 25/ 29
Audio-Video Interaction of ADSP-BF533 Ez-Kit Lite with the outside world
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 26/ 29
BLACKFIN AUDIO CHIP
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 27/ 29
Review quiz
CPU stands for
CCU stands for
ALU stands for
DMA stands for
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 28/ 29
Review Quiz
How come the FLASH memory 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 transducer input signals?
Why will AND and OR operations be necessary when we control the PF I/O lines?
What does PF stand for?
13 September 2006Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 29/ 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 Ez-Kit Lite evaluation board
Various acronyms that will be used in the course