¿Qué es un canal de bus CAN?

0

Soy un novato en CAN; Sin embargo, he conectado cosas antes a través de un bus CAN. Desde mi punto de vista, todo es solo campos de datos. Estoy tratando de alejarme de mi educación pura-C y abrazar (aunque torpemente) el marco de armonía de Microchip para un proyecto.

Para una interfaz CAN, existe una serie de "canales". He visto referencias a canales CAN en Google, pero nunca se describen. ¿Alguien puede indicarme una referencia para los "canales" CAN o explicar cómo encajan en el formato de trama extendida ya que no veo ningún bit de canal obvio?

    
pregunta b degnan

2 respuestas

1

La especificación básica de CAN no define los canales. Esencialmente, una red CAN es una facilidad para pasar mensajes a un grupo de dispositivos. Un mensaje puede ser transmitido por cualquier dispositivo, y está disponible para todos los dispositivos. Un mensaje tiene dos partes: su identificador y algunos datos. Eso puede en pocas palabras.

Hay protocolos de nivel superior creados sobre la CAN (por ejemplo, CANopen) que dan significado a los mensajes: definen qué tipo de datos contienen, y cómo y cuándo estos mensajes entran en la red. Estos protocolos generalmente agregan funciones, como direcciones de nodo, maestros de red y transferencias de datos en bloque, que no forman parte de la especificación básica de CAN.

"Canal" es un término un tanto equívoco; Su significado depende del contexto. En términos generales, un canal es algún tipo de conducto para los datos. Por ejemplo, los mensajes entrantes pueden dirigirse a canales que son utilizados por diferentes procesos. De esta manera, un proceso no tendría que buscar en todos los mensajes recibidos para buscar mensajes relevantes, solo tendría que buscar mensajes en su canal.

No estoy familiarizado con Microchip Harmony, pero en la descripción de la interfaz CAN parece que "canal" significa esencialmente "búfer". Parece que los mensajes recibidos se clasifican en canales (buffers de mensajes) según el filtro de aceptación por el que pasan. Por lo tanto, puede dirigir los mensajes a diferentes buffers según el identificador del mensaje. Los canales también se utilizan para transmitir, como un mecanismo para almacenar en búfer y establecer la prioridad relativa de los mensajes salientes. El canal no forma parte del mensaje real, por lo que no tiene ningún significado a nivel de red.

    
respondido por el user28910
1

El concepto de canal simplemente proporciona una capa de abstracción en los mensajes CAN. El nombre del canal proporciona un índice de bits y el número de bits de un mensaje CAN. La correlación generalmente se mantiene en una tabla de datos en la capa de abstracción.

    
respondido por el Glenn W9IQ

Lea otras preguntas en las etiquetas