Open source, reusable software stack enables real-time processing and CbM algorithm development

Publisher:EE小广播Latest update time:2022-04-08 Source: EEWORLDAuthor: ADI高级算法工程师 Travis Collins Keywords:ADI Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Open-Source, Reusable Software Stack Enables Real-Time Processing and

Algorithm Development for CbM


Open source, reusable software stack enables real-time processing and CbM algorithm development


Introduction to CN0549 Condition Monitoring Platform


In this article, we will focus on the software ecosystem, data analysis tools, and software integrations available for the different components of the CN0549 and how engineers and data experts can use them for application development. This is the second in a two-part series on using the CN0549 development platform for condition monitoring (CbM) and predictive maintenance (PdM) applications. The new platform is designed to accelerate the development of custom CbM solutions from prototyping to production. The first part focused on MEMS vibration technology and capturing high-quality vibration data for CbM applications.


The entire process from concept to production and how to speed up the process!


When building condition monitoring solutions, they must include sensors, local processing, connectivity, and some form of software or hardware to enable them to function properly. The CN0549 offers customizable hardware and software options, allowing engineers and software developers to use common tools and infrastructure and make trade-offs based on the application design to address all of these challenges. For example, if you want to choose a specific microcontroller or FPGA for processing, want to use Python for coding, or have a favorite sensor that you want to reuse. This makes the CN0549 a powerful platform for those looking to build optimized CbM solutions to customize processing, power, performance, software, and data analytics to their needs.


Embedded system development process


Let's look at the entire development process of an embedded system from concept generation to production. Figure 1 outlines this abstract process.


In the design flow shown in Figure 1, step 1 is the “data study” phase. In this phase, users translate their requirements into different hardware and software requirements for the application. From a hardware perspective, parameters such as shock resistance, analog signal bandwidth, or measurement range may be involved. When considering software requirements, the number of samples, sampling rate, spectrum, oversampling, and digital filtering are all important parameters for CbM applications. The platform is very practical and flexible, allowing researchers to use different sensor combinations and adjust data acquisition parameters to meet their application needs.


After the "data research" stage comes the "algorithm development" stage, which is mainly to verify the application or use of the system. This usually requires developing models or designing algorithms in high-level tools and eventually porting them to embedded systems. However, before optimizing the design, it must be verified using real data and hardware loops, which is where CN0549 excels, because it can not only be directly integrated with popular high-level analysis tools, but also supports hardware loop verification.


Once the design is verified, work begins on optimizing and embedding the required software components. During the "embedded design refinement" phase, some algorithms or software layers may need to be re-implemented for use in an FPGA or resource-limited microcontroller. Care must be taken to continually verify the design as it is ported to a prototype or to hardware that will go into production for final verification.

image.png

Figure 1. Embedded system development process


Finally, the "production" phase is reached, which may bear little resemblance to the original development environment in which the design began, but still must meet the same requirements. Because the final system may be very different from the original research system, it may be impossible or difficult to run the same code or tests. This can lead to production test problems and equipment failures, which will most likely require additional time and money to remedy.


Reduce risk by maximizing reuse


One of the easiest ways to reduce risk during the design process is to reuse as many hardware and software components as possible at each stage, and the CN0549 provides developers with many out-of-the-box resources that can be used directly at each stage of the development process. The CN0549 solution provides schematics and board layout files, an open source software stack for optimized and full-featured environments, and integration options available for higher-level tools such as MATLAB® and Python. End users can use ADI's proven components and choose the components they want to maintain or change during the research phase to the production phase. This allows end users to focus on software development and system integration without having to draw schematics of ADI components or perform basic software development. Using hardware modules and reusing software layers, such as device drivers, HDL, or application firmware provided by ADI, can reduce the development time required to build a system and greatly accelerate time to market.


Software Development Process and Procedure


During development, CN0549 provides engineers with multiple options, allowing them to use common languages, including C or C++, while using familiar data analysis tools, such as MATLAB or Python. This is achieved primarily by leveraging and building on open source standards and existing solutions that support multiple embedded platforms from different manufacturers.


CN0549 System Stack


The system stack shown in Figure 2 provides an overview of the different components that make up the CN0549 system. The dark blue boxes in the upper left corner represent the sensors and data acquisition (DAQ) boards, and the light blue and purple boxes represent the FPGA partitions for data processing. The platform directly supports Intel DE10-Nano and Xilinx® CoraZ7-07s, covering two major FPGA vendors. The green boxes represent the connection to the host PC. This provides direct data access from the hardware to advanced data analysis tools for algorithm development.


All hardware description language (HDL) code is open source, allowing developers to modify it to insert digital signal processing (DSP) into the data flow of the programmable logic (PL), as shown in Figure 2. This can be anything from filters to state machines or even machine learning, depending on your system partitioning, and this step can also be done in user space or at the application level. Because the code is publicly available, it can be ported to other FPGAs from different manufacturers, or different processor families, depending on the needs of the end application.

image.png

Figure 2. System stack of the CN0549 platform


There are two software options available inside Arm® processors. Which one to use depends on the specific use case, but most developers will probably use:


u Linux®: Kernel drivers for DAQ shields built on the Industrial Input-Output (IIO) framework in the kernel. It is combined with a full embedded Linux distribution called Kuiper Linux that runs in the Arm kernel user space and is based on the Raspberry Pi OS.


No- OS : Bare metal project, using the same drivers as in the Linux kernel, can be used in Xilinx or Intel SDK. It can also be implemented in a real-time operating system (RTOS) environment as an alternative.


It is recommended that developers start learning and developing with Linux because Linux provides the most tools. Linux also provides a large number of development packages and drivers, which constitute the required development environment. When the system design is stable and ready for optimization, it is common to move to an OS-less environment, providing only the necessary software. However, this depends mainly on the application, and many manufacturers will deliver a complete Linux system to maintain the flexibility they want to provide.


