Virtualized Hardware Abstraction for Firmware Portability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing electricity meters require costly re-programming of firmware due to unique microprocessor or microcontroller hardware features, as hardware drivers are typically hard-coded, necessitating the rewriting of applications for new device drivers.

Innovation Solution

A virtualized hardware system with routines that emulate processor internal resources and an application programming interface (API) allows for firmware portability, enabling communication between applications and hardware components without the need for extensive re-programming, using a hardware abstraction system with layers such as an application layer, device driver layer, interface driver layer, and hardware layer.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If hardware drivers are hard-coded into firmware applications, then the firmware can directly control hardware components, but the firmware must be re-programmed when new hardware features are introduced

Engineering Contradiction:
Improvefirmware-hardware control reliabilityVSAvoidfirmware adaptability to new hardware
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The firmware is segmented into distinct layers: application layer, device driver layer, and hardware abstraction layer. This segmentation allows each layer to be developed and modified independently, enabling hardware updates without reprogramming the entire firmware while maintaining reliable control through structured layered architecture.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A hardware abstraction layer is introduced as an intermediary between the application firmware and the physical hardware components. This abstraction layer provides standardized interfaces that decouple the firmware from hardware-specific implementations, allowing new hardware features to be integrated by modifying only the abstraction layer rather than the entire firmware.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If firmware is re-programmed to incorporate new device drivers, then new hardware features can be supported, but the cost and complexity of firmware updates increase

Engineering Contradiction:
Improvehardware feature supportVSAvoidfirmware update complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

By dividing firmware into modular layers with clearly defined interfaces, the system enables targeted updates to the device driver layer without affecting the application layer. This segmentation reduces firmware update complexity by isolating changes to specific modules rather than requiring comprehensive firmware reprogramming.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware abstraction layer is designed with universal interfaces that can accommodate multiple hardware configurations and new device types. This multi-functionality allows the same firmware framework to support diverse hardware features through standardized abstraction mechanisms, reducing the need for custom firmware development for each new hardware feature.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of manufacture

If drivers include both higher level logic elements and hardware specific elements in the same code, then implementation is simplified, but portability to different hardware is reduced

Engineering Contradiction:
Improvedriver implementation easeVSAvoidfirmware portability
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

Driver code is segmented into hardware-specific implementation details and hardware-independent logic elements. The hardware abstraction layer contains the hardware-specific code, while the application layer contains the higher-level logic. This segmentation maintains implementation simplicity within each layer while enabling portability across different hardware platforms.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The hardware abstraction layer acts as an intermediary that translates hardware-specific operations into standardized interface calls. This allows higher-level logic elements to remain hardware-agnostic while still achieving hardware-specific functionality through the abstraction layer, thereby improving firmware portability without sacrificing implementation ease.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9348618B2Systems and methods for enhancing firmware
Publication Date: 2016.05.24 ACLARA METERS LLC
  • US9348618B2 patent drawing
  • US9348618B2 patent drawing
  • US9348618B2 patent drawing

AI summary

A measuring instrument includes at least one processor having at least one processor internal resource. The measuring instrument may also include at least one hardware component external to the processor and at least one storage component. Firmware may be stored in the storage component and is accessible by the processor. The firmware includes at least one application; a virtualized hardware system having routines that emulate at least one processor internal resource; and at least one application programming interface between the application and the virtualized hardware system.