The core of each of our devices: A main processor that runs the firmware. Its core task: the connection and coordination of all components connected to the processor – sensors, modem, external interfaces – on the board to form a smoothly functioning overall system. Firmware and hardware are therefore inextricably interwoven. Or to put it another way: without the right firmware to coordinate everything, the best hardware is useless.
Firmware: Data acquisition & data transmission
Each of our firmware applications is basically designed for two main tasks: data acquisition and transmission. For transmission, the firmware on the processor controls the cellular modem. In doing so, it must follow defined procedures to connect to a cellular network. However, it must also be able to react to possible misbehavior of the modem or the mobile network.
Firmware interactions with middleware servers: Different message types and commands
Data acquisition can vary widely: If sensors are connected directly, the firmware must then operate the corresponding hardware interfaces, e.g., I2C, SPI, or direct measurement of analog signals. Due to the large number of processor interfaces, which can then be evaluated by the firmware, HK.SYSTEMS is able to connect just about any type of sensor.
However, external hardware circuitry is often required in addition: Hardware and firmware therefore only function as a unit and, depending on the task, must necessarily be coordinated with each other. The firmware also implements the sequences, for example the order of different measurements, or varies the frequency of measurements depending on threshold values or other parameters such as time or additional environmental influences. All of these parameters are firmware-controlled – not least depending on the configuration that the device in question receives from the middleware.
Another type of data collection, for example, are retrofit solutions, as HK.SYSTEMS has already implemented in various customer projects. Here, the basis is an already existing electronic system that is specialized in collecting certain data. Often, the customer has already invested a lot of special know-how in this area – but then again, he lacks the know-how for reliable data transmission.
Our solution: The customer’s electronics are expanded to include the possibility of data transmission over the air (over-the-air). For this purpose, our electronics are connected to an existing data interface (e.g. UART or RS485). The data stream running over it is evaluated by our firmware, then information is transmitted or other actions are triggered as required. It is also possible to work out a special protocol with the customer for data exchange via an interface between both electronics. The firmware can then transmit or return appropriate information in response to commands defined in the protocol.
Firmware: Further advantages & functions at a glance
- Energy management: In battery-powered devices, the firmware also takes care of sustainable energy management of the other components on the board. It puts them into sleep modes or completely cuts off the power supply to the components by external circuitry whenever the processes allow it.
- Updates: The firmware can replace itself. This function makes various function extensions possible – and completely uncomplicated.
- Configuration option: The firmware can adopt parameters from the middleware server. This makes it easy to switch servers or change thresholds, data ingestion frequency, and more.
- User interactions: The firmware enables not only direct reactions to user inputs, for example via push buttons, but also status visualizations or data visualizations via LEDs and displays.