2. What is an embedded system?
• Computing systems are everywhere
• Most of us think of “desktop” computers
• PC’s
• Laptops
• Mainframes
• Servers
• But there’s another type of computing system
• Far more common...
• Embedded systems are designed to do some specific task, rather than
be a general-purpose computer for multiple tasks
3.
4. What is an embedded system?
• An embedded system is a controller with a program
• Hardware+Software
• What makes a microcontroller:
– Self Contained
• CPU
• Memory
• I/O
– Application or Task Specific
• Not a general-purpose computer
• Appropriately scaled for the job
5. Designing Embedded Systems
• Microcontrollers
– Don’t have keyboard and monitor jacks
– Must use ports to perform I/O
• Inputs – to sense things
• Outputs – to control things
• Related Component Topics
– Common Interfaces
– Part Packages
6. Peripherals
• Serial Communication Interfaces (SCI): RS-232, RS-422, RS-485, etc.
• Synchronous Serial Communication Interface: I2C, SPI, SSC and ESSI
• Universal Serial Bus (USB)
• Multi Media Cards (SD cards, Compact Flash, etc.)
• Networks: Ethernet, LoRa, etc.
• Fieldbuses: CAN-Bus, LIN-Bus, PROFIBUS, etc.
• Timers: PLL(s), Capture/Compare and Time Processing Units
• Discrete IO: aka General Purpose Input/output (GPIO)
• Analog to Digital/Digital to Analog (ADC/DAC)
• Debugging: JTAG, ISP, ICSP, BDM Port, BITP, and DB9 ports.
7. Characteristics of an Embedded System
• Single-functioned
• Tightly constrained
• Reactive and Real time
• Microprocessors based
• Memory
• Connected
• HW-SW systems
8. Characteristics of an Embedded System
• Advantages
• Easily Customizable
• Low power consumption
• Low cost
• Enhanced performance
• Disadvantages
• High development effort
• Larger time to market
9. Basic Structure of an Embedded System
• Sensor
• A-D Converter
• Processor
• D-A Converter
• Actuator
10. Which microprocessor to use in an embedded
system?
• Embedded systems usually perform much simpler tasks than a
desktop PC and hence contain only simple microcontrollers as their
CPU.
• Note the price difference between an Intel Core 2 Duo processor
worth 100s of dollars vs. A 8051 or MSP430 worth less than $1!
11. Which microprocessor to use in an embedded
system?
• Microprocessors or microcontrollers only accept instructions in
‘machine code’ (‘object code’). Any software, written in whether
assembly, C, C++, Java or Ada must ultimately be translated into
machine code
• Embedded processors – like the AVR, 8051 microcontroller – have
limited processor power and very limited memory available: the
language used must be efficient
• To program embedded systems, we need low-level access to the
hardware: this means, at least, being able to read from and write to
particular memory locations (using ‘pointers’ or an equivalent
mechanism).
12. Which operating system to use in an
embedded system?
• In a desktop PCs we have multiple programs running,and the
operating system provides the ‘common code’ (for printing, file
storage, graphics, and so forth) that is required by this set of
programs.
• Most embedded systems are required to run only a single program
which starts running when the microcontroller is powered up, and
will stop running when the power is removed.
• As a consequence, the simplest architecture in an embedded system
is typically a form of ‘Super Loop’
14. How do we develop embedded software?
• Compiling, linking and executing a program on a desktop PC is
straightforward.
• Embedded devices do not have sufficient memory resources to allow
them to be used for compiling programs, and they will not support a
keyboard or graphics display.
• Hence, we need to cross-compile the code on a desktop PC,
generating machine code that is compatible with the target
embedded processor, and after testing the code on a simulator, we
transfer it to the target microcontroller.
15. How do we develop embedded software?
• We are going to use AVR (Atmel Chips)
18. General Comments About the Course
• Prerequisites
• Computer Organization
• A working knowledge of C/C++ programming
• (or willingness/time to pick it up quickly!)
• Basic Electric Circuits (Resistor, Capacitor, Transistor, etc.)
• Simulator
• https://www.tinkercad.com
19. Topics Covered
• Hardware Fundamentals & Computer Architecture Review
• Interrupts and Timers
• ADC&DAC applications
• Communication: Serial RS232, SPI, I2C, CAN
20. Grading Policy
• Midterm 30%
• Quizes+Lab 15%
• Popup quizes
• Project 20%
• report and working demo
• Final 35%