Vehicle electronics from concept to manufacture
Home > Products > OpenECU Overview > OpenECU - Operating systems

Login OpenECU - Operating systems



Quick Links

OpenECU overview
 

Hardware Overview
M100   
M250  
M460  
M461  
G850  
S070 

Software Overview
Sim32   
C-API 32 
C-API 16

Operating systems
 
Custom Hardware 

Automotive RTOS
At the heart of all OpenECU Developer Platforms is a periodic real-time scheduling kernel which is desgined along the same principles as OSEK compliant real-time operating systems (RTOS). 

High performance kernel
By limiting the OpenECU kernel to working with Developer Platform output it has been possible to achieve highly stable, deterministic performance in an very compact code footprint.

Comprehensive utilities
A comprehensive range of compatible hardware drivers, communication protocols and utilities are provided.  These speed development by removing the complexities of developing low level functions. 

Royalty free
All applications developed on OpenECU Developer Platforms contain OpenECU kernel components which are licensed for royalty free use on any OpenECU hardware.

OpenECU Logo


 
Feature Overview

I/O Drivers
  • Inputs -analogue, digital, frequency, period, quadrature
  • Outputs - digital, PWM, stepper motor, constant current, H-Bridge for generating pulses. 


For example, Digital Input blocks are provided to allow the developer to select a hardware pin and read frequency, state, or duty cycle.

CAN drivers
  • Access to high speed CAN communication links
  • Use Vector CANdb files to specify the CAN message details or specify the CAN message and signal information directly 
  • Support of J1939 


For example, the CANdb Receive block allows the developer to specify a Vector CANdb file and use the message and signal names as parameters. The block automatically converts the CAN message data bytes into engineering values.

CCP configuration
  • For calibration, data logging and reprogramming using ASAP 1b, ASAM AE MCD 1
  • Compatible with version CCP version 2.1 
Angular based functionality and data

Including:

  • Engine configuration - to specify number of cylinders, firing order, etc.
  • Timing wheel processing - to provide engine synchronisation, engine speed and engine acceleration
  • Scheduling of injector, spark and knock events
  • Angle based analogue input sampling 


For example, the Injector Drive block:

  • Allows the developer to schedule injection events for individual cylinders based on angle and time   
  • Can account for injector transport delay
  • Can update the schedule on the fly (e.g. to handle transient fuelling for better drivability and emissions)
Scheduler - User definable rate tasks (including one angular based rate)

The developer can change the number and frequency of tasks as required

Note:

  • OpenECU supports the use of mixed rates in the same level of the Simulink model.
  • The different rate tasks are colour coded to aid clarity.
  • Invisible to the user, the autocode generation process automatically configures the pre-emptive multitasking scheduler based on the defined rate tasks.
Utilities - Non-volatile memory drivers
  • Retain data across power cycles
  • Adapt scalar, array, 1D and 2D maps over time (for learning algorithms)
Utilities - Basic support blocks
  • Module and model identification
  • Developer software version matching
  • 1D and 2D map lookup and interpolation
  • Module reset diagnosis
  • Debounce, slew and fault checking blocks