Design Process in an embedded system Kasper Ornstein Mecklenburg SW/HW development engineer
Arm in Lund Two offices; one at Ideon and one downtown (old Mistbase) Graphics, video and wireless SW, digital HW and RFIC Arm is owned by Softbank Masayoshi Son Vision fund 2
Arm Offices Worldwide North America San Jose, CA USA (Main Regional Office) Irvine, CA USA San Diego, CA USA Boston, MA USA Austin, TX USA Plano - Keil, TX USA Olympia, WA USA Seattle, WA USA Europe Cambridge, UK - Global HQ Blackburn, UK Maidenhead, UK Sheffield, UK Oulu, Finland Grenoble, France Paris, France Sophia Antipolis, France Grasbrunn, Germany Sentjernej, Slovenia Lund, Sweden Trondheim, Norway Asia Shanghai, China (Main Regional Office ) Beijing, China Shenzhen, China Bangalore, India Noida, India Yokohama, Japan Seoul, S. Korea Taipei, Taiwan Hsinchu, Taiwan 3
Cordio-N Arm s NB-IoT ecosystem enablement IP SoC Board/Module Carrier End Use Silicon vendor Module vendor Multiple carriers Example application RF, BB & Protocol Stack IP - Saves >150 engineer-years Flexible SoC architectures Access to ARM s full IP portfolio RTOS reference - Device/Cloud mgt. Carrier pre-certification GCF conformance tested Increased supplier diversity Pre-validated modem IP Faster service deployment End-to-end security Carrier-grade QoS Competitive module pricing ARM developer ecosystem Secure end-nodes Cordio-N s benefits propagate LPWAN value chain 4
Identifying the feature
Problem formulation Read Understanding is key Wiki-jumping Discuss Guidance Define goal Find prerequisites 6
Problem formulation band scan Wireless communication LTE specification Signal processing Find NB-IoT deployment Pre-defined frequency ranges Signal characteristics Periodicity and length Time/frequency properties 7
Finding a solution
Initial design Sketch the process flow High-level activity diagram Identify the different steps More detailed 9
Initial design band scan Preprocessing RF Analog to digital Filtering Correlations Detection Peak to average Thresholds 10
Simulation
Creating a simulator Not for all processes Time consuming to build the simulation environment Difficulties in real-time systems Important to have a reference model Sanity check Ensure performance meets requirements If not; back to the drawing board 12
Creating a simulator band scan Ensuring required performance is met Find a cell at -15 SNR This is the most important! Robustness Pre-different channels Testing different nuances of an algorithm Adding functionality, changing order 13
Complexity analysis
Calculations and memory Requires HW knowledge Processor and instructions Type of memory available Clock cycle calculations HW and SW Time constraints Real-time or offline 15
Calculations and memory our NB-IoT modem Arm Cortex-M33 (120-160MHz) Around 512-1024kB RAM Every bit and clock cycles counts! Power Radio Processing time 16
Reduce complexity
Reducing the complexity Very challenging Potential patents for smart innovative solutions Time consuming Really fun! Performance vs complexity Very important to still meet the requirement Iterate back and forth between performance and complexity 18
Reducing the complexity - examples Sampling rate Aliasing and folding Bit representation Memory foot-print and faster multiplications Shift instead of division Accuracy not always necessary Parallel processing More HW but faster 19
Reducing the complexity band scan Linear-phase FIR filter Symmetrical reduces registers needed Correlation 240kHz Binary cross-correlation Perform operations on streaming data 20
Implementation
Implementation SW Dynamic Logic HW Repetitive tasks Preprocessing data 22
Implementation band scan SW Analysis Peak detection Threshold calculations Simple calculations HW FPGA Filter and correlation Radio (Analog Devices) Characteristics 23
Test
Test Nothing works until it s been tested! Testing is done throughout the entire design process Stages of testing Isolated testing Gradually larger test System test 25
Debugging
Debugging Different approach depending on bug Oscilloscope Real-time measurement on SW pins Look at data stream Overflow (frequency correction failed and device could not connect) Frequency analysis SDK SW debugger See values 27
Verification
Verification SW Large system tests HW Important to find all corner-cases Take the system by the shoulders and shake! 29
Verification band scan Functionality Wired and over the air Live network 30
Opportunities at Arm Internships - www.arm.com/careers Part time during a semester or full time during summer Master Thesis www.arm.com/careers Graduate positions - www.arm.com/careers Want to know more? Teknikfokus February 14th 2018 (tomorrow) student-se@arm.com 31
The Arm trademarks featured in this presentation are registered trademarks or trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere. All rights reserved. All other marks featured may be trademarks of their respective owners. www.arm.com/company/policies/trademarks 32
Thank You! Danke! Merci! 谢谢! ありがとう! Gracias! Kiitos! 33
Cordio-N NB-IoT smart lighting Web Application mbed Device Server mbed Device Connector on/off Application mbed Client NB-IoT Protocol Stack Cabled RF NB-IoT PHY NB-IoT Device Xilinx Zedboard Keysight UXM E7515A NB-IoT Wireless Test Equipment 34