High-Level Abstraction for Teaching Smart Systems Design...
Transcript of High-Level Abstraction for Teaching Smart Systems Design...
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 1
François Philipp and Manfred Glesner 10th European Workshop on Microelectronics Education May 15th 2014
High-Level Abstraction for Teaching Smart Systems Design with Modular Hardware
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 2
Outline
1. Introduction Open-Source Hardware and Smart Systems
2. Arduino : a success story Building blocks Experiences from selected projects
3. Abstracting hardware acceleration An FPGA-based wireless sensor node Deployment tools
4. Conclusion
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 3
Open-source Hardware
Open-Source Hardware PlatformAssembly Instructions
PCB Layout and Schematics
Online CommunityBill of Materials
Firmware
Mechanical Data Documentation
Integrated Development Environment
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 4
Open-soure Hardware projects
Source: JeeLabs
• The Plug-and-Play Concept is flexible and can be customized from small until medium-size projects.
• The custom-made design is also low cost and the cost can be optimized for different projects
Plug-and-Play Concept by JeeLabs
The Lego-Like Main Board from JeeLabs
ADC Plug
DC Motor Driver Plug
Ethernet Plug
Radio Module Plug
EEPROM/Memory Plug
The Main Board with Power Plug
• The Plug-and-Play Concept is enabled thanks to standardized data communication protocols
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 5
Building blocks of Smart Systems
Energy Harvesting – Power Management
SensorsLow Power
Digital Processing
Communication
Embedded Software
Actuators
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 6
Applications
Quadcopter
3D Printer Satellite
+ =
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 7
Arduino : Open-Source Imagination
• Italian project iniated by Massimo Banzi
• One of the most successful open-source hardware project • Huge community and design resources
• Created in 2005 because a “Simple and cheap microcontroller couldn‘t be found”
• About 700,000 “official” boards sold
• About the same amount of spinoffs
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 8
Arduino Hardware
Arduino main board Arduino Wifi Shield Custom Extension
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 9
Arduino Hardware
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 10
Arduino Software
Arduino
Processing
GCC AVR-DUDE
Wire
Java
Programma2003
AVR - libc
Community Contributors
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 11
Experiences with Arduino / Open-Source Hardware
• Student projects
• Artist / Hobbyist projects
• Seminar / Lab courses
Accelerometer FPGA RF SoCSPI
WirelessShield
Arduino
MIDI Shield
SPI
MIDI
Body Worn Smart Sensor
Synthesizer
MIDI
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 12
Lessons learned
Heterogeneous Modularity : Huge amount of supported extensions, sensors, actuators, communications, …. Make it suitable for a very borad range of projects
Scalability : Portable to multiple target processors, based on the same code and libraries, same interfaces
Programmability : Accessible programming model, all extensions are accompanied with a ready-to-use software library
Community : Huge amount of documentation and support online
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 13
Programmability
Xilinx slogan : “All Programmable”
-> does not make it easier to program (Reference Manual of Xilinx Zynq has 1836 pages -> Good luck!)
Arduino : restricted programming model
-> more programmable
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 14
Applying the concept to Hardware acceleration
• Background infos : • Wireless sensor node with low-power Flash FPGA
• FPGA handles computationally intensive taks (signal processing, encryption, etc.)
• Microcontroller handles networking and application control
• FPGA is programmed with an dynamically reconfigurable overlay • Restrictions of non-volatile memory
• FPGA too small for complex signal processing tasks
IGLOO AGL1000V5
CC2531
RF SoC FPGA
Control / Reconfiguration / Data Transfer
Data Acquisition / Preprocessing / Feature Extraction / Classification / Encryption / Error Correction
Mem
Mem
Buffer for local processing
Long-term logger
ADC Sensor
Wireless Communication / User Interaction / USB Transfer / Application Control
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 15
HaLOEWEn Hardware
Memory Extension ADC-DAC Extension
HaLOEWEn Main Board
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 16
HaLOEWEn Software
HaLOEWEn
Connectivity InterfacesVHDL - Verilog
Microcontroller SoftwareC / C++Synplify
– XSTOperators and Function Units
HDL – IP Core
GUI Java
Contiki - OSConfiguration Visualization
TCL Script
FPGA Networking IDE
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 17
Design flow
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 18
Abstraction : focus on software
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 19
Abstraction : focus on hardware
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 20
Projects based on the framework
• Hardware-oriented: • Reconfigurable operators for the overlay
• Power management units
• Application-oriented: • Wavelet-Analyzer and Spectrum-Analyzer
for condition monitoring of motors
• Classifier for inertial sensor data (movement recognition)
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 21
Back to the goals
• Heterogeneous Modularity : Bunch of extension modules, compatibility with Digilent PMODs, library of HW drivers available
• Scalability : Design implemented in VHDL and successfully ported to other boards and types of FPGAs (Xilinx), Software based on open-source OS Contiki available for many microcontrollers
• Programmability : Hardware acceleration abstracted by a configuration tool and libraries, WSN abstracted by the middleware
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 22
Conclusions
• Students get motivated by application-oriented projects
• Complexity and heterogeneity of the HW/SW required for the project can be abstracted to make the development more accessible
• But no black-box
• Document and open the underlying HW or SW to changes • Can still focus on optimizing sub-systems
• Top-down approach :
• Use a high-level framework for application deployment • Leave lower layers open for modifications
6/25/2014 | Microelectronic Systems Research Group | François Philipp | EWME 2014 | 23
The End
Microelectronic Systems Research Group
Merckstraße 25, 64283 Darmstadt, Germany
Tel: +49 (0) 6151 16 – 4039
Web : www.mes.tu-darmstadt.de
Dipl.-Ing. François Philipp
Contact
Thank you for your attention !
Questions ?
Acknowledgments
LOEWE – Zentrum AdRIA (Adaptronics, Research,
Innovation and Applications)
Antonio Jesus Morero Mantas Jose Segui Perez
Ling Zhou Annette Philipp Manisha Lutra
Mohammed Reda Fathia
source picture title page : sstwireless.com