eXpressDrive

At Dolphin Interconnect Solutions, we prioritize innovation to ensure cutting-edge solutions into a variety of industries where Safety Integrity Levels (SIL) is paramount, such as Automotive.

Safety and security concepts in modern technology are evolving rapidly. The more complex the solution is the more important it is to protect it from failure. The amount of complexity in modern cars calls for lower latency and throughput.

  • eXpressDrive is a PCIe Software Stack for automotive use. More details on eXpressWare can be found at www.dolphinics.com/software
  • Using PCIe technology in automotive provides enhancements to vehicle safety with error detection features and provides more power and latency sensitivity to support growing autonomous driving needs. PCIe® Technology Enabling Vehicle Safety in Automotive.
  • Dolphin has for over 30 years developed eXpressWare, an extensive software offering for interconnecting servers, SoCs and IO-Devices for industrial and commercial use.
  • Dolphin’s experience and knowledge in the PCIe Stack for eXpressWare is now available for automotive use in eXpressDrive.

Software for Automotive use

eXpressWare does not have any automotive certifications and the dynamic nature of eXpressWare is not well suited to meet the static configurations, safety, and security requirements for automotive use in Advanced Driver Assistance System (ADAS). To meet the automotive requirements, Dolphin started in 2022 to architect, design and implement a new software stack. The source code is written by the experienced eXpressWare team following the ASPICE development procedures. The solution is targeting the full range of vehicles - from small personal cars to big trucks.

 

ASISCI

eXpressDrive offers the ASISCI API to application programmers. ASISCI is an automotive version / modified subset of the SISCI API. The modifications are to remove functionality that conflicts with automotive safety requirements and automotive coding standards.

 Feature   eXpressWare   eXpressDrive 
 Shared Memory API  Standard SISCI API   Automotive SISCI API(ASISCI) – reduced feature set for automotive approvals
 IP-Driver / SuperSockets  Yes   No. Maybe added in future versions.
 Device Sharing  Device Lending, SISCI  ASISCI (Automotive SISCI)
 Automatic configuration  Yes  No, Static Configuration 
Scalability   2-60 nodes  2-10 nodes + Customer requirements 
 Topology  Direct, Star, 1-7 PCIe switches  Single switch + Customer topology
 Diagnostic   Yes – tools + API   Yes - API 
 SoC support  x86, QUALCOMM, TI, Nvidia, NXP   Customer requirements
 Operating System  Linux, QNX, Windows, VxWorks   QNX, Linux, Android*
 PCIe Switch support   Microchip, Broadcom, IDT   Microchip Trident + Microchip Stamford
 ASIL Compliance  No   Yes 
 Functional Safety / Security   No   Custom requirements
 Availability   Now   Available for testing using Microchip Trident.

Additional features may be added on Customer requirements and in eXpressDrive 2.0. Please contact Dolphin for more information. *Please contact Dolphin for more information on Android support.

eXpressDrive Architecture

Today, eXpressWare is a comprehensive protocol stack which makes the use of PCI Express networks as easy as Ethernet networking. This is achieved by exploiting vendor specific non-transparent bridging functionality in a sophisticated way. The behavior of eXpressWare is highly dynamic since it can adapt to changes in the topology at run time.

In an automotive environment neither that flexibility nor the associated complexity is needed or desired. That is why Dolphin decided to re-implement the main functionality of eXpressWare in an automotive-grade software stack called eXpressDrive. Hence, these are three major driving forces behind the architecture:

  • Dolphin’s experience in developing shared memory interfaces for PCI Express
  • Automotive software quality requirements: ASPICE, KGAS, Functional Safety, Cyber security
  • Customer-specific system architecture (SoC types, operating systems, PCI Express switch type, number of SoCs, etc.)

The picture below gives an outline of the eXpressDrive software architecture. eXpressDrive contains various components that can be included or excluded depending on customer requirements. The main concept is that all application requirements are static and the PCIe switch is pre-configured to meet the application requirements.

eXpressDrive PCIe software Automotive ASPICE ASIL

To support different operating systems and PCIe switches and the combinations thereof we have defined a modular software architecture consisting of a generic core talking to several abstraction components that can be included or excluded depending on customer requirements. The main concept is that all application requirements are static and the PCIe switch is pre-configured to meet the application requirements.

ASISCI

eXpressDrive offers the ASISCI API to application programmers. ASISCI is an automotive version / modified subset of the SISCI API. The modifications are to remove functionality that conflicts with automotive safety requirements and automotive coding standards. Functionality that will require significant resources to implement and offers minor benefits to application programmers will be removed / reviewed with initial customers.

ASISCI concepts

  • Static configuration
    • Verified and allocated at startup
  • Architecture designed for Safety and Security
    • Separating the different modules in the design to avoid unwanted access that can lead to accidents
    • Full containment of all data paths in the modules that involves safety and security
    • Simplified application interface for Automotive use

eXpressDrive main functionality

  • Verify the application requirements at startup
    • Tools to turn the global abstract resource description and a hardware layout description into a global hardware setup file
    • Tools to segregate information from global hardware setup file into per-node hardware initialization files
    • Driver that applies per-node hardware initialization files to the PCIe switch hardware
  • Verify that the PCIe switch configuration is authentic and valid
  • Set up and verify the required address space between local application processes and NTB mapped resources like physical memory and shared IO-device resources
  • Process application requests for DMA transactions, Doorbells, Multicast, and Interrupts
  • State Management
  • Error detection and handling
  • PCIe statistics and diagnostics
  • Instance handling

Feature list

  • Static configuration built into the driver, generated from a Yaml file
  • Application Interface (ASISCI API)
  • Programming interface for applications using eXpressDrive
    • provided as a dynamically linked library
  • eXpressDrive Driver IOCTL Interface towards the library
  • Core: hardware and OS-independent functionality
  • Segment management
  • Configuration and instance handling
  • DMA transfers
  • Doorbells
  • PCIe Multicast
  • Error detection and handling
  • State management
  • OSIF - OS abstraction layer
    • QNX, Linux
  • PCIe switch abstraction layer for NTB and DMA functions

How to sign up

Dolphin will support you throughout the whole project life cycle.

PoC -> Prototype -> Development  -> Ramp-up -> Production -> Mature -> End-of-Life

We have been working in Automotive VDA Scope projects, but also offer eXpressDrive Demo kit for non-automotive applications can benefit from the simple and static nature of eXpressDrive for Safety and security and the rich ASISCI API in

  • Robotics
  • Healthcare
  • High availability systems
  • Manufacturing

Sharing of PCIe Devices

Dolphins general Device Lending and NVMe driver technology is currently not supported with eXpressDrive, but Dolphin is collaborating with Microchip to develop new concepts for sharing of SR-IOV devices in a automotive environment. Please contact Dolphin for more information.

Availability and more information

Please contact Dolphin at sales@dolphinics.com. for more information.

Now Hiring - Sales Manager, Software Developers, ASPICE Expert - Apply now !