This post is part of my onlone book Linear Actuator Motion Control per CAN Bus.
The Thomson user manual assumes that the reader is familiar with the SAE J1939 standard. Terminology from the standard is used, but not described in detail.
As I mentioned in the introduction, you don’t need to implement an SAE J1939 protocol stack to control the actuator. Mere CAN Bus communication will do. Nevertheless, a basic knowledge of both will help to better understand the terminology used in the manual.
Controller Area Network
Controller Area Network (CAN) is a serial network technology that was originally designed for the automotive industry, especially for European cars, but has also become a popular bus in industrial automation as well as other applications. The CAN bus is primarily used in embedded systems, and as its name implies, is a network technology that provides fast communication among microcontrollers up to real-time requirements, eliminating the need for the much more expensive and complex technology of a Dual-Ported RAM.
CAN is a two-wire, half duplex, high-speed network system, that is far superior to conventional serial technologies such as RS232 regarding functionality and reliability and yet CAN implementations are more cost effective.

While, for instance, TCP/IP is designed for the transport of large data amounts, CAN is designed for real-time requirements and with its 1 MBit/sec baud rate can easily beat a 100 MBit/sec TCP/IP connection when it comes to short reaction times, timely error detection, quick error recovery and error repair.
CAN networks can be used as an embedded communication system for microcontrollers as well as an open communication system for intelligent devices. Some users, for example in the field of medical engineering, opted for CAN because they must meet particularly stringent safety requirements.
Similar requirements had to be considered by manufacturers of other equipment with very high safety or reliability requirements (e.g., robots, lifts, and transportation systems).
The greatest advantage of Controller Area Network lies in the reduced amount of wiring combined with an ingenious prevention of message collision (meaning no data will be lost during message transmission).

The following shows a need-to-know overview of CAN’s technical characteristics.
Controller Area Network
Is a serial networking technology for embedded solutions.
Needs only two wires named CAN_H and CAN_L.
Operates at data rates of up to 1 Megabit per second.
Supports a maximum of 8 bytes per message frame.
Does not support node IDs, only message IDs. One application can support multiple message IDs.
Supports message priority, i.e., the lower the message ID the higher its priority.
Supports two message ID lengths, 11-bit (standard) and 29-bit (extended).
Does not experience message collisions (as they can occur under other serial technologies).
Is not demanding in terms of cable requirements. Twisted-pair wiring is sufficient.
For further details, see my book A Comprehensible Guide to Controller Area Network.
SAE J1939
SAE J1939 is a higher-layer protocol based on Controller Area Network (CAN). It provides serial data communications between microprocessor systems (also called Electronic Control Units - ECU) in any kind of heavy-duty vehicles. The messages exchanged between these units can be data such as vehicle road speed, torque control message from the transmission to the engine, oil temperature, and many more.
Even though extremely effective in automobiles and small, embedded applications, CAN alone is not suitable for projects that require a minimum of network management and messages with more than eight data bytes.
Consequently, higher layer protocols (additional software on top of the CAN physical layer) such as SAE J1939 for vehicles were designed to provide an improved networking technology that support messages of unlimited length and allow network management, which includes the use of node IDs (CAN supports only message IDs where one node can manage multiple message IDs).
SAE J1939
Is a standard developed by the Society of Automotive Engineers (SAE)
Defines communication for vehicle networks (trucks, buses, agricultural equipment, etc.)
Is a Higher-Layer Protocol using CAN as the physical layer
Uses shielded twisted pair wire
Applies a maximum network length of 40 meters (~120 ft.)
Applies a standard baud rate of 250 Kbit/sec
Allows a maximum of 30 nodes (ECUs) in a network
Allows a maximum of 253 controller applications (CA) where one ECU can manage several CAs
Supports peer-to-peer and broadcast communication
Supports message lengths up to 1785 bytes
Defines a set of Parameter Group Numbers (PGNs, predefined vehicle parameters)
Supports network management (includes node IDs and an address claiming procedure)
Compared to other, function-driven protocols such as CANopen and DeviceNet, SAE J1939 is primarily data-driven. In fact, J1939 provides a far better data bandwidth than any of these automation protocols.
For further details, see my book A Comprehensible Guide to J1939.



