Introduction

The purpose of this document is to outline the CDH-EPS communication protocol over CAN. It will go through the commands, telemetry, responses, and internal diagnostics that will be sent between the OBC and EPS, as well as the CAN frame structure for each interaction.

All the frames discussed below are data frames.

Requirements

Protocol Stack

Communication Sequence

Command-Response

Most transactions over the interface follow a command-response format. The controller sends a command to the peripheral and waits for the associated response. If a response isn’t received within $t_{cmd-response}$, the controller may discard the transaction or try sending the command again.

Note: It’s possible for the peripheral to send telemetry data before the command response since telemetry streaming is done asynchronously. However, telemetry has a different identifier, so it’s simple to differentiate between telemetry and command responses.

Telemetry Streaming

The peripheral device is capable of streaming telemetry data outside the typical command-response format. To prevent conflicts, telemetry data uses lower-priority identifiers compared to commands and responses. The built-in arbitration of the CAN bus will take care of the priorities.

The telemetry data can also be used to transmit errors to the onboard computer.