Embedded Systems Development

bendembarrassΗλεκτρονική - Συσκευές

2 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

68 εμφανίσεις

23
-
Nov
-
09

Embedded Systems
Development

Andy Mehta

November 23, 2009

23
-
Nov
-
09

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

23
-
Nov
-
09

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

23
-
Nov
-
09

An Embedded System

Microcontroller

(uC)

Outputs

Inputs

23
-
Nov
-
09

An Embedded Control System

Microcontroller

(uC)

Outputs

Inputs

Feedback

23
-
Nov
-
09

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

23
-
Nov
-
09

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

23
-
Nov
-
09

A Low End Microcontroller

Microchip

PIC10F200

I/O

(3)

RAM

16 Bytes

Flash

256 x 12

Clock

Watch

Dog

Input (1)

Reset

23
-
Nov
-
09

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

23
-
Nov
-
09

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

23
-
Nov
-
09

A Typical Microcontroller

Core

I/O

RAM

Flash

EEPROM

Clock

Power

Timers

Analog

Comm

Reset

23
-
Nov
-
09

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

23
-
Nov
-
09

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

23
-
Nov
-
09

A Typical Microcontroller

Core

I/O

RAM

Flash

EEPROM

Clock

Power

Timers

Analog

Comm

Reset

23
-
Nov
-
09

A High End Microcontroller

Freescale

32
-
Bit

MPC5554

64
-
Ch

I/O

32
-
Bit External Bus

2MB Flash

A/D

40
-
Ch

CAN Bus

(3)

MMU

32
-
Ch TPU

(2)

32K Cache

DSP

64
-
Ch DMA

PLL

64KB SRAM

JTAG

NEXUS

23
-
Nov
-
09

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

23
-
Nov
-
09

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


23
-
Nov
-
09

Marvell
88F6281

Sheeva Core

1.2 GHz

PCI
-
E

DDR2

Ctlr

Flash

Ctlr

MPEG

Audio

2xTDM

2xSATA

2xGbE

MAC

USB 2.0

HS

23
-
Nov
-
09

Embedded Systems Development

23
-
Nov
-
09

Embedded Systems Development



System development



Electronics



PCB Layout



Software



Mechanical



Product qualification



DFM


design for manufacturability


23
-
Nov
-
09

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


23
-
Nov
-
09

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



23
-
Nov
-
09

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

23
-
Nov
-
09

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

23
-
Nov
-
09

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


23
-
Nov
-
09

Real Time

Software Development

23
-
Nov
-
09

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

23
-
Nov
-
09

Real Time Software Development



Timers



Interrupts



Tasks



Priorities

23
-
Nov
-
09

Real Time Software

Micro
-

Controller

Core SW

Timer 1

Prioritized

Interrupts

Task 1

Timer n

Task 2

Task n

External

Event

External

Event

Inputs

I/O

23
-
Nov
-
09

Real Time Software Development



Interrupts


ISRs



‘C’ v/s Assembly



Timers


input capture and output compare



Tasks and priorities



RTOS’



Worst case analysis

23
-
Nov
-
09

Software Development
-

Tools



Programmers
-

development, in
-
circuit, field



Emulators
-

JTAG



Simulators



Assemblers



Compilers



Linkers



Loaders



CASE tools



Version control

23
-
Nov
-
09

Case Studies

23
-
Nov
-
09

Mobile Phone User Interface

Freescale

Dragonball

68328

LCD

Driver

Keypad

Inputs

Freescale

68HC05

Micro
-

Phone

Speaker

Touch

Screen

Graphics

LCD

Power

Battery

Radio

23
-
Nov
-
09

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

23
-
Nov
-
09

Postal Mail Sorting Device

Freescale

68HCxx

Postal

Mail

Pieces

Optical

Encoder

Power

Supply

RS232

Flash

RAM

PLD

PC

Application

Optical

Isolation

23
-
Nov
-
09

Mail Sorter Development



6 Months total development time



Industrial robustness



Development involved



HW



SW
-

timers



Project successfully completed



Product went to production

23
-
Nov
-
09

eBook

PC/104

Pentium

Processor

PCMCIA

Graphics

LCD

Rechargeable

Battery

Video

Xilinx

FPGA

Touch

Screen

23
-
Nov
-
09

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

23
-
Nov
-
09

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

23
-
Nov
-
09

1GHz Fibre Channel PCI Card

LSI Logic

Controller

FC

Transceiver

PCI Bus

Fibre

Channel

Bus

23
-
Nov
-
09

Q&A Session

23
-
Nov
-
09

The End.