Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
Microcontroller
Inputs Outputs
(uC)
An Embedded Control System
Inputs
Microcontroller
Outputs
(uC)
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
Clock I/O
Microchip (3)
Reset PIC10F200
Watch Input (1)
Dog
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
Clock I/O
Reset Core
Power Timers
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
Clock I/O
Reset Core
Power Timers
Comm Analog
A High End Microcontroller
JTAG NEXUS
32K Cache
32-Ch TPU
Freescale
DSP
(2)
32-Bit MMU
MPC5554
USB 2.0
HS PCI-E
Sheeva Core
1.2 GHz
MPEG 2xTDM
Audio
2xGbE
2xSATA
MAC
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
• Interrupts
• Tasks
• Priorities
Real Time Software
External External
Event Event
Timer 1 Timer n
Micro-
Prioritized Inputs
I/O Controller
Interrupts
Core SW
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
Case Studies
Mobile Phone User Interface
Touch
Screen
Freescale
Radio
68HC05
Power
Battery
Freescale LCD Graphics
Keypad
Dragonball Driver LCD
Inputs
68328
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
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 Xilinx Graphics
Pentium Video FPGA LCD
Touch Processor
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
Fibre
LSI Logic FC Channel
PCI Bus
Controller Transceiver Bus
Q&A Session
The End.