23-Nov-09 Embedded Systems Development Andy Mehta November 23, 2009.

42
Embedded Systems Development Andy Mehta November 23, 2009

Transcript of 23-Nov-09 Embedded Systems Development Andy Mehta November 23, 2009.

Embedded Systems Development

Andy MehtaNovember 23, 2009

What are Embedded Systems• They are Embedded ‘in’

• They are not desktops

• Not mainframes or mini’s

• Automotive- engine, doors, mirrors• A heating furnace controller- Thermostat

• A mobile phone

• Medical device

• DSP based systems

• Avionics

Why Use Embedded Systems• User functionality – portability

• User convenience, comfort - HVAC, Auto,

Appliances, GPS, TV remote, DVR, iPod • Low power and safety – iron, coffee maker, LED Lighting

• Commercial/industrial applications• Complex features to be simplified• Replace electro-mechanical systems• Cost reduction• Quality improvement

An Embedded System

Microcontroller(uC)

OutputsInputs

An Embedded Control System

Microcontroller(uC)

OutputsInputs

Feedback

Microcontroller Manufacturers• ARM – Advanced RISC Machines• Atmel• Cypress- programmable blocks• Freescale Semiconductor- uC, DSP

• Intel- 8051/8052 cores• Microchip• NEC• Renasas• Sharp• ST Microelectronics• Texas Instruments- uC, DSP• Many others

Microcontrollers Spectrum• $0.15 - $0.20 Far Eastern parts

• A 4-bit 4-pin $0.35 ST part

• Musical gift card uC

• 8-bit 8K flash,1K RAM, 16-I/O

• 8-Bit, 256K flash, 32K RAM, 64-I/O

• 32-Bit, 2M Flash, 64K RAM, TPU• A high end $50 Marvell processor – GbE, USB HS

• DSPs

A Low End Microcontroller

MicrochipPIC10F200

I/O(3)

RAM16 Bytes

Flash256 x 12

Clock

WatchDog

Input (1)

Reset

PIC10F200 Microcontroller• 33 12-bit wide instructions• 2-level deep stack• 4MHz precision internal clock• Sleep mode – 100nA• Internal pull-ups• 3 Input/Output – direct LED drive

• 8-bit Timer – programmable prescaler

• Options – Comparator, memory

• $0.34/3K, $0.59/1

Microcontroller Functionality• Core processor - Voltages

• Memory – Flash, RAM, EEPROM, FRAM, DDR2

• Input/Output – interface voltage

• Timers

• Interrupts• Serial Communication- SPI, I2C, UART

• USB, CAN-BUS, IR, SD-Cards • Analog – A/D, DAC, Comparator, Op-amp

A Typical Microcontroller

Core

I/O

RAM Flash EEPROM

Clock

Power Timers

AnalogComm

Reset

Power-On Reset Modules• Internal reset

• Internal and/or external reset

• Programmable threshold voltage

• Programmable duration

• Programmable Osc startup time

• Brown-out condition - programmable

• Hysteresis

• Watchdog timer

Battery Powered Applications• Sleep mode

• Currents down to 20nA

• All kinds of modes available

• Reduced clock frequencies

• Core options

• Selective peripherals sleep mode

• Wake up modes – clocks, timers, interrupts

• Watchdog timer

A Typical Microcontroller

Core

I/O

RAM Flash EEPROM

Clock

Power Timers

AnalogComm

Reset

A High End Microcontroller

Freescale32-Bit

MPC5554

64-Ch I/O

32-Bit External Bus

2MB Flash

A/D40-Ch

CAN Bus(3)

MMU

32-Ch

TP

U(2)

32K C

ache

DS

P

64-Ch

DM

A

PLL

64KB SRAM

JTAG NEXUS

Freescale MPC5554 uC• 132MHz, 416-Pin Plastic BGA

• ECC Flash, SRAM• Interrupt controller – 286 prioritized leves

• PLL – frequency modulated for EMI

Applications

• Engine control

• Avionics

• Turbine control

Microcontroller Selection Criterion• Speed of operation, complexity – 8/16/32 Bits

• Cost – HW/SW tradeoffs• Power consumption - TI, Microchip, Freescale

• Memory Size – Flash, RAM, EEPROM

• # of I/O• Analog – A/D, DAC, Comparator, Op-amp

• Serial Communication- SPI, I2C, USB, IR, GbE

