October 28, 2021 · 2 min read
Without firmware our predictive maintenance solution wouldn’t work, from our plug-and-play vibration sensors on to the algorithms that predict machine maintenance issues. So what is firmware? And how does it work?
What is Firmware?
Put simply, if hardware is what you touch and software is what you virtually interact with, firmware is the software responsible for telling the hardware what to do. In other words, it’s the software for devices that are not conventional computers.
You’re probably wondering whether we ever interact with firmware in our daily lives. The answer is yes. When our headphones, or any other devices, are not working, our last resort is to perform an update. That’s when we interact with firmware.
“Well... If you tried everything, updating is your last resource”
Davi Herculano, our Firmware Developer
How does Firmware work?
As we explained, firmware are programs for devices that are not computers. Almost every device with elaborate working logic uses firmware, including keyboards, microwaves, TVs etc. But how exactly does firmware tell them what to do? It’s easiest to explain allegorically. Think of firmware and its related elements as follows:
Computer: a super efficient employee
Firmware: a task list
Compilers: software that translates the task list into the employee’s language
Peripherals: the employee’s helpers who interact with the external world
So, the computer is a very efficient employee: they have limited short-term memory (cache), but they use a notebook (RAM) in which they’ve recorded their task list. The task list, in this case, is a simple program. The only thing to make sure is that the tasks are written in a language that the employee can understand. But remember that this employee is a computer—it has its own set of possible instructions, making it possible to transform every instruction into 0s and 1s. Translating all instructions into every employee’s language would require learning all of their languages. That’s why we use compilers: to translate our firmware (task list) into hardware (employee) language.
Next, we want to understand how the employee actually performs their tasks. Computers have the following components:
- Program memory: where the task list is stored.
- CPU: employee’s calculation capability
- RAM: the employee’s notebook.
- Counter: tracks which task list item the employee is working on
- Internal oscillator: defines the time interval scheduled for each task
To perform each task, the employee actually needs to interact with the outside world. For that he has several helpers, known as the peripherals. Peripherals are pieces of hardware that perform specific tasks (communication, count time, access memory). They live inside the Integrated Circuit and can have control over the microcontroller pins.
The employee, in turn, writes task lists for each of the helpers. Each helper can then control the pins to alternate tasks very quickly and send/receive messages to/from other devices. This is how the software and hardware come together to make the magic happen.
- The computer is like an efficient employee who can read, write, and do calculations.
- This employee has a task list and follows it exactly.
- Programmers use compilers to transform code into task lists.
- Peripherals do the magic of interacting with the real world. The employee sends instructions so they can perform different tasks.
We’ve frequently discussed how our predictive machine maintenance solution includes both hardware and software elements. Our software provides the high-quality analysis you can depend on to predict machine-maintenance issues. Our hardware feeds our algorithms accurate and reliable data. Finally, the firmware ensures that our Aion hardware knows what to do when plugged into industrial machines. Are you looking for a Predictive Maintenance solution? Request a demo now!
© 2021 AiSight GmbH. All rights reserved
Phone: +49 (0) 30 40363399