1 / 29

Microcontrollers

Microcontrollers. 2IN60: Real-time Architectures (for automotive systems ). Goals for this slide set. Describe the architecture of a microcontroller Explain the purpose of an Instruction Set Architecture and what it is Summarize how programs are executed on a microcontroller

tausiq
Télécharger la présentation

Microcontrollers

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Microcontrollers 2IN60: Real-time Architectures(for automotive systems)

  2. Goals for this slide set Describe the architecture of a microcontroller Explain the purpose of an Instruction Set Architecture and what it is Summarize how programs are executed on a microcontroller Describe how programs can communicate with external devices

  3. Outline Brief history of microcontrollers Instruction set architecture (ISA) Input and output (I/O) Example

  4. Why electronics? • Difference Engine No. 2 (1849) • Designed by C. Babbage • 4000 moving parts • 2.6 tons • 3m wide, 2m high • Easier to move information than physical objects

  5. Example ECU (Freescale board EVB9512XF) Power CAN controller CAN port FlexRay port Reset button Digital and Analogue I/O ports Microcontroller (CPU + memory) LEDs

  6. From hardware to software • Evolution of hardware • Vacuum tubes → transistors → integrated circuits • Moore’s law: • Transistor density doubles every 1.5 years • Problem: complexity • Large number of applications, performing increasingly complex tasks • Can’t afford dedicated hardware for individual apps • too many apps, large design cost • Multiplex several applications on the same hardware • Solution: reuse general-purpose components • Generic controllers customized with memory (hardware) • Memory contains a program (software) • Stored-program concept (code+ data in memory)

  7. Fighting complexity

  8. Fighting complexity • Use abstraction to hide complexity, while keeping the essentials • Define an interface to allow using the hardware features without needing to understand all the implementation details • Works for hardware and software • An interface allows to modify the implementations below and above it independently and transparently

  9. Why should I care how a computer works? Understand the limitations of hardware and its abstractions Understand the performance bottlenecks Help write better programs (fewer bugs, more efficient) Critical code still programed in assembly

  10. Outline Brief history of microcontrollers Instruction set architecture (ISA) Input and output (I/O) Example

  11. Instruction Set Architecture (ISA) Software Hardware CPUs only work with binary signals (bits) Machine instructions: strings of bits telling hardware what to do Machine code: sequence of machine instructions

  12. Instruction Set Architecture (ISA) Software Hardware • ISA is the interface provided by the hardware to the software • Defines the available: • instructions • registers • addressing modes • memory architecture • interrupt and exception handling • external I/O • Syntax defined by assembly language • Symbolic representation of the machine instructions • Examples: x86, ARM, HCS12

  13. Running an application

  14. Central Processing Unit (CPU)

  15. Central Processing Unit (CPU)

  16. 5 5 ADDA $1 ADDA $1 3 4 4 4 9 Instruction execution • Fetch the instruction from memory (pointed to by PC) • Fetch the data from memory into internal CPU registers (specified by instruction operands) • Execute the instruction • Store the results at the proper place (memory or registers) • Change PC so that it points to the following instruction • Go to step 1 to begin executing the following instruction.

  17. Load-store architecture • Load-store architecture • Only load and store instructions access the memory, all other instructions use registers as operands. • Why not operate directly on memory operands? • Accessing memory is slower than CPU registers, so instructions would take longer to execute • Freescale HCS12 ISA • Arithmetic operators can use register and memory operands • E.g. ADDD $20 • Add the value at address 20 to the value in register D and store the result in D

  18. Assembly instructions (FreescaleHCS12) • LDD b • ADDD c • SUBD d • a = b + c – d; • Assembly instruction format: • <operation name> <operand1>, <operand2> • Examples • MOVB $20, PC • Move the byte at memory location 20 to PC • ADDD $20 • Add the two bytes at memory location 20 to register D, and store in D • ABA • Add the byte in register B to the one in A, and store in A • Break larger expressions into multipleinstructions • (Result ‘a’ will reside in the D register)

  19. Example ISA: Freescale HCS12

  20. Outline Brief history of microcontrollers Instruction set architecture (ISA) Input and output (I/O) Example

  21. Input / Output (I/O) • “Device” is a physical “thing” in the outside world • “Outside world” = outside CPU and memory • E.g. a pressure sensor or brake connected via an analogue port, or another ECU connected via CAN port • “Controller” connects device and CPU • Electrical conversion and (“intelligent”) control • E.g. the CAN controller • “Interface” is an agreement for the connection • Physical (plug!), electrical and functional (protocol) • Standardized for exchangeability

  22. Input / Output (I/O) • Program can communicate with external devices by reading and writing data to the input and output ports • Digital devices are connected to the digital ports • Analogue devices are connected via an Analogue-to-Digital (ATD) converter • Converts voltage to a discrete value • Each port is mapped to a memory address • Some devices need to be setup and controlled by writing to special memory addresses (control registers) • Embedded FlexRay and CAN microcontrollers provide higher level communication between several processing boards

  23. Outline Brief history of microcontrollers Instruction set architecture (ISA) Input and output (I/O) Example

  24. Example: reading a light sensor(Freescale MC9S12XF512)

  25. Example: reading a light sensor int light = ATDReadChannel(PAD14); We want to read the light sensor The light sensor is connected via an ATD converteron the memory mapped I/O port PAD14 We need an ATD driver, providing a method which can be called from a C program, e.g.

  26. Example: reading a light sensor(Freescale MC9S12XF512)

  27. Example: reading a light sensor(FreescaleMC9S12XF512) • Implementation of ATDReadChannel(): • Conversion parameters (controlled by control registersATDCTL1 – ATDCTL5): • Sample resolution (8, 10, or 12 bits) • Sample duration (44 – 2688 cycles) • Number of consecutive samples • … • Conversion is started by writing to ATDCTL5 • When conversion is finished a bit in status register ATDSTAT0 is set • Results are stored in data registers ATDDR0 – ATDDR15

  28. Example: reading a light sensor(Freescale MC9S12XF512) MOVB #$10,ATDCTL1 MOVB #$88,ATDCTL3 MOVB #$05,ATDCTL4 MOVB PAD14,ATDCTL5 SCF: BRCLR ATDSTAT0,#$80,SCF BSET ATDSTAT0,#$80 LDX ATDDR0 set A/D resolution to 8 bit set conversion sequence length to 1 set sampling time to 264 cycles set which channel to read wait for the result clear the ATD result flag load the result into register X

  29. References D.Pattersonand J. Hennessy, “Computer Organization & Design”, 3rd Edition, 2005 Niklaus Wirth, “AlgorithmsandData Structures”, Prentice-Hall, 1985

More Related