ProcessorGeneral

From Elcano Project Wiki
Revision as of 19:07, 12 July 2019 by JosephBreithaupt (talk | contribs) (General Processor Information)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search


General Processor Information

This is the landing page for the different modules of the Elcano system, combined with an overview about how the system functions together.

The version 2 system depended on the ElcanoSerial library for async UART communication between the modules. The modules were arranged in a loop, so that any module can communicate with each other. As discussed in the ElcanoIntro these modules work together in a way that, if they receive a message they cannot interpret, they will send it to the next module without modifying it in any way. This allows us to send a signal, for example, from a device at the beginning of the loop to a device at the end of the loop without needing a direct connection between the two.

The version 3 system replaces the serial loop with CAN bus, an automotive standard introduced by Bosch in the 1990s. CAN is a no-host network, with arbitration performed in hardware to favor messages with higher priority IDs. In version 2, there were separate processors for C3 (Pilot), C4 (Planner) and C6 (Navigator). In version 3, these tasks are handled by a single Arduino Due on the High-Level Board.


Overview

Below is the link to the Master Schematic file that allows anyone to easily locate all components and their intended connections. Please note that this schematic is not to scale, but all components are textually marked with the terminology commonly used throughout the Wiki. Master_Schematic.sch: Master_Schematic.sch (version 2)

System Architecture (version 3)


Modules

  • Power System Includes a PowerOn circuit board, sometimes called C1

Low-level

Drive-by-wire actuator controller software

High-Level

Information for v2:


Other

The version 2 order of communication connections is specified in ElcanoIntro. Version 3 is asynchronous, with priorities determined by CAN message ID.

IMPORTANT NOTE: Throughout older articles and descriptions processors are referred to as C1-C7 while printed circuit boards are described using their own names such as "HighLevel" and "LowLevel".