Engineering - Science

Computer Engineering and Computer Sciences ECE372 are not at all differentiated by whether they involve hardware or software, since each ( 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

Urs Utzinger 1 Urs Utzinger 2

Engineering Use of Microprocessor

• Engineering and Science: –CAD INFORMATION “organizing” – Simulations – 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 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 , – 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 management 1000 – Networking (ATM, credit • Medial card, Ethernet) – Monitors, Treatment, 100

• Automotive Prosthetics M illio n s o f 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 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 () 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: 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 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 – (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 ) – 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 Serial RS232 Mode Serial CAN PORT E Serial SPI Expansion

Urs Utzinger 39 Urs Utzinger 40

10 Urs Utzinger 41

11