본문바로가기
  • News
  • Newsletter

News

NEWSLETTER





Hardware and Software decoupling technologies


Hardware and software decoupling in automotive application development is crucial for improving flexibility, scalability, 

and efficiency in the design and manufacturing process. The decoupling allows for independent development, testing, 

and updating of hardware and software components. Let’s examine some of the technical concepts.




Hardware Abstraction Layer (HAL) Implementation


The most fundamental technical idea for achieving hardware and software decoupling is implementing 

a Hardware Abstraction Layer (HAL). HAL acts as an intermediary between the hardware and software, 

providing a uniform interface for the software to interact with different hardware components. 

By abstracting the hardware details, HAL allows the software to be developed independently of the 

specific hardware used in the vehicle. This means developers can create software compatible with various 

hardware configurations, reducing the need for custom software for each new hardware platform. 


This approach can greatly reduce development time and cost in off-highway vehicles (OHV), where hardware 

may vary significantly depending on the application (e.g., construction, agriculture, mining).




Use of Operating Systems


Proprietary HAL can be implemented when the size and complexity of control applications are relatively simple and straightforward. That’s still beneficial within the boundary of control software developed and maintained in-house. 

The same software can be reused for another vehicle model that may use different hardware configurations 

as long as the proprietary HAL is implemented for the new hardware.When the application becomes more complicated 

and also involves outside suppliers and software engineers, it’s always a better idea to use an operating system. 

There are many options for embedded operating systems that can run on a small fraction of the memory and 

have very low overhead on the processor cycle.


Regardless of the size and type of operating system, it always provides not only a well-defined HAL but also a set of APIs 

for task management, memory management, intertask communication, etc., and many of them are well documented and 

known by software developers.




AUTOSAR (AUTomotive Open System ARchitecture)


AUTOSAR is built on top of a real-time operating system (RTOS) kernel. It’s a collection of specifications about 

how automotive applications should be developed and deployed. It contains all the critical functionalities needed 

to develop any type of application, from powertrain to chassis, body control, etc.


There are two flavors of specification: Classic Platform (CP) and Adaptive Platform (AP.) They serve different purposes. 

AUTOSAR CP handles the development of time- and mission-critical control applications. AUTOSAR AP works better 

for more complicated (and C++ based) applications such as connectivity, driver assistance systems, infotainment, etc.


Considering the OHV's simpler E/E architecture and fewer ECUs, AUTOSAR AP may be needed only when the OHV network architecture evolves with Ethernet and more sophisticated functionality, such as autonomy, is required. 




Model-Based System Engineering (MBSE)


Hand-coding of software modules should be avoided as much as possible if we want to (1) minimize human coding errors and 

(2) maximize reusability by hardware and software decoupling. 


There are many modeling languages and tools available in the market that can generate software source code that’s compliant 

with operating systems or well-known industry standards (e.g. AUTOSAR, MISRA, etc)




Modular Software Architecture


Another critical concept is adopting a modular software architecture. This architecture divides the software into self-contained 

modules or components, each responsible for a specific function. 


These modules communicate through well-defined interfaces, allowing them to be developed, tested, and updated independently. 

In the context of OHVs, a modular approach enables manufacturers to easily upgrade or replace individual software components, such as the vehicle's control systems or user interface, without affecting the rest of the system. 


This flexibility is essential for responding to evolving regulatory requirements, user demands, and technological advancements.




Standardized Communication Protocols


Standardized communication protocols are essential for decoupling hardware and software in OHVs. Protocols such as 

CAN (Controller Area Network), LIN (Local Interconnect Network), and Ethernet/IP provide a common language for different 

hardware and software components to communicate. 


By adhering to these standards, manufacturers can ensure that their software will be compatible with various sensors, actuators, 

and other hardware components, regardless of the supplier or specific implementation. 


This interoperability is essential in the off-highway vehicle industry, where components from various manufacturers 

must work together seamlessly in harsh and demanding environments.




Virtualization and Containerization


Virtualization and containerization are also powerful tools for hardware and software decoupling. Virtualization involves 

creating a virtual version of a hardware platform, which allows multiple operating systems and applications to run on 

a single physical machine. 


Containerization, on the other hand, involves encapsulating software components and their dependencies into lightweight containers that can run consistently across different computing environments. 


In the past, virtualization and containerization involved significant overhead with resource-intensive hypervisor 

or container technologies. However, technologies have evolved, and many lightweight, low-overhead solutions 

can be fully utilized for deeply embedded automotive applications. For OHVs, these technologies enable the 

simultaneous testing and deployment of multiple software configurations on a single hardware platform, 

facilitating faster development cycles and reducing the need for physical prototypes.



In summary, implementing hardware and software decoupling in OHV development involves a combination of 

various middleware technologies and standardized communication protocols. These technical strategies allow 

for greater flexibility, faster development, and easier maintenance, ultimately leading to cost-saving and 

continuous improvement for off-highway vehicles.