Dr. Baruch Zoltan Francisc
Professor

Dedicated Computer Systems

Course Syllabus




INTRODUCTION

EMBEDDED SYSTEMS
APPLICATIONS
CHARACTERISTICS
TECHNOLOGIES
  • Processor Technology: General-Purpose Processors; Dedicated Processors; Application-Specific Processors
  • Manufacturing Technology: VLSI; ASIC; PLA; PAL; CPLD; FPGA
  • Design Technology

MODELS AND LANGUAGES FOR SYSTEM SPECIFICATION

INTRODUCTION
TYPES OF MODELS
  • State-Oriented Models
  • Activity-Oriented Models
  • Structure-Oriented Models
  • Data-Oriented Models
  • Heterogeneous Models
MODELS AND LANGUAGES
EXAMPLE
STATE-ORIENTED MODELS
  • Finite-State Machine
  • Finite-State Machine with Datapath
  • Petri Net
  • Hierarchical Concurrent Finite-State Machine
ACTIVITY-ORIENTED MODELS
  • Data Flow Graph
  • Control Flow Graph
STRUCTURE-ORIENTED MODELS
DATA-ORIENTED MODELS
  • Entity-Relationship Diagram
  • Jackson's Diagram
HETEROGENEOUS MODELS
  • Control/Data Flow Graph
  • Structure Diagram
  • Object-Oriented Model
  • Program-State Machine
SYSTEM SPECIFICATION LANGUAGES
  • Specification Requirements for Embedded Systems
  • Verilog
  • HardwareC
  • SystemC
  • Statecharts
  • SysML: Overview; Blocks; Block Definition Diagram; Internal Block Diagram; Requirements; Parametric Diagram

COMMUNICATION INTERFACES

SERIAL INTERFACES
  • RS-232: Serial Communication Model; Types of Serial Communication; Asynchronous Communication; Synchronous Communication; RS-232 Standard; RS-232 Interface Signals; Data Flow Control; Serial Cables; Example of RS-232 Interface
  • RS-422
  • RS-485
  • I2C: Overview; Start and Stop Conditions; Data Validity; Bus Transfers; Versions; Example of I2C Interface
  • SPI: Overview; Interface Signals; Operation; Advantages and Disadvantages; Applications; Comparison to the I2C Interface; Example of SPI Interface
  • USB: Overview; Characteristics; Bus Topology; USB Versions; Cables and Connectors; Electrical Interface; Transfer Types; Example of USB Interface
  • IEEE 1394: Overview; Characteristics; Cables and Connectors; Interconnection Topology; Bus Protocol
  • CAN: Overview; Data Transmission; Message Format; Applications; Examples of Interface Devices; The FlexRay Interface
PARALLEL INTERFACES
  • PCI-104
  • CompactPCI
  • Embedded PCI-X
WIRELESS INTERFACES
  • IrDA: Physical Interface; Modulation; Data Format; Protocol Stack
  • Bluetooth: Clock Signals; Radio Frequencies; Device Classes; Versions; Advantages; Disadvantages
  • IEEE 802.11: Original 802.11 Standard; IEEE 802.11b; IEEE 802.11g; IEEE 802.11n; Advantages; Disadvantages

PERIPHERALS FOR EMBEDDED SYSTEMS

COUNTERS AND TIMERS
  • Counters
  • Timers
  • Simple Timer
  • Timer with a Terminal Count Signal
  • Cascaded Timer
  • Timer with a Prescaler
  • Watchdog Timer
LCD CONTROLLERS
KEYPAD CONTROLLERS
A/D CONVERTERS
D/A CONVERTERS
REAL-TIME CLOCKS
PULSE WIDTH MODULATORS
SENSORS
  • Temperature Sensors
  • Light Sensors
  • Accelerometers
  • Pressure Sensors
  • Magnetic-Field Sensors
MOTOR DRIVE CIRCUITS

MICROCONTROLLERS

8051 MICROCONTROLLERS
  • 8051 Architecture
  • Memory Organization: Program Memory; Internal Data Memory; External Data Memory
  • Special Function Registers
  • I/O Ports
PIC MICROCONTROLLERS
  • Overview
  • PIC24H Architecture
AVR MICROCONTROLLERS
  • Overview: tinyAVR Microcontrollers; megaAVR Microcontrollers; XMEGA Microcontrollers; AVR32 Microcontrollers
  • ATmega Architecture: CPU Core; Memory Types; I/O Ports
DSP MICROCONTROLLERS

EMBEDDED PROCESSORS

ARM PROCESSORS
  • History
  • ARM Programming Model
  • ARM Architecture Versions
  • ARM Processor Examples
  • Thumb Extension
  • DSP Extension
  • Jazelle Extension
PowerPC PROCESSORS
  • Overview
  • PowerPC Architecture Versions
  • PowerQUICC Microcontrollers
  • QorIQ Microcontrollers
INTEL PROCESSORS
  • XScale Microarchitecture: Branch Target Buffer; Cache Memories; Memory Management Units; MAC Coprocessor; Coprocessor Interface; Internal Memory Bus; Debug Unit
  • Network Processors: The IXP465 Network Processor
  • The CE 3100 Media Processor
AMD PROCESSORS
  • AMD Geode Processors: Geode LX Processors
  • AMD64 Processors: Direct Connect Architecture; HyperTransport Technology; AMD Sempron 200U, 210U; AMD Turion Neo X2; AMD Athlon Neo X2
FPGA-BASED SYSTEMS
  • Cypress PSoC
  • Altera NIOS II
  • Xilinx Virtex-4

SOFTWARE DEVELOPMENT

EMBEDDED SOFTWARE DEVELOPMENT
SOFTWARE DEVELOPMENT STEPS
  • Compilation
  • Linking
  • Relocation
DEBUGGING MONITORS
  • The RedBoot Monitor
REMOTE DEBUGGERS
  • GNU Debugger: Overview; The RSP Protocol; GDB Command Examples
EMULATORS
SIMULATORS
HARDWARE TOOLS
PROGRAMS' COMMUNICATION WITH PERIPHERALS
  • Control and Status Registers
  • Device Drivers

EMBEDDED OPERATING SYSTEMS

PROCESSES
COMMUNICATION AMONG PROCESSES
SYNCHRONIZATION AMONG PROCESSES
PROCESS SCHEDULING
  • Real-Time Scheduling
  • Scheduling Points
  • Blocking and Unblocking
INTERRUPT HANDLING
REAL-TIME CHARACTERISTICS
EXAMPLES OF EMBEDDED OPERATING SYSTEMS
  • Windows CE and Windows XP Embedded
  • Embedded Linux
  • eCOS

IMPLEMENTING EMBEDDED SYSTEMS

INTRODUCTION
TASK MANAGEMENT
HIGH-LEVEL OPTIMIZATIONS
  • Floating-Point to Fixed-Point Conversion
  • Simple Loop Transformations
  • Loop Splitting
HARDWARE/SOFTWARE PARTITIONING
COMPILERS FOR EMBEDDED SYSTEMS
  • Introduction
  • Energy-Aware Compilation
  • Compilation for Digital Signal Processors
VOLTAGE SCALING AND POWER MANAGEMENT
  • Dynamic Voltage Scaling
  • Dynamic Power management
INTEGRATED SYSTEM EXAMPLE


Updated: September 29, 2013