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 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. 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 Ez- Kit Lite evaluation board Various acronyms that will be used in the course 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-bit /16 16-bit /32 32-bit / 128-bit Microprocessor, by-itself, completely useless Must have external peripherals (screen, buttons, LED, keyboard, SPI, internet, USB) to interact with outside world M. Smith, University of Calgary, Canada 4/ 29
MicroPROCESSOR Basic concept CONTROL BUS CPU contains CCU ALU data registers and pointer registers ADDRESS BUS BOOT ROM Used at startup Instruction (program) ROM Data RAM Keyboard Screen Transducers UART 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 M. Smith, University of Calgary, Canada 5/ 29 Every external device needs this amount of support glue logic to allow us to control lit 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 DATA BUS OE Output t Enable other signals such as interrupt signals, etc 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 instruction ti CPU put out the value in P0 on address bus Every peripheral 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 M. Smith, University of Calgary, Canada 7/ 29 Issues with external devices Many pins Mechanical failure rates increased Design time increased routing issues on board 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 M. Smith, University of Calgary, Canada 8/ 29
MicroCONTROLLER Basic concept CONTROL ADDRESS CPU contains CCU ALU data registers and pointer registers DATA BOOT ROM Instruction Data UART (program) RAM Parallel Used at ROM interface startup Transducers Etc Microcontroller put a limited amount of most commonly used resources inside the chip a limited amount is often enough for many applications 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 Cost down bulk purchases Reliability up Common software / hardware design environment available from manufacturer 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 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 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 Processor itself core + some memory + some other built incapability Blackfin Evaluation board Don t forget the software development package VisualDSP++ M. Smith, University of Calgary, Canada 12/ 29
Blackfin ADSP-BF533 CORE REMINDER TO SELF THIS IS ANIMATED 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? 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 M. Smith, University of Calgary, Canada 14/ 29
CORE M. Smith, University of Calgary, Canada 15/ 29 The chip itself, we need to code all 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? M. Smith, University of Calgary, Canada 16/ 29
EVALUATION BOARD M. Smith, University of Calgary, Canada 17/ 29 Lab. 1 demonstration of microcontroller capability Use the microcontroller 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) M. Smith, University of Calgary, Canada 18/ 29
Push-button switches (PF lines) LED (controlled by FLASH memory logic) 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 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 a Software controlled thermometer TMP03 will be used in Laboratory 2 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 -- Direction register FIO_POLAR -- Polarity register 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 FIO_FLAG_D register has 16 I/O pins PF registers bits, we (Flag pins) available must ONLY change those over which we have control PF8, PF9, PF10, PF11 Must learn the instructions to safely change some register bits and not others (AND and OR instructions) 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 external devices? M. Smith, University of Calgary, Canada 24/ 29
Audio-Video Interaction of ADSP-BF533 Ez-Kit Lite with the outside world M. Smith, University of Calgary, Canada 25/ 29 M. Smith, University of Calgary, Canada 26/ 29
Review quiz CPU stands for CCU stands for ALU stands for DMA stands for M. Smith, University of Calgary, Canada 27/ 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? 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 Ez- Kit Lite evaluation board Various acronyms that will be used in the course M. Smith, University of Calgary, Canada 29/ 29