Especificaciones del dispositivo FRC CAN

Este documento busca describir las funciones básicas del sistema CAN FRC® actual y los requisitos para cualquier dispositivo CAN nuevo que busque trabajar con el sistema.

Direccionamiento

Los nodos FRC CAN asignan ID de arbitraje basados ​​en un esquema predefinido que divide la ID en 5 componentes:

Tipo de dispositivo

Este es un valor de 5 bits que describe el tipo de dispositivo al que se dirige. Una tabla de los tipos de dispositivos asignados actualmente se puede encontrar a continuación. Si desea que se asigne un nuevo tipo de dispositivo del grupo Reservado, envíe una solicitud a FIRST.

Tipos de dispositivo

Mensajes de difusión

0

Controlador del robot

1

Controlador del motor

2

Controlador de relé

3

Sensor giroscópico

4

Acelerómetro

5

Sensor ultrasónico

6

Sensor de dientes de engranaje

7

Módulo de distribución de energía

8

Controlador Neumático

9

Miscellaneous

10

IO Breakout

11

Reservado

12-30

Actualización de firmware

31

Fabricante

Este es un valor de 8 bits que indica el fabricante del dispositivo CAN. Los valores asignados actualmente se pueden encontrar en la tabla a continuación. Si desea que se asigne un ID de fabricante del grupo Reservado, envíe una solicitud a FIRST.

Fabricante

Emisión

0

NI

1

Luminary Micro

2

DEKA

3

CTR Electronics

4

REV Robotics

5

Grapple

6

MindSensors

7

Uso del equipo

8

Kauai Labs

9

Copperforge

10

Playing With Fusion

11

Studica

12

Reservado

13-255

API / Identificador de mensaje

El identificador de la API o del mensaje es un valor de 10 bits que identifica un comando o un tipo de mensaje particular. Estos identificadores son únicos para cada combinación de Fabricante + Tipo de Dispositivo (por lo que un identificador de API que puede ser un «Voltage Set» para un Luminary Micro Motor Controller puede ser un «Status Get» para un CTR Electronics Motor Controller o Current Get para un CTR Power Distribution Module).

El identificador del mensaje se divide en 2 subcampos: la clase API de 6 bits y el índice API de 4 bits.

Clase API

La clase API es un identificador de 6 bits para una agrupación API. Los mensajes similares se agrupan en una sola clase de API. En la tabla a continuación se muestra un ejemplo de las clases API para el controlador de motor Jaguar.

Clase API

Modo de control de voltaje

0

Modo de control de velocidad

1

Modo de compensación de voltaje

2

Modo de control de posición

3

Modo de control actual

4

Estado

5

Estado periódico

6

Configuración

7

Ack

8

Índice API

El índice API es un identificador de 4 bits para un mensaje en particular dentro de una clase API. En la tabla a continuación se muestra un ejemplo de los valores del índice API para la clase API de control de velocidad del controlador de motor Jaguar.

Índice API

Control Enable

0

Control Disable

1

Establecer punto de ajuste

2

Constante P

3

Constante I

4

Constante D

5

Establecer referencia

6

Trusted Enable

7

Confianza sin reconocimiento

8

Punto de ajuste de confianza sin reconocimiento

10

Establecer punto de ajuste sin reconocimiento

11

Número del dispositivo

Número de dispositivo es una cantidad de 6 bits que indica el número del dispositivo de un tipo particular. Los dispositivos deben tener el ID de dispositivo 0 para que coincida con otros componentes del sistema de control FRC. El dispositivo 0x3F puede reservarse para mensajes de difusión específicos del dispositivo.

CAN addressing bit mapping.

Marcos Protegidos

Los nodos FRC CAN que implementan la capacidad de control del actuador (controladores de motor, relés, controladores neumáticos, etc.) deben implementar una forma de verificar que el robot esté habilitado y que los comandos se originen con el controlador principal del robot (es decir, el roboRIO).

Mensajes de difusión

Los mensajes de difusión son mensajes enviados a todos los nodos estableciendo el tipo de dispositivo y los campos del fabricante en 0. La clase de API para mensajes de difusión es 0. Los mensajes de difusión definidos actualmente se muestran en la tabla a continuación:

Descripción

Inhabilitar

0

Sistema detenido

1

Reinicio de sistema

2

Asignar dispositivo

3

Consulta de dispositivo

4

Heartbeat

5

Sincronizar

6

Actualizar

7

Versión de firmware

8

Enumerar

9

Reanudar sistema

10

Los dispositivos deben deshabilitarse inmediatamente al recibir el mensaje Deshabilitar (arbID 0), la implementación de otros mensajes de difusión es opcional.

Requisitos para los nodos FRC CAN

Para que los nodos CAN sean aceptados para su uso en el sistema FRC, deben:

  • Comuníquese utilizando ID de arbitraje que coincidan con el formato FRC prescrito:

    • Un tipo de dispositivo CAN emitido válido (según la Tabla 1 - Tipos de dispositivo CAN)

    • Una ID de fabricante válida y emitida (según la Tabla 2 - Códigos de fabricante de CAN)

    • Clase(s) e índice(s) API asignados y documentados por el fabricante del dispositivo

    • Un número de dispositivo seleccionable por el usuario si se pretende que varias unidades del tipo de dispositivo coexistan en la misma red.

  • Admite los requisitos mínimos de mensajes de transmisión como se detalla en la sección Mensajes de transmisión.

  • Si controla los actuadores, utilice un esquema para asegurarse de que el robot está emitiendo comandos, está habilitado y aún está presente

  • Proporcione soporte de biblioteca de software para LabVIEW, C ++ y Java u organice con FIRST® o FIRSTs Control System Partners para proporcionar tales interfaces.