CES 520 - WEEK 1 August 22, 2006
Introduction
- Course mechanics: See syllabus
- An embedded system is any system that contains one or more microprocessors but is not a computer.
- A Boeing 777 contains over 1200 microprocessors
- Modern automobiles contain typically 30 microprocessors per vehicle
- The field of embedded systems is vast. We can't cover everything in a 1-semester course.
- What should be left out?
- We will assume students know basic electronics, computer architecture, and C programming
- We will concentrate on subjects that apply especially to embedded systems. How does ES design differ from designing a personal computer or a system that does not include an embedded microprocessor?
Overview of embedded systems
- Over 99% of microprocessors manufactured go into embedded systems.
- Embedded systems are ubiquitous because of Moore's law - computing is getting cheaper and cheaper
- How does an embedded system differ from a desktop computer system?
- Typically much less flexible than a desktop PC - designed for only a small set of tasks
- Usually does not allow the end-user to install his own software
- Interfaces to special-purpose hardware rather than general-purpose devices like disk drives.
- Typically cost, power consumption, reliability, and safety more important than performance.
- Usually it has just enough performance to get the job done.
- Must be able to run for long periods of time without requiring human intervention.
- Must be real-time but not necessarily fast.
- A slow desktop computer is only annoying. Should be "fast" but no hard real-time specifications.
- An industrial control system that fails worst-case response time spec can cause a disaster.
- Large-scale embedded computers, for example network servers, may resemble desktop computers.
- Need network interface(s), large memory, mass storage, user interface.
- Smaller embedded systems use a microcontroller, a microprocessor with peripherals on-chip.
- At a minimum, an embedded microcontroller includes
- CPU
- Some on-chip memory
- Some I/O (input/output interfaces)
- Typical microcontroller features: (covered in more detail later in the course)
- Memory
- Non-volatile ROM or flash memory for program storage
- RAM memory for data
- EEPROM memory for non-volatile data
- DMA (Direct Memory Access)
- MMU (Memory Management Unit)
- External and internal interrupts
- Timers of various types
- Serial I/O devices (UART, SPI, I2C)
- Analog interfaces: A/D and D/A converters
- PWM motor control
- Network interface (CAN, Ethernet)
- JTAG test port
- ICP (In-Circuit Programming)
- Support circuitry common in embedded systems includes:
- Watchdog timer (WDT)
- The microprocessor is supposed to reset the WDT periodically
- If the processor hangs up, the WDT resets the system
- Brown-out detector (BOD)
- Resets the microprocessor if the power supply voltage drops below a certain level
- Batteries and battery chargers
- Embedded systems may use batteries exclusively or for backup power
- Battery charger ICs make the design easier and safer
- I/O of all types, e.g. LEDs, displays, buttons/keypads, buzzers, network interfaces, etc.
- Other examples of embedded systems
The RCM3000 development kit
- Review schematics
- Features - Identify components on PC board
- Rabbit 3000 processor running at 29.4 MHz
- 256 kB flash, 128 kB RAM
- Programming/debug port
- 10-base T Ethernet port
- Power supply and reset generator
- IrDA transceiver
- RS-232 interface
- Prototyping area for through-hole and surface-mount parts
- Discuss the project
Assignments:
- Read Embedded Software Primer "About This Book" and Chapter 1. (Note Hungarian variable naming)
- Review the material in Embedded Software Primer, Chapters 2 and 3.
- Read Embedded Systems Design, Chapter 1.
- Look at the data sheets for the various components on the RCM3000 board.
- Lab 1: Install hardware and software. Run sample programs. (Due next week)