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 Transfer Types
CAN-TS supports six application layer services:
- Telecommand
- Acknowledged transfer (request/acknowledge).
- Up to 8 bytes of payload data per response.
- Up to 256 telecommands per device.
Telecommand - Telemetry
- Acknowledged transfer (request/acknowledge).
- Up to 8 bytes of payload data per request.
- Up to 256 telemetry messages per device.
Telemetry - Unsolicited Telemetry
- Sends telemetry directly without a request.
- Supports periodic or event-driven transfers, with up to 8 bytes of payload data.
Unsolicited Telemetry - 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 :
- 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 - 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.
- Get Block (multi-message transfer)
- Large data transfers from sink to source with error management.
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 |