• Product Family

• Development tools

• Timers – input capture, output compare

• Environmental conditions

Marvell 88F6281

Sheeva Core1.2 GHz

PCI-E

DDR2Ctlr

FlashCtlr

MPEGAudio

2xTDM

2xSATA2xGbEMAC

USB 2.0HS

Embedded Systems Development

Embedded Systems Development

• System development

• Electronics

• PCB Layout

• Software

• Mechanical

• Product qualification• DFM – design for manufacturability

System Development

• Architecture• Complexity- MIPS required

• Sub-systems interface - Master/slave

• Communication - Networking protocols

• Power budget• HW/SW tradeoffs• uC selection• System tests – regulatory agencies

Electronics Development

• Design specs

• Design for testability• uC and components selection• Worst case analyses• Schematics – CAD tools, Design rule checks

• Simulations• Proof of concept, Prototyping• Design validation• Product qualification

Electronics Development Tools

• Schematic capture- Orcad, PADS, Cadence, Mentor

• Analog simulation- pSpice, LTSpice

• Logic Simulation- Orcad, Cadence, Mentor

• VHDL, Verilog

• Worst case analyses- simulations

• Proof of concept, Prototyping- PALs, FPGAs

• DFMEA- UL, agencies approval

• Reliability predictions - MTBF

ASICs & Programmable Logic

• Application Specific ICs• PAL, PLD, FPGA- uCs with PLDs

• Gate Arrays• Standard Cells• Custom ICs• Languages- VHDL, Verilog

• Functional simulation• Timing simulations• Floor planning• Back-annotation

PCB Layout

• CAD tools- Orcad, Protel, PADS, Allegro, Mentor

• Netlist• # of layers• Mechanical outline• 3D fit• Noise considerations- diff-pair, impedance-matching

• Thermal considerations• DRC• Gerber output• Fabrication

Real Time Software Development

Software Development

• Specs• Architecture• SW Design• Languages – ‘C’, C++, Assembly

• OS’• Simulations• Tools – compilers, assemblers, programmers, emulators

• Real time aspects - ISRs• SW/HW tradeoffs• System integration

Real Time Software Development

• Timers

• Interrupts

• Tasks

• Priorities

Real Time Software

Micro-ControllerCore SW

Timer 1

PrioritizedInterrupts

Task 1

Timer n

Task 2

Task n

ExternalEvent

ExternalEvent

InputsI/O

Real Time Software Development

• Interrupts – ISRs

• ‘C’ v/s Assembly• Timers – input capture and output compare

• Tasks and priorities

• RTOS’

• Worst case analysis

Software Development - Tools

• Programmers- development, in-circuit, field

• Emulators- JTAG

• Simulators• Assemblers• Compilers• Linkers• Loaders• CASE tools• Version control

Case Studies

Mobile Phone User Interface

FreescaleDragonball

68328

LCD Driver

KeypadInputs

Freescale68HC05

Micro-Phone

Speaker

TouchScreen

GraphicsLCD

PowerBattery

Radio

Mobile Phone Development

• 3.5 Months total development time

• Development involved– HW– SW- menus, address book– GUI – electronic ink capture– Plastics industrial design, proto tooling– Fonts– Phone made and received calls

• Project successfully completed

Postal Mail Sorting Device

Freescale68HCxx

PostalMail

Pieces

OpticalEncoder

PowerSupply

RS232

FlashRAMPLD

PCApplication

OpticalIsolation

Mail Sorter Development

• 6 Months total development time

• Industrial robustness

• Development involved– HW

– SW- timers

• Project successfully completed

• Product went to production

eBook

PC/104Pentium

Processor

PCMCIAGraphics

LCD

RechargeableBattery

VideoXilinxFPGA

TouchScreen

eBook

• 6 Months total development time

• Proof of concept

• Development involved– HW– FPGA for orthogonal rotation of image– SW- PC Application– Industrial design- leather bound covers

• Project successfully completed

• Idea was discarded by the customer

1GHz Fibre Channel PCI Card

• 3 Months total HW development time

• SAN Storage Area Networking

• 1GHz Fibre Channel Bus

• LSI Logic FC controller

• Technician did the Orcad PCB Layout

• Windows Driver development

1GHz Fibre Channel PCI Card

LSI LogicController

FCTransceiver

PCI Bus

Fibre

Channel

Bus

Q&A Session

The End.