As with the HDL used for programmable logic, the entire kernel source code, Kuiper Linux images, and the No-OS project are all fully open source, allowing end users to change components as they wish. If necessary, these code bases can also be ported to different processor systems or different runtime environments.


The last component shown in Figure 2 is the connection to the host PC, as shown in the green box. When running this system, the device can be configured and the data stream can be backed up to the host system for analysis. Developers will use standard tools such as MATLAB or TensorFlow to create algorithms on the host. Ultimately, these algorithms will be transferred to the embedded target, allowing them to use local processing power to speed up algorithm development iterations.


Accessing CbM Data – Getting Started


Using Arm processors and PLs typically occurs later in the design process, when the system is optimized for deployment. Therefore, a common initial entry point for developers is to connect remotely from a workstation to the embedded system. When running Linux on an embedded system, running code remotely or locally on a workstation is a relatively transparent process because of the way the infrastructure is designed. This is mainly due to an open source library called libIIO. libIIO is an interface library that allows for a simple, consistent access model for different device drivers to be built within the kernel's Linux IIO framework. This library is at the heart of the ability to use the CbM platform flexibly and provides data streaming and device control capabilities.


libIIO itself is mainly divided into two parts :


u libIIO library, which is a C library for accessing different IIO driver properties or functions. This includes streaming data to or from devices such as ADCs, DACs, and sensors.

[1] [2] [3]
Keywords:ADI Reference address:Open source, reusable software stack enables real-time processing and CbM algorithm development

Previous article:Outstanding performance in the evaluation! Tongxin UOS operating system and Innosilicon Fenghua No. 1 GPU are fully adapted
Next article:Understanding and using no-OS and platform drivers

Recommended ReadingLatest update time:2024-11-16 13:44

The Electric Vehicle Hundred People's Association joins hands with ADI and ecological enterprises to jointly explore the new pattern of the electric vehicle industry
From January 15 to January 17, 2021, the "China Electric Vehicle Hundred People Forum (2021)" was held at the Diaoyutai State Guesthouse in Beijing. With the theme of "New Development Pattern and Automobile Industry Transformation", the forum conducted in-depth discussions on hot issues such as zero-emission and elect
[Automotive Electronics]
The Electric Vehicle Hundred People's Association joins hands with ADI and ecological enterprises to jointly explore the new pattern of the electric vehicle industry
ADI announces that the Sensinel by Analog Devices™ cardiopulmonary management (CPM) system has received U.S. FDA 510(k) certification and is officially on the market
Strengthen remote patient monitoring and reduce medical and health costs Beijing, China - March 7, 2024 - Analog Devices, Inc. announced that ADI's Sensinel™ Cardiopulmonary Management (CPM) system has received 510(k) certification from the U.S. Food and Drug Administration (FDA) and is officially on the market. Thi
[Medical Electronics]
ADI announces that the Sensinel by Analog Devices™ cardiopulmonary management (CPM) system has received U.S. FDA 510(k) certification and is officially on the market
Precise RF testing using a Raspberry Pi-based DDS signal generator
Summary Choosing a configurable, calibrated and reliable signal source is one of the most important aspects of hardware testing involving radio frequency (RF). This article provides a highly integrated Raspberry Pi-based solution that can be used to synthesize an RF signal generator that outputs a single frequency
[Analog Electronics]
Precise RF testing using a Raspberry Pi-based DDS signal generator
Analog Devices and Yutong Group launch first wireless battery management system for the electric heavy-duty vehicle market
Beijing, China - October 27, 2023 - Analog Devices, Inc. and Yutong Group Co., Ltd. announced that they are collaborating to develop wireless battery management system (wBMS) technology and apply it to a variety of Yutong's current and future electric heavy-duty vehicles Vehicle platforms, including tractors and buses
[Power Management]
Analog Devices and Yutong Group launch first wireless battery management system for the electric heavy-duty vehicle market
Collaboration in the workplace: How a new generation of collaborative robots is improving the nature of manual work
Collaboration in the Workplace: How a New Generation of Cobots Is Improving the Nature of Manual Work Collaboration in the workplace: How a new generation of collaborative robots is improving the nature of manual work Automation can make work less dangerous, strenuous, and tedious, but
[Industrial Control]
Collaboration in the workplace: How a new generation of collaborative robots is improving the nature of manual work
Student Zone—ADALM2000 Experiment: Adjusting the Reference Voltage Source
This lab aims to build and study various types of voltage references/regulators and is divided into the following sections: ►Adjustable reference voltage source ► Enhanced voltage reference ►Shunt Regulator Adjusting the reference voltage Target The zero-gain amplifier (Q1, R2) and regulated current source
[Analog Electronics]
Student Zone—ADALM2000 Experiment: Adjusting the Reference Voltage Source
ADI Expands Linux Distribution with More Than 1,000 Device Drivers
ADI Expands Linux Distribution with More Than 1,000 Device Drivers to Support Development of High-Performance Solutions Beijing, China—December 1, 2021—On the occasion of the 30th anniversary of the Linux open source operating system, Analog Devices, Inc. (ADI) announced the expansion of its device dr
[Embedded]
ADI Expands Linux Distribution with More Than 1,000 Device Drivers
Technical decisions on digital isolation and traditional isolation solutions from typical cases
It is not uncommon for improper isolation circuit design to cause equipment damage or even electric shock accidents. For this reason, the industry has proposed many safety isolation design performance requirements and a series of mandatory certification standards. Appropriate isolation measures must be adopted in the
[Power Management]
Technical decisions on digital isolation and traditional isolation solutions from typical cases
Latest Embedded Articles
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号