Not just a case of “you say tomarto and I say tomayto”
M. Smith, ECE
University of Calgary, Canada
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 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 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 3/ 29
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 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 4/ 29
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-bit / 16-bit / 32-bit / 128-bit
Microprocessor, by-itself, COMPLETELY USELESS
Must have external peripherals to interact with outside world
13 September 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 5/ 29
CONTROL BUS
ADDRESS
BUS
CPU contains
CCU
ALU data registers and pointer registers
BOOT
ROM
Used at startup
Instruction
(program)
ROM
Data
RAM
Transducers
Keyboard
Screen
UART
Parallel interface etc
DATA BUS
Microprocessor, by-itself, completely useless – must have external peripherals to
Interact with outside world
13 September 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 6/ 29
Every external device needs this amount of support “glue logic” to work
ADDRESS BUS
External
Device
•Address strobe
•Data strobe
•Read/Write control
DECODE LOGIC
•CS – chip select
Device itself with all necessary internal logic to do the things it needs to do
OE
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 7/ 29
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”
13 September 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 8/ 29
MicroCONTROLLER – Basic concept
CONTROL
ADDRESS
CPU
BOOT
ROM contains
CCU
ALU data registers and pointer registers
DATA
Used at startup
Instruction
(program)
ROM
Data
RAM
Transducers
UART
Parallel interface
Etc
Microcontroller – put a limited amount of most commonly used resources
“inside” the chip – a “limited” amount is often “enough” for many applications
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 13 September 2006 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
Cost down – bulk purchases
Reliability up
Common software / hardware design environment available from manufacturer
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 13 September 2006 10/ 29
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
Use onchip memory in a “cache” mode (copy off-chip data to onchip when processing data, then copy back)
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
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
One core on Blackfin ADSP-BF533 processor
Two cores on Blackfin ADSP-BF561 processor
Might be going to latest 2-core BF609 in 2014 if money becomes available
Processor itself
core + some memory + some other built incapability
Blackfin Evaluation board
Don’t forget the software development package
VisualDSP++ and new CCES
NTDS – This year remember that the next slide is animated
12/ 29
NTDS 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 that might appear in quizzes
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 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 14/ 29
CORE
13 September 2006 M. Smith, University of Calgary, Canada 15/ 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?”
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
BLACKFIN EVALUATION BOARD
AND PERIPHERALS USED IN LABS
-- WIBOQ?-Y --
13 September 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 17/ 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 LED
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)
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 13 September 2006 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
13 September 2006
Parallel interface s present on the
FLASH memory chips
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)
NTDS
Animated
Replace one button input with the input of a temperature transducer and you have designed a “Software controlled thermometer”
13 September 2006
TMP03 will be used in Laboratory 2
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 21/ 29
FIO_FLAG_D – Data register
FIO_EDGE -- Edge register
FIO_DIR -- Direction register
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!!”
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
Must learn the instructions to safely change some register bits and not others
(AND and OR instructions)
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 13 September 2006 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 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
BLACKFIN AUDIO CHIP
-Polite request -- CIV-DSM
13 September 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 26/ 29
CPU stands for
CCU stands for
ALU stands for
DMA stands for
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 13 September 2006 27/ 29
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 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 28/ 29
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 2006
Differences between a microprocessor and a microcontroller
M. Smith, University of Calgary, Canada 29/ 29