Iot Reference PPT Unit 2
Iot Reference PPT Unit 2
https://pixabay.com/en/network-iot-internet-of-things-782707/
ARM: Making Things Smart, Connected and Interactive
26 Billion
installed units
by 2020*
Resource
• Buzzword, trend, convenient
Smart
Management categorisation, industrial and
Lighting
consumer
Why Now?
Smart Appliances Fitness / Healthcare • Embedded chips are
becoming:
• Cheaper (<50c)
Portable and
Smart
Farming
Wearable • Smaller (<1mm2)
Electronics
• Lower power (µW)
• Commoditised HW and SW
Resource
Smart
Lighting
Management • Communication is growing
faster (broadband)
• New socio-economic demands
Industrial Internet Smart Home (globalisation, competition, mobility)
Machine to Machine
Internet of Things (IoT)
Safer/Smarter Automotive
Socio-Economic Benefits
• Automation (higher productivity)
• Smart monitoring, control and
Smart Appliances Fitness / Healthcare
maintenance (higher efficiency, lower
cost, higher quality, better
optimisation/outcomes)
Smart
Portable and
Wearable
• Better safety (early warning)
Farming Electronics • Higher responsiveness (dynamic
response to varying demands)
• Huge and varied applications in
Smart
Resource
Management industry, agriculture, health,
Lighting
transport, infrastructure, smart
living, consumer etc.
Industrial Internet Smart Home
Machine to Machine
IoT system applications
• Soft real-time networked
embedded system.
• Input devices: tags, sensors, etc.
• Output devices: motor controllers,
displays, etc.
• Examples:
• Computer-readable identification
code for objects.
• Appliances controlled by cell phone
interface. https://www.quora.com/How-is-IOT-useful-in-manufacturing
• Sensor network with analytics.
https://www.meddeviceonline.com/doc/how-revolutionizing- https://communicationandmediastudies.wordpress.com/2012/10/24/
healthcare-0001 the-internet-of-things/
Computers as Components 4e © 2016 Marilyn Wolf
Connecting the Physical and Digital Worlds
command
sample
update
alert
Computers as Components 4e © 2016 Marilyn Wolf
IoT system architectures, etc.
• Control system = sensors + database + controller + actuator.
sample
command
M
Sense Compute Control Store Communicate
Unlock a greater potential with custom SoCs
ARMv7-M
ARMv8-M
ARMv6-M
ARM Cortex-M0 DesignStart Processor
• Subset of the full ARM Cortex-M0
• Low gate count, 32-bit processor, 3-stage pipeline
• Implements ARMv6-M architecture
• Can achieve around 0.9 DIPS/MHz
• Provided as synthesizable Verilog model
• CPU contained in top-level macro-cell “CORTEXM0DS” (instantiated in the
SoC system model) and submodule “cortexm0ds_logic” (pre-configured,
obfuscated)
• Top-level macro-cell implements memory and system bus interface
compatible with AMBA 3 AHB-Lite specification, including interrupt and
event inputs, 3 status outputs, and an event output.
• DesignStart Kit includes:
• Simulation testbench, a set of AHB-Lite peripherals, example SoC systems
IoT Demo Architecture
The “THING”
Sense/Compute/Control/Store/Communicate
The “NETWORK” The “CLOUD”
Sensor:
Accelerometer Low-power Server
Bluetooth
Cortex-M0 Radio
Sensor: Software,
SoC
Ambient Light Bluetooth Storage
User Interface
Display received
data in a PC
• Periodically sense, encrypt, send ambient light Labview window.
and acceleration data to “The Cloud”.
• Based on ARM SoC LiB and Cortex-M0 CPU.
• Platform: FPGA board
(Digilent Nexys4 DDR, Numato Labs Mimas V2)
IoT SoC Application
• Periodically capture sensor data
• Read ambient light sensor data
• Read X-axis/Y-axis/Z-axis acceleration data
• Sample at 1Hz frequency (timer interrupt-driven)
• Encrypt sensor data
• Tiny Encryption Algorithm (TEA)
• Encrypt before sending (for debug - decrypt back to original data if Switch 1 on)
• Transmit data via Bluetooth to server
• Simulated wireless network and “Cloud” server
• For debug (Switch 0 on) transmit via hard-wired USB to server
• Display sensor data in server terminal window
IoT Demo Sensors & Communication
• ADXL362 3-axis Accelerometer
• 12-bit X/Y/Z axis values + 12-bit temperature
• On Nexys4 DDR board
• SPI interface
• PmodALS Ambient Light Sensor
• Vishay Semiconductor TEMT6000X01 ambient light sensor
• Texas Instruments ADC081S021 analog to digital converter
• SPI interface
• PmodBT2 Bluetooth Interface
• Roving Networks RN-42 Bluetooth (2.1, 2.0, 1.2, 1.0)
• UART interface
IoT SoC Hardware
• ARM Cortex-M0 “Design Start” CPU
• Program and data in distributed/block RAM in FPGA
• Peripherals: basic I/O, timer, UART, SPI (all except SPI in the SoC LiB)
• Sensors accessed via SPI
• Wireless and wired communication via UARTs
• CPU and peripherals interconnected via AHB-Lite bus
System on Chip
ARM Cortex-M0
Processor
ARM AMBA 3 AHB-Lite System Bus
Control signals
32-bit Address bus
32-bit Data bus
Program
SPI Timer UART GPIO 7-segment
Memory SPI UART
Peripheral Peripheral Peripheral Peripheral Peripheral
(On-Chip) Peripherals Peripherals
PmodBT2
PmodALS ADXL362 UART to USB LEDs 7-Segment
Bluetooth
Light Sensor Accelerometer Converter Switches Display
Radio
Things: The Security Challenge
Flexible embedded device security
Secure RAM
ITM/DWT/FPB Security of regions can be
configured using the
Flash
Security Attribution Unit (SAU).
Secure Flash Secure vector table
ARMv8-M Interrupt Security
High-performance interrupt handling with register protection
Subject to priority, Secure can interrupt Non-secure Interrupt
Non-secure and vice versa Running Secure
• Secure can boost priority of own interrupts Code
• Uses current stack pointer to preserve context.
Push All Registers
Uses ARMv7-M exception stacking
mechanism Pop All Registers Zero All Registers
• Hardware pushes selected registers. Switch to Switch to
Secure Non-secure
Non-secure interruption of Secure code
• CPU pushes all registers and zeroes them Run Non-Secure
• Removes ability for Non-secure to snoop Handler
Secure register values. Return from Interrupt
Security Defined by Address
All transactions from core and debugger checked Request from CPU
All addresses are either Secure or Non-secure.
System
Level
Control
Policing managed by Secure Attribution Unit (SAU) Security
• Internal SAU similar to MPU Attribution
• Supports use of external system-level definition Unit (SAU)
• E.g. based on flash blocks or per peripheral.
Non-Secure Secure
MPU MPU
Banked MPU configuration
• Independent memory protection per security state.
27 © ARM 2017
Cortex-M23 enhancements over Cortex-M0+
Cortex-M23
TrustZone
Stack limit checking
Hardware divide
Exclusive memory accesses
Enhanced debug
Cortex-M0+ ETM
NVIC (max 32 IRQs) NVIC (max 240 IRQs)
2.50
0.98
MPU (PMSAv6) MPU (PMSAv8)
2.46
0.95
AHB Lite AHB5
WIC WIC
Fast I/O bus Fast I/O bus
MTB MTB
Serial wire / JTAG Serial wire / JTAG
ARMv6-M ARMv8-M baseline CoreMark®/MHz DMIPS/MHz
New or updated
Addressing diverse embedded and IoT opportunities
Logistics
Retail Environmental
Cortex-M33
32-bit Digital signal
performance TrustZone Configurability, processing
for ARMv8-M extensibility
29 © ARM 2017
Cortex-M33 enhancements over Cortex-M4
Cortex-M33
TrustZone
Stack limit checking
Co-processor interface
Enhanced debug
+13% +20%
Cortex-M4 MTB
ETM ETM
NVIC (max 240 IRQs) NVIC (max 480 IRQs)
MPU (PMSAv7) MPU (PMSAv8)
AHB Lite AHB5
1.50
3.86
3.40
1.25
FPU FPU
SIMD/ DSP SIMD/ DSP
WIC WIC
Serial wire / JTAG Serial wire / JTAG
ARMv7-M ARMv8-M mainline
application application
presentation presentation
transport transport
Routing
table
connected
master
slave
device_data
signature device time value
(primary key)
256423 234 11:23:14 1
252456 4326 11:23:47 40
663443 234 11:27:55 0
Computers as Components 4e © 2016 Marilyn Wolf
IoT Management - Timewheels
• Used to manage timing of events in the system.
• Timewheel is a time-sorted set of events.
• Event placed in proper spot in timewheel queue upon arrival.
• When current time is equal to time of event at head, event is processed.
head pointer
7:28 AM
time = current_event.time()
get next event process event
1
actuator
event queue
1
n
event