Transcript ppt

EE 107 Fall 2016
Lecture 2
Design and Micro-controller
Networked Embedded Systems
Sachin Katti
The Internet of Things—some popular projections
The number of computers per person grows
Mainframe
[Bell et al. Computer, 1972, ACM, 2008]
log (people per computer)
1 per Enterprise
Workstation
1 per Engineer
Laptop
1 per
Professional
Smart
Sensors
Mini
Computer
Ubiquitous
1 per Company
Personal
Computer
1 per Family
100 – 1000’s
per person
1 per person
Smartphone
1950
1960
1970
1980
1990
2000
2010
2020
Computer volume shrinks by 100x every decade
Mainframe
10T
1 per Enterprise
Workstation
1 per Engineer
100x smaller
every decade
[Nakagawa08]
Size (mm2)
Laptop
1 per
Professional
Smart
Sensors
Mini
Computer
Ubiquitous
1 per Company
Personal
Computer
1 per Family
100 – 1000’s
per person
1 per person
Smartphone
100mm
1950
1960
1970
1980
1990
2000
2010
2020
4
Price falls dramatically, and enables new applications
Mainframe
100000
1 per Enterprise
Workstation
1 per Engineer
Prices (US Dollars)
Number Crunching
Data Storage
Laptop
1 per
Professional
Smart
Sensors
Mini
Computer
Ubiquitous
1 per Company
Personal
Computer
1 per Family
100 – 1000’s
per person
1 per person
Smartphone
0.01
1950
1960
1970
1980
1990
2000
2010
2020
5
What is driving the embedded explosion?
Moore’s Law (a statement about economics):
IC transistor count doubles every 18-24 months
Photo Credit: Intel
Dennard Scaling made transistors fast and low-power:
So everything got better!
Radio technologies enabling pervasive computing
Source: Steve Dean, Texas Instruments
http://eecatalog.com/medical/2009/09/23/current-and-future-trends-in-medical-electronics/
Bell’s Law: A new computer class every decade
“Roughly every decade a new,
lower priced computer class
forms based on a new
programming platform, network,
and interface resulting in new
usage and the establishment of a
new industry.”
- Gordon Bell [1972,2008]
What is driving Bell’s Law?
Technology Scaling
Technology Innovations
• Moore’s Law
• MEMS technology
– Made transistors cheap
• Dennard’s Scaling
– Made them fast
– And low-power
• Result
– Holding #T’s constant
• Exponentially lower cost
• Exponentially lower power
– Small, cheap & low-power
• Microcontrollers
• Memory
• Radios
– Micro-fabricated sensors
• New memories
– New cell structures (11T)
– New tech (FeRAM, FinFET)
• Near-threshold computing
– Minimize active power
– Minimize static power
• New wireless systems
– Radio architectures
– Modulation schemes
• Energy harvesting
Source: Joe Cross, DARPA MTO
Typical Embedded System Challenges (1-2)
• Small Size, Low Weight
– Handheld electronics
– Transportation applications weight costs money
• Low Power
– Battery power for 8+ hours (laptops often last only 2 hours)
– Limited cooling may limit power even if AC power available
Slides from CMU course 18-349, Anthony Rowe
Typical Embedded System Challenges (2-2)
• Harsh environment
– Heat, vibration, shock
– Power fluctuations, RF interference, lightning
– Water, corrosion, physical abuse
• Safety-critical operation
– Must function correctly
– Must not function incorrectly
• Extreme cost sensitivity
– $.05 adds up over 1,000,000 units
Slides from CMU course 18-349, Anthony Rowe
CPU: An All Too Common View of Computing
• Measured by: Performance
CPU
An Advanced Computer Engineer's View
• Measured by: Performance
• Compilers matter too...
Cache
CPU
Memory
An Enlightened Computer Engineer's View
• Measured by: Performance, Cost
• Compilers & OS matter
Cache
Memory
CPU
I/O
An Embedded Computer Designer's View
• Measured by: Cost, I/O connections, Memory Size, Performance
Memory
Cache
Microcontroller
CPU
A/D
MMI
D/A
I/O
An Embedded Application Designer's View
• Measured by: Cost, Timetomarket, Cost, Functionality, Cost & Cost.
Memory
Cache
Microcontroller
Sensors
CPU
A/D
Diagnostic
tools
MMI
D/A
I/O
Electro-mechanical
backup and safety
External
Environment
Actuator
Auxiliary Systems
(power, cooling)
Modern Embedded Systems View
• Measured by: Does it actually work? (and all of the other stuff)
Memory
Cache
Network
Microcontroller
Sensors
Distributed!
A/D
Diagnostic
tools
D/A
CPU
MMI
I/O
Actuator
Auxiliary Systems
(power, cooling)
Electro-mechanical
backup and safety
External
Environment
Memory
Network
Memory
Cache
Network
Microcontroller
Sensors
A/D
Diagnostic
tools
D/A
CPU
MMI
I/O
Electro-mechanical
backup and safety
External
Environment
Cache
Microcontroller
Actuator
Auxiliary Systems
(power, cooling)
Sensors
A/D
Diagnostic
tools
D/A
CPU
MMI
I/O
Electro-mechanical
backup and safety
External
Environment
Actuator
Auxiliary Systems
(power, cooling)
Embedded Computers Rule the Marketplace
• ~80 Million PCs vs. ~3 Billion Embedded CPUs annually
– Embedded market growing; PC market mostly saturated
• Domain Experts Needed…
– General Computing
• Set-top boxes, video game consoles, ATM, …
– Control Systems
• Airplane, Heating and Cooling System
– Signal Processing
• Radar, Sonar, Video Compression, Human-Brain interface
– Communication
• Internet, Wireless Communication, VoIP…
Embedded Systems Careers
Slides from CMU course 18-349, Anthony Rowe
Misconceptions (1)
• Embedded systems = low end microcontrollers
Slides from CMU course 18-349, Anthony Rowe
Misconceptions (2)
• Embedded system programing = programming in assembly to
optimize the code for space, time etc.
• Compilers are typically better then humans at generating the
best code
• Code portability issues -> some device-driver dependent code
written in assembly, but most app code is written in higherlevel languages
Slides from CMU course 18-349, Anthony Rowe
Misconceptions (3)
• Embedded systems = old topic
• Always new and exciting developments that track technology
– New sensors / actuators
– More powerful chips
– New communication mechanisms
• Embedded systems + Internet = Internet of Things
– Massively hot topic right now!
Slides from CMU course 18-349, Anthony Rowe
Specifications for an embedded system
Inputs: What data will be collected, what are the controls?
Outputs: What will be transmitted, displayed, or controlled?
Sample rate: What interval does it need to collect data?
Communication: What data needs to be sent and received, how?
Storage: What data needs to be stored and for how long?
Processing: What processing needs to be done on the data?
Power: How long does it need to last between charges?
Form factor: How will the device fit into the physical world?
Cost: How much will the users be willing to pay?
Case study: motion tracking
Inputs: IMU sensor data collected by an MCU via serial interface
Outputs: Motion trajectory output at 1-60Hz with mm accuracy
Sample rate: varies, but around 1KHz
Communication: 1KHz*???
Storage: How much buffering do we need on the target device?
Processing: Are we computing locally or in the cloud?
Power: Powered by battery ideally, but can we?
Form factor: Small enough to be mounted on a human body
Cost: ~$500
Motion tracking hardware platform
Programmer
Serial port
MPU9250 IMU
I2C
SPI
MIMO WiFi
transmitter
Xsens IMU
WiFi receiver & computer
Motion tracking algorithms
Motion tracking hardware platform
IMU sensor: connects to the MCU via I2C and SPI serial interface
MCU: AtMega 328 that connects to the IMU sensor and the WiFi radio
MIMO WiFi radio: Intel 5300 MIMO WiFi card
Intel NUC: runs Ubuntu OS, controls the WiFi radio, and connects to the
MCU via serial port
WiFi receiver: Receive WiFi packets, extract IMU sensor data, and does
motion tracking using IMU sensor data + WiFi radio