Dr. Baruch Zoltan Francisc
Professor

Dedicated Computer Systems

Course Syllabus


INTRODUCTION

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

MODELS AND LANGUAGES FOR SYSTEM SPECIFICATION

INTRODUCTION
TYPES OF 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
  • 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 RS-232 Interface
  • RS-422
  • RS-485
  • I2C: Overview; Start and Stop Conditions; Data Validity; Bus Transfers; Versions; Example I2C Interface
  • SPI: Overview; Interface Signals; Operation; Advantages and Disadvantages; Comparison to the I2C Interface; Applications; Example SPI Interface
  • USB: Overview; Characteristics; Bus Topology; USB Versions; Cables and Connectors; Electrical Interface; Transfer Types; Example USB Interface
  • CAN: Overview; Data Transmission; Message Format; Applications; Example Interface Devices; FlexRay
PARALLEL INTERFACES
  • VME: Overview; VME Variants; Modules and Connectors; VXS
  • PCI-104
  • PCI/104-Express and PCIe/104
  • CompactPCI
WIRELESS INTERFACES AND PROTOCOLS
  • Bluetooth: Clock Signals; Radio Frequencies; Device Classes; Versions; Advantages; Disadvantages
  • IEEE 802.11: Original IEEE 802.11 Standard; IEEE 802.11b; IEEE 802.11g; IEEE 802.11n; IEEE 802.11ac; IEEE 802.11ad; IEEE 802.11ax
  • IEEE 802.15.4
  • ZigBee

PERIPHERALS FOR EMBEDDED SYSTEMS

COUNTERS AND TIMERS
  • Counters
  • Timers
  • Simple Timer
  • Timer with a Terminal Count Signal
  • Cascaded Timer
  • Timer with 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
  • megaAVR Architecture: CPU Core; Memory Types; I/O Ports
DSP MICROCONTROLLERS

EMBEDDED PROCESSORS

ARM PROCESSORS
  • Overview
  • ARMv1 .. ARMv6 Architectures
  • ARMv7 Architecture: Overview; ARM NEON Extension; ARM TrustZone Extension; ARM MPCore Technology; ARM big.LITTLE Technology
  • ARMv8 Architecture: Overview; AArch32 Execution State; AArch64 Execution State
INTEL PROCESSORS
  • Intel Atom Z37xx Processors
  • Intel Xeon Processors
AMD PROCESSORS
  • AMD Embedded G-Series Processors
  • AMD Embedded R-Series Processors
  • AMD Ryzen Embedded Processors

SOFTWARE DEVELOPMENT

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

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

Updated: September 28, 2019