Space Packets Protocols

CAN-TS and CANopen Protocols for Embedded Applications

Overview

The CAN-TS (CAN Telemetry Standard) protocol and CANopen are widely used in embedded systems, particularly in resource-constrained environments. Each serves specific communication needs, suited to different applications.


CAN-TS Protocol

Purpose

Designed for applications with limited memory, such as aerospace systems, CAN-TS provides streamlined communication prioritizing low memory usage.

Key Features

  • Lightweight Design: Optimized for 8/16-bit architectures, minimizing memory overhead.
  • Basic Communication Services: Includes telemetry, telecommand, time synchronization, and bus redundancy management.
  • Free to use: Skylabs is the owner of the CAN-TS documentation but it can be requested for free

Advantages

  • Memory Efficiency: Ideal for memory-constrained systems.
  • Robustness: Reliable for mission-critical aerospace applications.
  • Low Resource Consumption: Operates efficiently with minimal computational requirements.

CAN-TS Frame

  • Utilizes CAN2.0B extended frame
    • Encapsulates address, transfer type, and command ID in a 29-bit identifier.
  • Origin Validation: Message acceptance validated by source address.
  • Efficiency: Uses full 8 bytes of data field for protocol services with software-based acknowledgment and reliability over bus utilization.

CAN-TS Frame

CAN-TS Transfer Types

CAN-TS supports six application layer services:

  1. Telecommand
    • Acknowledged transfer (request/acknowledge).
    • Up to 8 bytes of payload data per response.
    • Up to 256 telecommands per device.

    Telecommand
  2. Telemetry
    • Acknowledged transfer (request/acknowledge).
    • Up to 8 bytes of payload data per request.
    • Up to 256 telemetry messages per device.

    Telemetry
  3. Unsolicited Telemetry
    • Sends telemetry directly without a request.
    • Supports periodic or event-driven transfers, with up to 8 bytes of payload data.

    Unsolicited Telemetry
  4. Time Synchronization
    • Time distribution via a broadcast message from the time master (highest priority).

    Time Synchronization

Voici la mise en forme améliorée de cette partie :


  1. Set Block (multi-message transfer)
    • For large data exchanges (up to 512 bytes).
    • Includes retransmission and timeout features.
    • Address ranges from 8 to 64 bits.

    Set Block
    Command Field Subfields:
    • Start adress :

  • Request, Acknowledge – Bits 9-7. Table 6 presents all possible values for this subfield.
Frame Type
Value in Binary
Set Block Request 000
SB Acknowledge 010
SB Negative Acknowledge 100
Transfer 001
Abort 011
Status Request 110
Report 111
  • No. of Blocks – Bits 5-0 of the Command field in the Set Block Request frame represent the number of blocks to be transferred minus one. For example, to transfer four blocks, set this value to three.
  • Sequence – Bits 5-0 of the Command field in the Set Block Transfer frame represent the index of the transferred block. The first block has index 0.
  • Done – Bit 6 of the Command field in the Set Block Report frame indicates if the whole block was successfully received and processed. If additional time is needed for processing, this bit is set to 0.
  1. Get Block (multi-message transfer)
    • Large data transfers from sink to source with error management.

Get Block

Command Field Subfields: - Request, Acknowledge – Bits 9-7. Table 7 presents all possible values for this subfield.

Frame Type
Value in Binary
Get Block Request 000
GB Acknowledge 010
GB Negative Acknowledge 100
Abort 011
Start 110
Transfer 111
  • No. of Blocks – Bits 5-0 of the Command field in the Get Block Request frame represent the number of blocks to be transferred minus one. For example, to transfer four blocks, set this value to three.
  • Sequence – Bits 5-0 of the Command field in the Get Block Transfer frame represent the index of the transferred block. The first block has index 0.

CANopen Protocol

Purpose

CANopen is a flexible protocol for industrial applications that require detailed communication capabilities.

Key Features

  • Device Profiles: Standardized for various device types (e.g., motion control, sensors).
  • Communication Objects: Supports PDO (Process Data Objects) and SDO (Service Data Objects) transfers.
  • Scalability: Suitable for both simple and complex networks.

Advantages

  • Wide Applicability: Used across industries, including automotive and automation.
  • Enhanced Functionality: Offers advanced features like diagnostics and network management.
  • Customization: Flexible configuration options.

Comparison

Feature CAN-TS CANopen
Memory Usage Low, optimized for constrained devices Higher, requires more memory
Typical Use Case Aerospace, simple devices Industrial automation, robotics
Complexity Lower, easier to implement Higher, with extensive features
Availability Open-source, free Often requires licensing