430 likes | 924 Views
Embedded Systems Development. Andy Mehta November 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
E N D
Embedded Systems Development Andy Mehta November 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 Inputs Microcontroller (uC) Outputs
An Embedded Control System Inputs Microcontroller (uC) Outputs 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 Flash 256 x 12 I/O (3) Microchip PIC10F200 Clock Reset Watch Dog Input (1) RAM 16 Bytes
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 RAM Flash EEPROM I/O Core Clock Reset Timers Power Comm Analog
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 RAM Flash EEPROM I/O Core Clock Reset Timers Power Comm Analog
A High End Microcontroller JTAG NEXUS 2MB Flash 64KB SRAM 64-Ch DMA DSP 32K Cache Freescale 32-Bit MPC5554 MMU 32-Ch TPU (2) CAN Bus (3) A/D 40-Ch PLL 64-Ch I/O 32-Bit External Bus
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 DDR2 Ctlr Flash Ctlr USB 2.0 HS Sheeva Core 1.2 GHz PCI-E 2xTDM MPEG Audio 2xGbE MAC 2xSATA
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
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 External Event External Event Timer 1 Timer n Micro- Controller Core SW Prioritized Interrupts I/O Inputs Task 1 Task 2 Task n
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
Mobile Phone User Interface Touch Screen Freescale 68HC05 Radio Power Battery Freescale Dragonball 68328 LCD Driver Graphics LCD Keypad Inputs Micro- Phone Speaker
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 Power Supply Postal Mail Pieces Freescale 68HCxx Flash RAM PLD Optical Encoder Optical Isolation RS232 PC Application
Mail Sorter Development 6 Months total development time Industrial robustness Development involved HW SW- timers Project successfully completed Product went to production
eBook Rechargeable Battery PCMCIA PC/104 Pentium Processor Xilinx FPGA Graphics LCD Video Touch Screen
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 Logic Controller FC Transceiver Fibre Channel Bus PCI Bus