Home / Products / Simma Software / ssJ1939-Full
SIMMA SoftwareProducts

ssJ1939-Full

Part no. / ID: SSJ1939-FULL
J1939Source codeFull-featured
All Simma Software products →

ssJ1939-Full is Simma Software's J1939 protocol stack, fully supporting messages larger than a single frame (multi-frame via the Transport Protocol). Communication requiring multiple frames, such as active and non-active fault messages and VIN messages, can be handled directly.

APP STACK DRIVER MIDDLEWARE · Middleware / protocol stacks

Overview

ssJ1939-Full is Simma Software's J1939 protocol stack, fully supporting messages larger than a single frame (multi-frame via the Transport Protocol). Communication requiring multiple frames, such as active and non-active fault messages and VIN messages, can be handled directly.

Supplied as source code, with a high-performance modular design and a simple API. Benchmarks show about 800% of the efficiency of competing products, so it runs with room to spare even on resource-constrained ECUs. Address-claim arbitration (network management layer) is also supported.

Key specifications

ssJ1939-Full
StandardSAE J1939 (single/multi-frame PGNs, Transport Protocol)
DeliveryANSI C source code (one-off purchase)
RTOSUsable with or without an RTOS (8/16/32/64-bit CPUs)
Efficiency800% more efficient than other commercial J1939 stacks (benchmark published by Simma Software)
Supported functionsAddress-claim arbitration, multi-frame reassembly, diagnostic layer
Adopted byFord / Boeing / US military / Tier 1 suppliers to major OEMs, among more than 1,000 companies

SAE J1939 protocol stack (source code). Full support for single/multi-frame PGNs and address-claim arbitration.

Positive ONE Group supports you in Japanese, from product selection and quotes through to technical support during deployment, and proposes the optimal configuration for your target MCU, OS, quantity, and application.

Technical specifications

Standards

ssJ1939-Full
ProtocolSAE J1939 (J1939-21 / J1939-81)
Physical layerCAN 2.0B (11/29-bit identifiers)
MessagesSingle frame / multi-frame (Transport Protocol: BAM, RTS/CTS)
DiagnosticsJ1939-73 diagnostic messages (DM1/DM2, etc.) supported
Technical specifications

Features

ssJ1939-Full
PGN handlingTransmit and receive (single- and multi-frame PGNs)
Address managementAddress-claim arbitration (network management layer)
Message reassemblyFragmentation / reassembly (VIN, fault messages, etc.)
APISimple API (high-performance modular design)
Technical specifications

Implementation and porting

ssJ1939-Full
Implementation languageANSI C source code
CAN driverssCAN device driver (ported to more than 40 MCUs)
RTOSUsable with or without an RTOS (8/16/32/64-bit CPUs)
Efficiency800% more efficient than other commercial J1939 stacks (benchmark published by Simma Software)
Technical specifications

Track record

ssJ1939-Full
Scale of adoptionMillions of ECUs, more than 700 designs, and over 1,000 customers
CustomersFord / Boeing / US military / Tier 1 suppliers to major OEMs and others
Related standardsExtends to agricultural ISO 11783 and marine NMEA 2000
Technical specifications

Supply and support

ssJ1939-Full
DocumentationssJ1939-Full user manual (J1939-82 compliant)
SupplySource supplied, one-off purchase (no runtime fees); quotes available

Communication stack structure and supported specifications

A communication stack consists of three layers: driver layer → stack layer → related-functions layer. Below are this product's position in the stack and the specifications it supports.

J1939SAE J1939/21J1939/81J1939/73

Full implementation of transport (TP/BAM), address arbitration, and diagnostics (DM).

Driver layerDriver / BSP
The lowest layer, directly controlling the MCU's CAN/LIN/Ethernet controller. Handles transmit/receive, interrupts, and timing. Depends on the MCU and peripherals.
Examples: CAN Driver / BSP, LIN low-level drivers, Ethernet MAC drivers
▲ Upper layers use lower layers
Stack layer (protocol)Protocol StackThis product
The core of the protocol. Implements frame construction, state management, transport (segmentation and retransmission), and addressing. Conforms to the numbered specifications.
Examples: CANopen (CiA 301), J1939, UDS (ISO 14229), ISO-TP (ISO 15765-2)
▲ Upper layers use lower layers
Related-functions layer (application / profile)Application / Profile
Application functions on top of the stack: device profiles, managers, LSS, bootloaders, conformance testing, configuration tools and more.
Examples: CiA 401 I/O, CiA 402 motion, LSS (CiA 305), flash bootloader, configuration tools

Main uses

  • Implement J1939 communication in ECUs for commercial, construction, and agricultural vehicles
  • Establish communication including address claiming and transport
  • Add your own ECU to an existing vehicle network

Benefits

  • No need to implement address arbitration and segmented transfer yourself
  • Standards-based implementation makes interoperation with other manufacturers' ECUs less problematic
  • Supplied as source, so it can be ported to your MCU

Environment

  • RTOS: usable with or without an RTOS (8/16/32/64-bit CPUs)
  • Supported buses: CAN / CAN FD / LIN / Ethernet (depending on product)
  • Delivery: ANSI C source code / partners: TI, NXP, STMicroelectronics, Microchip

Frequently asked questions

Can we get a quote or technical advice on ssJ1939-Full?
Yes. Positive ONE Group carries it and provides quotes and technical advice. Please let us know your target MCU and quantity via the contact section on this page.

Solutions that include this product

This product is part of the following configuration combining several products. See each solution page for its place in the overall configuration.

Simma Software middleware and protocol stack products

Contact

Tell us your target MCU, quantity, and safety requirements, and we will propose the best configuration with a rough estimate.

J1939 / UDS specialists; a standard choice for CAN communication stacks

See all Simma Software products →