Engineering - Science
Computer Engineering and Computer Sciences ECE372 are not at all differentiated by whether they involve hardware or software, since each (Microprocessor Organization) includes both. Rather, computer engineering is Embedded Systems more concerned with the implementation of ideas, while computer sciences is more concerned with the formal structure of those Introduction ideas.
Embedded Systems Example A. Ralston, E.D. Reilly: Encyclopedia of Computer Science Structure of Embedded System
Urs Utzinger 1 Urs Utzinger 2
Engineering Use of Microprocessor
• Engineering and Science: –CAD INFORMATION “organizing” – Simulations – Data Acquisition – Data Analysis • Data Management: – Administration – Accounting – Inventory ENERGY MATERIALS • Embedded Systems: “moving” “creating” – Process Control – Realtime Applications – Appliances
Urs Utzinger 3 Urs Utzinger 4
1 Microcontroller Systems Embedded Systems
• Nearly any computing system other than a computer • Microcontroller systems are often called Environment embedded systems Information Sensors Actuators • A computing system, embedded within a larger Processing system, and repeatedly performing a specific task (“the application”)
• Environment to Environment • Sensors + Information Processing + Actuators Urs Utzinger 5 Urs Utzinger 6
Embedded Systems Embedded Systems
DIL/NetPC • Single chip microcontroller (low cost) • Additional IO functions (serial, parallel, AD, DA, motorcontrol) • Low power consumption (limited cooling)
reset clock I/O
PC 104
Processor ROM RAM I/O-Interface
single chip Urs Utzinger 7 Urs Utzinger HCS12 8
2 Applications Market
• Consumer • Military – Washing machine, – Target recognition Remote, Entertainment – Guidance Computer Market (Audio/Video), Clocks, – Navigation Games Em bedded Systems • Communication • Industrial Desktops – Traffic Control Servers – Wireless (Pager, Cell 10000 phone) – Robotics, Production – Telephone, Answering – Inventory, Stock machines management 1000 – Networking (ATM, credit • Medial card, Ethernet) – Monitors, Treatment, 100
• Automotive Prosthetics M illio n s o f C o m p u ters
– Motor control (Ignition, 10 exhaust) – Power windows, seats 1 – Safety (airbag, ABS) 1998 1999 2000 2001 2002
Urs Utzinger– Information 9 Urs Utzinger 10
Example Device: Pulse Oximeter Example Device: Algorithm
Blood Oxygenation
[HbO2 ] HbO2SAT= [RHb] + [HbO2 ]
HbO2SAT(%)= HbO2SAT(fraction)×100
http://www.nonin.com/Products/oximetry.html $400.- Urs Utzinger (2004) 11 Urs Utzinger 12
3 Example Device: Physical Principle is based Example Device: Car on optical properties of blood
Hemoglobin & Water 3 10 hb [1/mm] 2 hbO2 [1/mm] 10 H2O [1/cm]
1 10
0 10
-1 10 Absorption
-2 10
-3 10
-4 10 200 300 400 500 600 700 800 900 1000 1100 Wavelength [nm] lambda Hb02 Hb [nm] [cm-1/M][cm-1/M] 660 319.6 3226.56 Urs Utzinger 940 1214 693.4413 Urs Utzinger 14
Example Device: Car
Embedded Systems Development Areas
Urs Utzinger More than 80 microprocessors and millions of lines of code 15 Urs Utzinger 16
4 Design Productivity Gap Traditional Design Flow
System Specification Manufacturing
Hardware/Software Design Partitioning
Hardware Software Design Design
Hardware Software Verification Verification
Hardware/Software Integration
Urs Utzinger 17 Urs Utzinger Verification of the 18 Integration
Problems with the Traditional Design Flow Sub-optimal vs. optimal Architecture
• Lack of a unified hardware-software framework – Hard to verify the entire system – Incompatibilities at the HW/SW boundary • “Prejudiced” definition of the partitions – Sub-optimal design – Any change in the partitioning may require considerable redesign efforts (negative impact on the time-to-market)
HundertwasserHaus
Urs Utzinger 19 Urs Utzinger 20
5 Embedded System Design Challenge Main Research Areas
• Simultaneous optimization of competing design Technologies that enable to design more metrics rapidly • Unified representation of hardware and software • Formal process for system specification • Reuse of designs Renaissance Engineer: Proficient in both HW&SW • Verification of designs Low power consumption optimization
Urs Utzinger 21 Urs Utzinger 22
Low Power Design
• Mobile Computing Devices – Battery driven devices: average power, battery lifetime • System Feasibility – Excessive thermal dissipation (the IC cannot withstand it) – Excessive cost: special packaging, heat sinks, cooling fans, … Structure of Embedded System – Logic design is overwhelmingly difficult • System Reliability – Heat induced electro-migration (propagation delays) – Every 10°C increase the component failure rate roughly doubles • Environmental Considerations
Urs Utzinger 23 Urs Utzinger 24
6 Embedded System: Microcontroller Microcontroller: Function Units
reset clock I/O • CPU: Central Processor Unit (4,8,16,32 bit data bus) • Memory – ROM: Firmware and Application (Flash Memory) Internal bus Processor ROM RAM I/O-Interface – RAM: Register area, Processor Stack, Temporary data
Local bus • DIO: Digital I/O (relays, sensor) single chip • SIO: Serial I/O (SPI, I2C, CAN, RS232, USB) • INT: Interrupt inputs (external/internal sources) • GPT: General Purpose Timer (optional event counter) DIO INT SIO • PWM: Pulse Width Modulator (motor controller) Peripheral bus • WDT: Watch Dog Timer (automatic reset) GPT PWM WDT AIO • AIO: Analog I/O (DAC & ADC)
Urs Utzinger 25 Urs Utzinger 26
Microcontroller: Processor (CPU) Microcontroller: Basic Operation
Clock Control Arithmetic & Sequencer Logic Unit
Control Instruction Signals Decoder read instruction and operands machine code (Assembler) Fetch Register 1 bit pattern Register 2 Register 3 several CPU cycles Decode Register 4 for one instruction Execute
Program Counter
Memory Address Memory Data microcode program Register Register
Urs Utzinger Address Bus Data Bus 27 Urs Utzinger 28
7 Microcontroller: Basic Operation Microcontroller: Packaging • DIL = Dual in Line = DIP = Dual In Line Package • Program (instructions) and data are stored in memory • SIP = Single Inline Package • SDIP = Shrink DIP • Each instruction is read (fetched) from memory, interpreted (decoded), and executed • SOP = Small Outline Package – Arithmetic Logic Unit (ALU) performs operations on data • SSO = Single Small Outline Package – Data is transferred (register, memory, I/O) • SSOP = Small Shrink Outline Package • Program Counter (PC) indicates current location of • QFP = Quad Flat Package program in Memory and is automatically incremented • LQFP= Low Profile Quad Flat Package after each instruction • FQFP = Fine pitch Quad Flat Package • TQFP = Thin Quad Flat Package • Each instruction can take several clock cycles Urs Utzinger 29 Urs• Utzinger BGA = ball grid array 30 www.xs4all.nl/~ganswijk/chipdir/package.htm
Micro Controller Manufacturers Microchip
• PIC 10 • PICmicro®, www.microchip.com – 8 bit, 6 IO pins, <512bytes EEPROM, $0.50 • MOTOROLA, e-www.motorola.com (microcontrollers) • PIC12 – 8 bit, 6 IO pins, 1kbytes, $1 •AMD, www.amd.com (embedded microcontrollers) – internal oscillator • Renesas (Mitsubishi & Hitachi), america.renesas.com •PIC14 • NEC, 78k, www.necelam.com microcontrollers – PIC14C000 battery chargers and controllers, SMB bus • JAVA, www.ajile.com, www.imsys.se compatible, 8 channels 8bit A/D, 4bit D/A current source, temperature sensor, $8 • Intel, www.intel.com, www.intel.com/design/embcontrol • Dallas/Maxim Semiconductor based on xx51 • PIC16 ($3 - $4) – PIC16C6x or C7x standard, 192 RAM, 4K EPROM I2C, SPI, 3 architecture, www.maxim-ic.com timers, WDT • Philips Semiconductors www.semiconductors.philips.com/products – PIC16C9xx integrated LCD driver • Infineon Technologies www.infineon.com • PIC18 ($3-$7) • ST Microelectronics www.st.com – 10bit A/D, PWM, PLL
Urs Utzinger 31 Urs Utzinger 32
8 Motorola
• 8 Bit microcontrollers – HC05, legacy – HC08, automotive, USB – HC11, legacy • 16 Bit microcontrollers Last Lecture – HC12 now S12 – HC16 Status of Team • 32 Bit microcontrollers Status of Workshops – 68xxx/Coldfire Status of Webpage –M*Core Show on Web – PowerPC MPC5xx, MPC52xx Homework 1 – ARM Processors Homework 2
Urs Utzinger 33 Urs Utzinger 34
Embedded System: Microcontroller Microcontroller: Processor (CPU)
Clock Control Arithmetic & reset clock I/O Sequencer Logic Unit
Control Instruction Signals Internal bus Processor ROM RAM I/O-Interface Decoder
Local bus Register 1 single chip Register 2 Register 3 Register 4
DIO INT SIO Program Counter Peripheral bus Memory Address Memory Data GPT PWM WDT AIO Register Register
Urs Utzinger 35 Urs Utzinger Address Bus Data Bus 36
9 Microcontroller: Basic Operation
read instruction and operands machine code (Assembler) Fetch bit pattern Today's Lecture
several CPU cycles for one instruction Execute Decode Introduction Embedded Systems Continued
microcode program
Urs Utzinger 37 Urs Utzinger 38
HCS12 CPU Registers
Power ROM Analog 2D RAM Timer Input Debug Timer Output Oscillator Pulse Width M Interrupts Serial RS232 Mode Serial CAN PORT E Serial SPI Expansion
Urs Utzinger 39 Urs Utzinger 40
10 Urs Utzinger 41
11