Answers to the question of “Did you start your current embedded design with a development board?” in Aspencore 2017 survey .
Besides the use of embedded systems in the field of electrical and electronics engineering, industrial, telecommunication, military, and many other commercial applications, and the other applications in the field of medical and biomedical are becoming increasingly common. Embedded system applications are increasing not only with designs on devices or with clothing, factories, medical and military equipments, portable devices, but also with applications such as ‘mobile worlds’ and ‘e-worlds’, Artificial Intelligence and IoT (Internet of things) with the possibility to make all kinds of software on them. In recent years, with the rise of infectious diseases such as the Covid 19 virus, there is a growing need for telemedicine applications such as diagnosis, prognosis and patient management. Embedded system technologies have occupied an important area in biomedical technology. Especially, to develop tools for the purposes of increasing the safety of healthcare workers in the event of epidemic infectious diseases in processes such as pandemics. For this purpose, monitoring of patients discharged from hospitals at home or non-intensive care beds during quarantine, or isolated in their homes, outpatient, and mildly ill, remotely, instantly, safely and quickly, are becoming increasingly important. In this section, we will give an overview of the embedded system structure and applications.
- biomedical applications
- embedded systems
- programmable device
- biomedical hardware and software
- medical devices
Embedded systems are defined as customized hardware with an operating system and processor, designed to perform a specific operation alone. Systems consisting of a combination of software and hardware designed to enable a system consisting of mechanical and electronic components to work for a specific purpose through a microprocessor or microcontroller.
Embedded Systems usually do not interact directly with the end user. They work reactively and in real time with limited resources for a single purpose, and they can perform highly critical tasks from time to time in their usage areas.
Errors that may occur here can result in huge loss of property and lives. From this point of view, it is very important that these systems are “reliable” and “tolerant of errors”.
Created by embedding software (hardware design for fpga) on a microcontroller, microprocessor, dsp (digital signal processor) or fpga (field programmable gate array); It is an electronic (or electromechanical) system that generally contains modules such as memory, input and output modules, sensors, physical output. It is an event that should not be confused with the dedicated system. Embedded systems that are generally smaller size and operate with smaller processor powers. Besides, the dedicated system is a system chosen to do a single work. For example, the library’s web server and database server can be kept on separate machines, and if the task of these machines is to host only the web server, or only to provide the database, this is called a dedicated system. There is no size, processor or capacity constraint dedicated systems .
Is a programmable device, a combination of development hardware &software; that forms a component of an electrical device . Medical applications of embedded systems are preferred because they are real-time and very fast. Embedded systems are computer systems and we need to know and control all the details and features of this computer system. An embedded system is a combination of both hardware and software, consisting of a microprocessor, memory for storing data and programs, converters microcontroller or digital signal processors (DSP), sensors, actuators and other interfaces .
2. Biomedical application of embedded systems
Embedded System Programming Tools can be listed as follows;
Integrated Development Environments (IDE)
Debug Devices and Software (Debugger)
Testing Software and Devices
Embedded System Programming differs from other programming systems due to some features. Embedded software should use minimum program memory. Embedded software should not run slower than the system requires. It should be easy to interfere with embedded software and have high readability [4, 5, 6, 7, 8, 9, 10, 11, 12].
The most popular Embedded system medical applications are Imaging Devices. Although the working principles differ from each other, the common feature of imaging units such as MR, CT, PET (positron emission Tomography), US is that they are an embedded system.
Another example of medical applications of embedded systems is defibrillators. Defibrillators, a machine used to monitor a patient’s heartbeat for an irregular pattern, and usually return the heartbeat to a normal pattern when an abnormal heartbeat is detected, are a useful example of biomedical applications of embedded systems.
Digital Flow sensors that monitor a patient’s respiratory system, Blood pressure device and glucose test set, which is effective in detecting systolic and diastolic pressure of the human body, Fetal heart monitoring machine used during pregnancy, childbirth and childbirth to monitor the pulse of babies, device designs that allow users to monitor values such as heart rate, blood pressure, glucoses is an example of embedded systems.
It would not be wrong to say that there are computers in all devices. All into “embedded” computers there.
Small devices with embedded systems such as Raspberry pi, Ardunio can collect patient data and provide data processing with overwritten software, with the reduction in size and increase in processing power.
Similar small devices with embedded systems can make control decisions that can help provide better treatments and medications to patients.
Small designs with microcontrollers, sensors, motor drivers, sensors are also increasing. It provides practical and inexpensive solutions applied in case of any urgent need.
For example, studies such as ‘the camera application that monitors social distance’ has led us to better understand the importance of “social distance” that should exist between people, as it is transmitted by contact such as Covid19 and other infectious diseases. The progress, which has improved with vaccination studies all over the world, has now brought the quarantine process to an end and the return to social life. However, if the social distance is not maintained for infectious diseases, which are added every year, unfortunately, there will always be the risk of suffering from such diseases. Therefore, it is very important that we can maintain social distance in areas with high human density. For the solution of the problem, the first products used where practical solutions based on embedded system solutions such as smart phone application applications and smart wristband have been found practically.
Another solution to this problem is a software solutions via platform such as web API. But the disadvantage of these is their high cost. Thanks to the program overwritten using solutions such as NVIDIA, integrating the low-cost Intelligent Artificial Intelligence, Computer the existing cameras of the workplaces and providing real-time monitoring of social distance is another embedded system solution of the problem. Since it will be a product that can be mounted on existing cameras, there is no extra product expense other than the purchased kit.
Embedded system solutions offer fast, cheap and easily accessible solutions in other areas (Figure 1).
2.1 Embedded systems hardware
Embedded systems have already exceeded the limits of their name. Nowadays everything from smartphones to smart TVs, set top boxes to washing machines is actually an embedded system. They no longer have to perform certain tasks, they can do many tasks at the same time.
They are electronic systems designed to perform a certain function, microprocessors are used for the central processing unit in systems with low processing load (fire alarm, etc.), while in systems we call hard-real time (systems that will result in the transition from life to death at the smallest delay), micro-processors are used for the central processing unit. Systems used for reading sensors such as temperature, humidity, gas, flow, ultrasonic. B, etc. are also embedded systems. This world can be stepped into with affordable and easy-to-use embedded systems (Arduino) for hobbyists.
Embedded systems are systems that host low power processors within high frequency processors, have an operating system or direct, real-time management infrastructure within their related processes, and provide control of sensors and trainers. Although the volume of transactions generally remains lower than computer systems, it has started to close this gap in the development of today’s technology and industry 4.0 studies. Embedded system design takes up a lot of space at the point of performing operations-based activities such as rationalizing robotic systems, artificial intelligence and machine learning.
Survey studies have shown that the most important software/hardware tools are, respectively; Oscilloscope, Debugger, Compiler/assembler, IDE, Logic analyzer, JTAG/BDM, Software libraries, Linux tools, ICE, Configuration Management tools, Static Analysis tools, Software drivers etc. It is necessary to know very well about digital electronics hardware. The devices studied have been created with logic gates and every subject of digital electronics, every basic circuit is located on microcontrollers and digital devices. Since the devices used are not simple devices, it is not possible to understand them with half information.
Embedded systems are computer systems and it is necessary to know and control all the details and features of this computer system. We see that many of them are indexed to a hardware and describe embedded systems through that hardware.
Hardware components are basically as follows;
MCU (MicroController Unit), FPGA, ASIC etc.
General purpose input–output units (GPIO)
Microcontrollers, one of the basic parts of embedded systems, can be defined as a single chip computer. They contain a microprocessor, memory, digital inputs-outputs and other peripherals (timer, interrupt, ADC etc.). Some of well known microcontrollers are; RX Family, RL78, 78 K, H8 Family, V850, RH850, STM8, STM32, RA, Synergy, RE R8C.
Advanced embedded systems as it may seem there is no need for an analog electronic information. Basic and practical electronic knowledge can be sufficient.
The software parts are basically collected under 3 main headings; Real time operating system (RTOS), Third party software libraries and Software applications.
A table about the boards used in the design of the embedded system, included in the survey conducted by the Aspencore group in 2017, is below (Table 1).
|Development Board Started With (Write-in Answers Only)||N = 356||Percent|
|TI (LaunchPad = 5)||38||10.7%|
|BeagleBoard Bone Black||12||3.4%|
|Altera Stratix V DSP Kit||5||1.4%|
|MSP430 – TI||3||0.8%|
There are indispensable Measuring Instruments for embedded system laboratories in both Biomedical and other fields. These are for example; Digital Oscilloscope, Function Generator, Tabletop Digital Multimeter, Power Supply, Computer, Projector etc. Depending on the design work and studied, needed help tools and measuring instruments varies. For example, while working with
The main factor in Arduino spreading this much is the software part. The Integrated Development Environment (
The Arduino IDE is based on a programming language called Processing and a project called Wiring. In the development environment, which is very easy to use, you can easily compile Arduino programs (called sketch) and upload them to your card. A language similar to C ++ is used as the programming language. Thanks to the existing libraries, many operations and communication between peripherals can be performed easily. One of the Arduino’s most powerful features is that it has an extensible library system. Thus, libraries written for new peripherals can be easily integrated.
One of the most beautiful features of the Arduino is that new hardware features can be added with additional cards called “shield”. Thanks to these additional cards that are compatible with the Arduino board, it is possible to realize many different projects. Examples of these attachments are modules such as Bluetooth, wifi, motor driver, LCD screen.
2.2 Embedded systems software
Electronics about to have a lot of information, even to design eye fabulous indoor circuit cards unless you know the computer science genius, will not be a nice software in embedded systems. In fact, the software is now being used for other circuits in embedded system control software. Applications such as image processing, web server, user interface, operating system are now also written for embedded systems.
While working on embedded systems will need to use a high percentage of the C language. Although languages such as Java and C ++ are used in some different areas, and the Assembly is used in applications of hardware that require performance or that do not have a C compiler, generally no language other than C is used. The results of the embedded systems market research conducted by the Aspencore group in 2017, the survey conducted with companies and engineers working in the field of embedded systems showed that the most used languages (Figure 3);
The C language is the most preferred because it has both medium and high-level features, increases efficiency by producing less code, is quite common in embedded software libraries, is very well-known, is a compiler for almost all microcontrollers, and access to resources is high.
The most used operating systems in embedded systems are; Embedded Linux, FreeRTOS, In-house/custom, Android, Debian (Linux), Ubuntu, Microsoft (Windows Embedded 7 / Standard), Texas Instruments RTOS, Texas Instruments (DSP/BIOS), Micrium (uC/OS-III), Microsoft (Windows 7 Compact or earlier…), and also Integrity, OSE, SCIOPTA, seL4, Pharos, FreeRTOS, QNX.
Embedded system development is also changing rapidly. While working with microcontrollers with small-sized resources in the past, it is possible to talk about products that reach very high speeds today. Nowadays, subjects such as internet protocols and encryption algorithms appear as new study areas. Naturally, it is becoming a necessity to use ready-made modules on the platforms we work with. As programming becomes increasingly complex, we now need platforms that support us. The structure known as Internet of Things (
With the development of new generation communication infrastructure and standards, it is ensured that high value added, user-friendly service, analysis, monitoring, decision-making and control applications are developed by developing equipment that can work with new generation protocol structures and also adapt to standard protocols.
At the same time, these IOT structures have implemented and comply with the standards required to develop manageable, controllable and secure system architectures, to communicate safely with the sensor, to have a high level of service in order not to cause a disruption in production, to support local and foreign standards, to work openly with different platforms when necessary, to have programming intermediates for different applications, to have a scalable and traceable structure, to perform system health monitoring of end units and platform components when necessary must be able to work in all kinds of environments and operating systems (mobile, etc.).
Another attractive point in embedded system software is coding. The minimum area, minimum time, writing is the most appropriate considering the principle of maximum benefit. It is the most appropriate to write with the principle of minimum space, minimum time and maximum benefit.
2.3 Medical device design
Medical device technology, one of the most practical field of embedded hardware and software technology. In addition to the previously mentioned medical imaging systems, Biomedical power units, Clinical and Biotechnological Analyzers, Portable Diagnostic Systems, Mobile Patient Monitoring Systems, Nurse Call Systems, Patient Queue Systems and their designs are also made with embedded system applications.
Apart from academic studies, there is also a large business area in the biomedical field. These medical embedded systems, embedded computing or customer needs for projects should be ready for SBC (Single Board Computer) use. They offer high performance and low cost effective solutions to entrepreneurs, medical staff and patients in the medical sector. Low-power and high-performance portable embedded systems offer many diagnostic functions, save time, aim to reduce overall diagnostic costs.
There is another card that is frequently used in electronic, robotic and biomedical designs like Arduino, it is Raspberry Pi. Arduino does not have an operating system. It can only run programs compiled for the Arduino platform, which means programs, mostly written in C ++. Raspberry Pi usually runs an operating system that is Linux. In other words, it can be called a mini computer with this feature. The Raspberry Pi is the smallest computer. They look quite similar at first glance. Pins, connectors, screw holes etc. In fact, both cards are very, very different from each other. The fact that the ram and microprocessors are much larger makes the Raspberry pi stand out in terms of software. It is an alternative portable computer especially image processing applications in biomedical studies (Figure 4).
Medical devices that can perform image processing and many other operations are developed especially with software such as opencv simplecv. For example, working on an image taken with a medical modality is also possible with embedded system solutions. You can perform the software you make on a normal computer on image processing with an embedded system tool such as raspberry pi, arduino, nvidia or a more advanced mini computer or cards. For example, you can perform image processing such as edge detection over the image, thanks to the related software you wrote on the Raspberry pi and a monitor connected to it [16, 17, 18, 19].
2.4 Embedded systems restrictions
When coding on an embedded system, it is necessary to pay attention to the detail between optimization and readability of the code. If there is enough memory, a readable code may be preferred instead of optimization. Many certification processes are required for the newly developed product (IEC 62304, EN 50128, EN 50657, ISO 26262, IEC 61508 etc.). IEC 62304 is an important international standard, especially for medical devices. But a simple PCBs certificate cost can thousands of dollars [16, 17, 18, 19].
To calibrate an analog sensor, it is necessary to communicate with the software via SPI and I2C. If such a digital sensor is not controlled by software, the operation is not successful. The problems that cause problems in the process of embedded system design are listed as follows; Debugging tools, Schedule, engineering team skill level, firmware itself, microprocessor, programming tools, interfaces, other hardware.
Restrictions are basically;
Additionally, hardware vulnerability situations such as Meltdown and Specter, caused by a hardware deficit in processors, are also a problem for embedded system solutions.
Current and developing features show that embedded system applications will increasingly continue to be used in biomedical applications, as in all areas of use.
Expectation from embedded system application in biomedical systems as in others; industrial endpoint devices with various sensors on them are fault-tolerant and self-calibrated systems that aim to be able to influence the outside world and generate meaningful data, have a process capability when necessary, have a logical and virtual sensor approach. It is inevitable that the number of companies designing embedded systems will increase and the market will grow. New and better versions of the design cards are expected to be launched. The increase in software libraries and the low cost of embedded systems in health care will cause them to be preferred more because of their portability. It is also predicted that artificial intelligence applications in health will continue to increase with systems integrated with embedded systems and new software.
Any other expectations;
Monitoring of vital health parameters (sleep, epilepsy, heart, etc.), recording, wireless transfer and digital transfer (phone, tablet, computer, etc.)
Wearable devices; Flexible electronic devices capable of energy harvesting and storage, technologies that can send data to the cloud and receive commands, and can be worn compatible with the Internet of Things
Sensors and devices that increase portability
Protective personal-real-time in vivo measurement systems
Having e-health software that can run on common platforms
Systems for the development of preventive and preventive health services and personalized medical monitoring systems
Biosignal acquisition and processing
Virtual reality systems and 3D training and treatment simulators
Network based devices
ICT Based Innovative Medical Devices
Apart from these, it is not difficult to predict that new designs will be made in line with the needs that have not yet come to mind.
The applications of embedded systems, which are generally tried to be explained in more basic lines, make them more preferable due to the increasing need arising and their practical and low cost. Embedded system applications where real-time solutions, ANN, CNN, Machine Learning, Deep Learning, Federated Learning, NLP applications and more are used together or separately will increase in diversity.