
De acuerdo con la Figura 1, el bus CAN es simplemente como dos líneas amarillas. El principio de comunicación es como la celebración de una conferencia telefónica. Todo el mundo marca al mismo tiempo, y luego hay varios estados, tales como: una persona habla y otros escuchan; o varias personas quieren hablar al mismo tiempo, pero uno de ellos hablará primero y los demás escucharán; otra persona le pedirá a otra persona que hable; algunos estarán desconectados, atrapados, etc.
Para garantizar que cada conferencia telefónica se realice de manera correcta y efectiva para las situaciones anteriores, necesitamos algunas reglas o protocolos que todos deben seguir. La comunicación de bus CAN tiene similitudes y diferencias con esta forma de teleconferencia. Entonces, ¿qué es exactamente la comunicación de autobuses CAN?
El bus CAN es un cable utilizado para la transmisión de datos entre diferentes unidades de control. El protocolo de bus CAN es un protocolo de comunicación en serie estandarizado internacionalmente ISO, que consta de dos series: ISO-11898 e ISO-11519. Sus definiciones son:
·ISO-11898 define un estándar de comunicación CAN de alta velocidad con una tasa de comunicación de 125 kbps ~ 1Mbps. Es un bus de circuito cerrado con una velocidad de transmisión de hasta 1 Mbps y una longitud de bus ≤ 40 metros, como se muestra en la Figura 2.
·ISO11519 define un estándar de comunicación CAN de baja velocidad con una tasa de comunicación de 10 a 125 kbps. Es un autobús de circuito abierto. Cuando la velocidad de transmisión es de 40 kbps, la longitud del bus puede alcanzar los 1.000 metros.

El bus CAN tendrá una resistencia de terminal, que es generalmente de 120 ohmios. De hecho, durante el diseño, dos resistencias de 60 ohmios están conectadas en serie, y generalmente hay dos nodos de 120 ohmios en el autobús. La resistencia del terminal tiene tres funciones:
1. Mejore las capacidades de protección contra interferencias y elimine rápidamente las señales de alta frecuencia y baja energía
2. Asegúrese de que el bus entre en el estado oculto rápidamente para que la energía del condensador parásito se pueda disipar más rápido.
3. Mejore la calidad de la señal colocándolas en ambos extremos del autobús para reducir la energía reflejada.

Al aprender el bus CAN, a menudo se ve que los niveles del bus CAN se dividen en niveles dominantes y niveles recesivos. ¿Cuáles son los niveles dominantes y recesivos? ¿Cuál es la correspondencia entre la lógica explícita e implícita 0 y la lógica 1? Can lógica de comunicación 0 y 1, explícita e implícita.
La transmisión de señales eléctricas se lleva a cabo distinguiendo entre alta tensión y baja tensión, al igual que la comunicación CAN. Las dos líneas de señal del bus CAN son CAN alta (CAN_H) y CAN baja (CAN_L). En cuanto a la lógica 0 y la lógica 1 de CAN y los aspectos explícitos e implícitos del bus CAN, los siguientes diagramas se han compilado para que todos puedan entender con claridad.
Nota 1: En el desarrollo real, los voltajes de ambas líneas fluctúan a valores predeterminados, lo que también es la ventaja de usar la transmisión diferencial para reducir los errores y la interferencia de ruido;
Nota 2: El bus CAN utiliza la regla de "suma de línea" para el arbitraje de bus, es decir, si se envían múltiples señales CAN al mismo tiempo, algunos envían 1 y algunos envían 0. Mientras haya 0, el bus actual es 0 (1&0=0). Por lo tanto, los planos explícitos en el bus están representados por la lógica "0", mientras que los planos implícitos están representados por la lógica "1";
Aunque las señales diferenciales tienen mejores capacidades antiinterferencia, cuando se transmiten señales de larga distancia, generalmente usamos pares trenzados para la transmisión de datos para reducir físicamente el acoplamiento de ruido al proceso de transmisión de señal.
La diferencia de potencial (nivel diferencial) y el nivel lógico mencionados anteriormente se realizan a través del transceptor CAN. Durante el proceso de transmisión, el controlador CAN convierte la señal transmitida por la CPU en niveles lógicos. Después de que el transceptor CAN recibe el nivel lógico, lo convierte en un nivel diferencial y lo envía al bus CAN.
Durante el proceso de recepción, el nivel de diferencia transmitido en las líneas CAN_H y CAN_L enviadas por el transceptor CAN se convierte en un nivel lógico y se emite al controlador CAN, y luego el controlador CAN convierte el nivel lógico en una señal correspondiente y lo envía a la CPU.
En pocas palabras, esto significa que el transmisor cambia el nivel del bus a través del transceptor CAN y transmite su información al bus CAN. El receptor lee la información en el bus en su propio transceptor CAN monitorizando los niveles de bus.

Como se muestra anteriormente, el bus CAN tiene dos arquitecturas, dos formas de señales CAN y dos procesos para enviar y recibir señales CAN.