embedded systems programming 2016-17fantozzi/esp1617/files/accessing hardware.pdfnfc can be used to...
Post on 24-May-2020
2 Views
Preview:
TRANSCRIPT
EMBEDDED SYSTEMS
PROGRAMMING 2016-17Accessing Hardware
HARDWARE LIST
Accelerometer
Vector magnetometer (compass)
Gyroscope
GPS and/or other location facilities
(Front/rear) camera
Microphone
Speaker
Battery
ACCELEROMETER
Measures proper acceleration in m/s2
along one or more axes
Acceleration due to the force of gravity is detected
In smartphones and similar devices
Solid-state, 3-axis MEMS accelerometer
Reads per seconds: some hundreds
Measurement range: from 0 to ~10 g’s
Can be used to detect the orientation of the device.However, a simpler tilt sensor can be used for this purpose
VECTOR MAGNETOMETER
Measures the strength of the magnetic field (in T)along one or more axes
Can be used to determine orientationwith respect to the magnetic or(if position is known) geographic North
In smartphones and similar devices
Solid-state, Hall-effect 3-axis magnetometer
Reads per second: ~10
Measurement range: from 0 to ~2000 μT
Picture from INGV.it
GYROSCOPE (1/2)
Measures angular velocity (in rad/s)along one, two or three axes
Can be used to determine orientationwithout the need of a compass
In smartphones and similar devices
Vibrating-structure, 3-axis MEMS gyroscope
Reads per second: ~100
Measurement range: from 0 to ~35 rad/s
GYROSCOPE (2/2)
Pictures from iFixit.com
GPS
Triangulates position by accurately timing the signals of GPS satellites precisely located into space
A minimum of three satellites are necessary; receivers use four or more to increase accuracy
Non-military devices (including smartphones) have access to degraded-precision signals
Accuracy: ~10m
Number of reads per second: 1÷2
OTHER POSITIONING
SYSTEMS
Based on the Cellular networkRequires a database of cell tower IDs
Based on Wi-FiRequires a database of Wi-Fi networks
Less accurate (but less power-hungry) than GPS
CAVEAT
Sensors in embedded devices have
poor resolution, sometimes 8 bits or less,
limited linearity
Not suitable for “serious business”
Power consumption is high for the standards of battery-powered devices
CAMERA
Takes pictures and videos
In smartphones and similar devices
CMOS sensors
Fixed-focus, EdOF and autofocus
Multiple cameras
Resolution for images: from 0.3 Mpix to 41 Mpix
Resolution for video: from 240p to 1080p
MICROPHONE
Captures sounds
In smartphones and similar devices
Optimized to enhance voice (< 8 KHz)
and suppress non-voice “noise”
Voice processors and multiple microphones
may be present to better suppress noise
Stereo recording is often unavailable even when
multiple mikes are available
Pic
ture
fro
m iFix
it.c
om
SPEAKER
Reproduces sounds
In smartphones and similar devices
Optimized to be as loud as possibleregardless of the minute dimensions
Sometimes performance is enhanced by a tiny sound box
Sometimes the same speakers is used for both audio reproduction and telephony functions
Stereo speakers are seldom available
Note: an audio jack for headsets is always present
BATTERY (1/2)
Rechargeable
Many chemistries.Lithium-ion and Lithium-ionpolymer batteries are the mostcommon for their power densityand because thay can be easilymade in any shape and size
Typical voltage: 3.7 V (nominal)
Typical capacity (smartphone): 1000÷3000 mA∙h
Occupy a sheer fraction of the volume inside the device
Picture from Digimax.rs
BATTERY (2/2)
Deteriorates (loses capacity) if
it runs too hot,
it runs too cold,
it is overcharged,
it is not charged often enough...
Self-discharges when not used
Voltage varies nonlinearly during charge and discharge. The curve depends on the battery chemistry, temperature, age...
Picture from Switched.com
MORE SENSORS
Proximity sensorTypically, a photoelectric, infrared sensorUsually, it does not return a measure and simply tells whether something is near the device or not
BarometerPiezoresistive MEMS sensorAlso used for a quicker fix of the altitude
ThermometerTypically, a band-gap sensor
HygrometerCapacitive sensor
Fingerprint scannerElectro-optical or capacitive sensor
MORE HARDWARE
NFC
Bluetooth (Smart)
NFC (1/2)
Proximity wireless communication
Evolution of RFID technologies of the 1980s
3 modes:
NFC initiator, NFC target, NFC peer to peer
Targets can be passive and powered by the initiator
using electromagnetic induction
NFC (2/2)
All devices can contain data, even targets
(order 1K bytes)
Protocol stack: lower levels are ISO standards, higher
levels — including data encoding — are vendor
specific and not interoperable
Security is not part of the standards
NFC PROTOCOL STACK
"NFC Protocol Stack" by Erik Hubers - Own work
Licensed under CC BY-SA 4.0 via Wikimedia Commons
NFC: ANDROID
NFC supported since Android 2.3 (2010), packages
android.nfc and android.nfc.tech (2.3.3)
Android 4.4 (2013): added NFC reader mode and host-
based card emulation (android.nfc.cardemulation
package)
APIs based on the NDEF standard
Google Wallet payment service
CARD EMULATION
With a Secure Element (<4.4) Host-Based Card Emulation (4.4+)
Pictures: developer.android.com
NFC, ANDROID: SUMMARY
As of Android 5.0, three simultaneous modes of
operations are supported:
Reader/writer mode,
P2P mode,
Card emulation mode
Note: NFC controller is off when screen is locked
NFC: IOS
Support introduced with iOS 8.1 and iPhone 6
No APIs for the developer
Apple Pay payment service,
PassKit framework
BOOTSTRAPPING
NFC can be used to bootstrap more capable wireless connections
Android Beam (>4.1): uses NFC to bootstrap a Bluetooth connection for file transfer
Samsung S-Beam: uses NFC to bootstrap a Wi-Fi Direct connection for file transfer
Nokia, Samsung, BlackBerry, Sony: use NFC technologyto pair Bluetooth headsets, media players, and speakerswith one tap
BLUETOOTH SMART (1/3)
Also known as “Bluetooth Low Energy”, or BLE
Introduced with Bluetooth Specification 4.0
Physical layer is completely different from “Classic
Bluetooth”, and not compatible/interoperable
BLUETOOTH SMART (2/3)
2 device roles: Bluetooth central and
Bluetooth peripheral
Picture: Adafruit
BLUETOOTH SMART (3/3)
All current BLE application profiles are based on theGeneric Attribute Profile (GATT)
The central device is the GATT client, and each peripheral is a server, providing a certain number of characteristics organized into services
A peripheral can provide multiple services
Pic
ture
: th
enew
circ
le.c
om
BLUETOOTH SMART:
ANDROID
BT Classic supported since Android 2.0 (2009),
BT Smart supported since Android 4.3 (2013)
Unified android.bluetooth package
Android 4.3: central only
Android 5.0: central and peripheral;
new android.bluetooth.le package
BT SMART VS. NFC (1/3)
BT SMART NFC
Frequency 2.4 GHz 13.56 MHz
Range 50 m 0.1 m
Data rate 1 Mbit/sFrom 0.1 Mbit/s to 0.4
Mbit/s
Security 128-bit AES None
BT SMART VS. NFC (2/3)
BT SMART NFC
Power consumption 0.01 to 0.5 W0 W for target, 0.5 W
for initiator
Network topologyWPAN “Piconet” (up to
8 devices)
Point to point (2
devices)
Start-up timeHigh (discovery,
pairing)Low
Set-up time < 0.006 s < 0.1 s
BT SMART VS. NFC (3/3)
BT SMART NFC
Cost of device order $5 order $0.1
Defined by Bluetooth SIGISO/IEC and various
SIGs
ApplicationsWatches, sports and
fitness, healthcare, …
Tickets, access control,
payments, …
LAST MODIFIED: MARCH 31, 2017
COPYRIGHT HOLDER: CARLO FANTOZZI (FANTOZZI@DEI.UNIPD.IT)
LICENSE: CREATIVE COMMONS ATTRIBUTION SHARE-ALIKE 3.0
top related