Embedded programming is an essential part of IoT market. Most of the IoT devices are programmed on the low level using C/C++ and Assembly languages for the MCU/DSP-based architecture or VHDL/Verilog for FPGA. Such approach maximizes the computational performance at the same time minimizing the memory and power consumption. However, it requires deep technical knowledge in software development, MCU and FPGA architecture and operation modes combined with good understanding of hardware and electrical engineering. This makes programming for embedded devices one of the most challenging tasks on the market.
The task was to program a controller for a coordinate measuring machine. The firmware implementation included a PID feedback loop, sensor data processing (filtering, normalization, etc.) and an API for communication with PC.
We've successfully developed a system architecture, a fast and reliable control algorithm implementation, and a clean and simple API for integration with the coordinate machine software.
To fulfill the requirements, we have introduced separate time-critical and non-critical functionality between the FPGA and the MCU. The FPGA firmware was written in VHDL and was responsible for a stable and responsive feedback loop. The MCU was programmed in C and perfromed data processing from additional sensors and external communication.
Hi, we are Sciforce - a company where the integration of various branches of science builds up a powerful force to create robust software solutions. Working at the intersection of Computer Science with other technical, natural and humanitarian sciences let us go beyond traditional IT services and become both technical and scientific forces to our customers.