La Red de Conocimientos Pedagógicos - Currículum vitae - protocolo de comunicación can bus

protocolo de comunicación can bus

Con la aplicación generalizada de circuitos integrados y computadoras integradas en los automóviles, la cantidad de controladores electrónicos en los automóviles modernos está aumentando. Los más comunes incluyen el dispositivo electrónico de inyección de combustible del motor y el sistema de frenos antibloqueo ABS y bolsa de aire. dispositivos, dispositivos eléctricos de puertas y ventanas, suspensión activa, etc. Aunque la incorporación de sistemas de control electrónico ha mejorado la potencia, la economía y la comodidad de los automóviles, el consiguiente aumento de circuitos complejos también ha reducido la confiabilidad del automóvil y ha aumentado la dificultad de mantenimiento. Desde la perspectiva del cableado, la mayoría de los sistemas electrónicos de gas tradicionales utilizan un único método de comunicación punto a punto, con poca conexión entre ellos, lo que inevitablemente conducirá a un gran sistema de cableado. Por lo tanto, un nuevo concepto, el controlador electrónico de red local CAN en automóviles, surgió como los tiempos lo requieren. Para que las piezas producidas por diferentes fabricantes funcionen armoniosamente en el mismo automóvil, es necesario desarrollar normas. Según las normas ISO pertinentes, la topología de CAN es un bus, por lo que se denomina bus CAN. El bus CAN está diseñado como un microcontrolador de comunicación en el entorno automotriz. Intercambia información entre los diversos dispositivos de control electrónico ECN en el vehículo e intercambia información entre los diversos dispositivos de control electrónico ECN en el vehículo para formar una red de control electrónico automotriz.

Controller Area Network CAN (Controller Area Network) es un bus de comunicación serie multimaestro. Las especificaciones de diseño básicas requieren una alta tasa de bits, alta resistencia a las interferencias electromagnéticas y la capacidad de detectar cualquier error generado. La aplicación de CAN en automóviles tiene muchos estándares industriales o estándares internacionales, como ISO11992 e ISO11783 de la Organización Internacional de Normalización (ISO) y SAE J1939 de la Sociedad de Ingenieros Automotrices. El bus CAN se ha incluido en el diseño del vehículo como equipamiento estándar de los automóviles.

Introducción al bus CAN

El protocolo de comunicación CAN especifica 4 formatos de trama diferentes, a saber, trama de datos, trama remota, trama de error y trama de sobrecarga. La coordinación de la comunicación se basa en las siguientes reglas básicas: acceso al bus, arbitraje, codificación/decodificación, anotación de errores y anotación de supercorte. CAN sigue el modelo OSI. Según el modelo de referencia OSI, solo hay tres capas: capa física, capa de enlace de datos y capa de solicitud, pero el usuario aún debe definir la capa de aplicación. Como red de comunicación en serie que admite eficazmente control distribuido o control en tiempo real, el bus CAN tiene aplicaciones que van desde redes de alta velocidad hasta redes multilínea de bajo costo. Por ejemplo, la velocidad de bits de CAN en componentes de control de motores, ABS, sistemas antideslizantes y otras aplicaciones en automóviles puede llegar a 1Mbps. Al mismo tiempo, se puede utilizar de forma económica en sistemas eléctricos de vehículos, como elevalunas eléctricos, enfoque de luz, ajuste de asientos, etc., para reemplazar las conexiones de hardware requeridas. El medio de transmisión es par trenzado, la velocidad de comunicación puede alcanzar hasta 1 Mbps/40 m, la distancia de transmisión directa puede alcanzar hasta 10 km/5 kbps y la cantidad de dispositivos conectados puede llegar hasta 110. CAN es un modo de trabajo multimaestro con métodos de comunicación flexibles. No requiere información del nodo, como la dirección de la estación, y utiliza tecnología de arbitraje de bus no destructiva para cumplir con los requisitos en tiempo real. Además, CAN utiliza una estructura de trama corta para transmitir señales, con un tiempo de transmisión corto y una fuerte capacidad antiinterferente.

El bus CAN se diferencia de otros protocolos de comunicación en dos aspectos principales: primero, la transmisión del mensaje no contiene la dirección de destino, se basa en la transmisión de toda la red y cada estación receptora refleja los datos en consecuencia. al mensaje Las características del filtrado de mensajes según la naturaleza del identificador son que se puede utilizar en línea y fuera de línea, plug-and-play y recepción de múltiples estaciones. Otro aspecto es que la seguridad de los datos se fortalece particularmente para cumplir con los requisitos. necesidades de sistemas de control y otros sistemas con mayores requisitos de datos.

En el diseño de los automóviles modernos, el bus CAN se ha convertido en una tendencia en la construcción de redes de automóviles; la red del automóvil está conectada directamente a varias ECU dentro del automóvil y es responsable de la transmisión de comandos, la transmisión de datos y la comunicación. Disfrute, su confiabilidad y estabilidad están estrechamente relacionadas con el rendimiento de todo el vehículo. El diseño y desarrollo de este artículo se basa en una plataforma de simulación construida en condiciones experimentales. La comunicación entre nodos se realiza a través de nodos de comunicación CAN peer-to-peer.

Las pruebas han demostrado que su rendimiento operativo es estable y confiable, pero su aplicación práctica aún requiere más investigación y mejora, y las capacidades de procesamiento de comunicación, corrección de errores y tolerancia a fallas del programa deben mejorarse aún más.

Para Ejemplo:

Integre el bus CAN en la plataforma integrada y realice la función del bus CAN en sus plataformas integradas ARM-EP9315 y ARM-S3C2440. ¡La plataforma de control integrada ARM tiene las características de apertura, alta integración, De tamaño pequeño, con su gran escalabilidad y bajo consumo de energía, es muy adecuado para aplicaciones en electrodomésticos digitales, equipos montados en vehículos, terminales de comunicación, equipos de red, etc. ¡Ahora con la implementación del bus CAN, su aplicación en esta área es más efectiva!

Desarrollo de un sistema de control y medida distribuida bus CAN basado en el microcontrolador AT89C52

1 Características técnicas de la red bus CAN [1][2]

Uso de datos de comunicación La codificación de bloques puede realizar el modo de trabajo multimaestro, el modo de envío y recepción de datos flexible y puede realizar varios modos de transmisión, como punto a punto, punto a multipunto y transmisión global; puede dispersar las funciones de prueba y control convencionales de; El host en la estructura DCS a varios nodos inteligentes. El controlador envía los datos recopilados al bus a través del adaptador CAN, o solicita datos del bus. El host se libera de las pesadas tareas originales de monitoreo del dispositivo de nivel inferior y puede realizarlas. funciones de control y gestión de nivel superior, como diagnóstico de fallas y coordinación de optimización, etc.

Utilizando tecnología de arbitraje de bus basada en prioridades no destructivas, tiene la función de distinguir errores temporales y nodos de falla permanentes. la separación automática de los nodos defectuosos, para que la comunicación de otros nodos en el sistema no se vea afectada al mismo tiempo, CAN tiene la función de retransmisión automática de tramas de error y alta confiabilidad; utiliza una estructura de trama corta (8 bytes), que tiene un buen rendimiento en tiempo real.

Puedes hacer cualquier cosa sin cerrar el bus. Agregar o quitar nodos mejora la flexibilidad y escalabilidad del sistema. >

La adopción de estándares y especificaciones unificados permite una mejor interoperabilidad e intercambiabilidad entre dispositivos y el sistema. Buena versatilidad;

El medio de comunicación puede utilizar pares trenzados, sin requisitos especiales de cableado e instalación en el sitio; Son simples, fáciles de mantener y económicos.

En resumen, el bus CAN tiene las ventajas de un sólido rendimiento en tiempo real, alta confiabilidad, estructura simple, buena interoperabilidad y bajo precio. Supera las deficiencias del bus industrial tradicional y es una forma ideal. para construir un sistema distribuido de medición y control una solución efectiva.

2 Plan general de diseño del hardware del sistema

Primero, defina las funciones de cada nodo y determine el número, tipo y características de señal de las cantidades de detección o control de cada nodo. Este es el primer paso para conectar en red el sistema de control y medición por microcomputador. El principio es evitar en la medida de lo posible realizar pruebas repetidas. La mayoría de los módulos de nodos inteligentes son módulos de entrada y salida, y el bucle de ajuste puede formar un bucle entre módulos. Sin embargo, considerando la seguridad del bucle de regulación, para garantizar que la regulación del bucle no se vea afectada cuando ocurre una falla importante en la computadora host o en toda la línea de comunicación, se pueden usar módulos con funciones de regulación como tipo de aislamiento, PID autoajustable, y regulador de temperatura de tipo aislamiento están diseñados. Sus canales de entrada y salida están todos en el mismo módulo, y el software subyacente tiene funciones muy sólidas, incluido todo el procesamiento de entrada, cálculo de incrementos de salida (se puede seleccionar una variedad de algoritmos de ajuste a través de la configuración, incluido el ajuste en cascada), salida, incluido automático En este módulo se implementa la identificación automática de los parámetros de proceso del módulo de sintonización, garantizando la seguridad y confiabilidad del circuito de regulación.

En segundo lugar, seleccione cada controlador de nodo y el componente adaptador CAN correspondiente. Dado que cada nodo de medición y control tiene una función relativamente única y una pequeña cantidad de datos, los requisitos de la CPU se reducen considerablemente y el microcontrolador de la serie 8051 puede cumplir con los requisitos. Las piezas del adaptador de bus CAN incluyen principalmente: interfaz de controlador, transceptor de bus y dispositivos de E/S. Se utiliza el controlador 82C200CAN producido por Philips y su transceptor 82C250CAN correspondiente. El 82C200 tiene todas las características necesarias para implementar protocolos de comunicación de alto rendimiento. El 82C200 con una simple conexión de bus puede completar todas las funciones de la capa física y la capa de enlace de datos.

Finalmente, se selecciona el medio del bus según el protocolo de capa física del bus CAN, se diseña el plan de cableado y se conecta la red distribuida de medición y control del bus CAN.

Como se muestra en la Figura 1.

3 Componentes de hardware del sistema [3][4][5]

(1)Módulo de interfaz de bus CAN

① Microprocesador

Actualmente existen dos categorías de dispositivos de bus CAN muy populares: uno es un controlador CAN independiente, como 82C200, SJA1000 e Intel 82526/82527, etc., el otro es un microcontrolador con chip CAN, como P8XC582 y un microcontrolador de 16 bits; 87C196CA/CB, etc. De acuerdo con las necesidades reales del mercado actual, las herramientas de desarrollo y los temas, se selecciona el microcontrolador ATMEL de 8 bits AT89C52 como microprocesador para los nodos inteligentes del sistema.

② Controlador CAN

El controlador CAN utiliza SJA1000 como controlador. SJA1000 es un controlador CAN altamente integrado. Tiene estructura multimaestro, prioridad de acceso al bus, funciones de agrupación y difusión de mensajes y funciones de filtrado de hardware. La frecuencia del reloj de entrada es de 16 MHh y la salida es programable. Consta de las siguientes partes: lógica de gestión de interfaz, búfer de transmisión, búfer de recepción, procesador de flujo de bits, lógica de sincronización de bits, lógica de transceptor, lógica de gestión de errores, lógica de interfaz del controlador, etc.

SJA1000 tiene muchas funciones nuevas: recepción y transmisión de mensajes de estructura estándar y estructura extendida; recepción FIFO de 64 bytes; tanto el formato de trama estándar como el extendido tienen filtros de recepción simples/dobles que pueden leer/contador de errores para escribir; acceso; límite de alarma de error conectable: último registro de código de error; cada error del bus CAN puede generar una interrupción de arbitraje perdida con la función de posicionamiento de arbitraje perdido (cuando el error del transmisor o sin retransmisión cuando se pierde el arbitraje); -solo modo (monitoreo del bus CAN, sin respuesta, sin indicador de error, admite conexión en caliente (sin interferencia con el monitoreo de la velocidad de bits del controlador de software); Por lo tanto, todos los nodos inteligentes del sistema utilizan SJA1000 como controlador CAN.

③ Transceptor de bus CAN

El transceptor de bus CAN utiliza PCA82C250 como transceptor de bus. PCA82C250 es la interfaz entre el controlador del protocolo CAN y el bus físico. 82C250 puede proporcionar un rendimiento de envío diferente para el bus y un rendimiento de recepción diferente para el controlador CAN. Y es totalmente compatible con el estándar "ISO 11898". El propósito de PCA82C250 es aumentar la distancia de comunicación, mejorar la capacidad antiinterferencia instantánea del sistema, proteger el bus, reducir la interferencia de radiofrecuencia (RFI) y lograr protección térmica, etc. Para mejorar aún más las medidas antiinterferencias, se utiliza un circuito de aislamiento compuesto por un dispositivo de aislamiento de alta velocidad 6N137 entre los dos dispositivos CAN. La conexión de hardware entre el dispositivo CAN y el microprocesador se muestra en la Figura 2.

El diseño del circuito de hardware no es demasiado difícil, pero hay algunos puntos que deben tenerse en cuenta:

Las dos resistencias de 120 Ω en ambos extremos del bus juegan un papel muy importante. papel en igualar el papel de interferencia del bus. Ignorarlos reducirá en gran medida la antiinterferencia y la confiabilidad de la comunicación de datos, e incluso hará que la comunicación sea imposible.

La resistencia Rs entre el pin 8 de 82C50 y tierra se llama resistencia de pendiente. Su valor determina si el sistema está en modo de trabajo de alta velocidad o en modo de control de pendiente. Conecte este pin directamente a tierra y el sistema funcionará en modo de alta velocidad. En este modo, para evitar interferencias de radiofrecuencia, se recomienda utilizar cables blindados como bus cuando la velocidad en baudios sea baja; es corto, la pendiente se usa generalmente en el modo de control, las pendientes ascendentes y descendentes dependen de la resistencia del medidor. Los datos experimentales muestran que 15 ~ 200 kΩ es un rango de valores ideal para Rs. Los pares se pueden utilizar como bus.

El pin TX1 del SJA1000 se deja flotando y el potencial del pin RX1 debe mantenerse en aproximadamente 0,5 Vcc. De lo contrario, no se formará la lógica de nivel requerida por el protocolo CAN. Si la distancia de transmisión del sistema es corta y la interferencia ambiental es pequeña, no se necesita aislamiento galvánico. De esta manera, el terminal VREF (aproximadamente 0,5 Vcc) del 82C250 se puede conectar directamente al pin RX1, simplificando así el circuito.

En el sistema, la señal de selección de chip del SJA1000 generalmente se obtiene decodificando el bus de direcciones y la dirección de cada registro del controlador CAN se determina en consecuencia. En aplicaciones prácticas, se utiliza P2.7 del microcontrolador AT89C52 como señal de selección de chip. Por lo tanto, la dirección del SJA1000 es: 7F00~7F32H.

Cuando se produce el reinicio de encendido, el reinicio de encendido del AT89C52 requiere un cambio de nivel de bajo a alto para ser activado, mientras que el RST de 17 pines del SJA1000 se activa y requiere un voltaje. cambia de nivel alto a transición plana, por lo tanto, se debe agregar un inversor.

(2) Módulo de adquisición de datos

El módulo de adquisición de datos se utiliza para transmitir datos desde varios sensores al bus CAN. El circuito completo incluye: guardián X5045, microcontrolador 89C52, pestillo 74LS373, convertidor A/D ADC0809, controlador CAN SJA1000 y transceptor 82C250. La placa de circuito se muestra en la Figura 3.

El principio de funcionamiento del módulo de adquisición de datos: después de recopilar los datos, varios sensores transmiten la cantidad analógica de 0-5 V al ADC0809. El 0809 transmite la cantidad digital convertida al 89C52. los datos recopilados envíelos al SJA1000 y cárguelos en el bus a través del transceptor de bus CAN 82C250 para completar el trabajo de recopilación de datos.

(3) Módulo de control

Es un controlador aislado con función de comunicación CAN. El módulo tiene un punto de entrada de datos, que puede ser un comando u otra señal. Tiene una salida analógica para uso de un sistema de control cuyo actuador de salida cambia continuamente, como por ejemplo controlar un motor paso a paso. Actuador Se utiliza en sistemas de control de dos posiciones, como aparamenta. Este controlador se puede utilizar solo como regulador, porque el módulo proporciona una ventana de visualización completa y botones de operación, que pueden configurar el valor de temperatura establecido, los parámetros de ajuste PID, etc. El valor PV y el valor PV del objeto controlado se pueden mostrar durante operación. Este módulo puede realizar un ajuste automático según el punto de control establecido y el tiempo de elevación y descenso. Equipado con un puerto de comunicación CAN, puede comunicarse con una microcomputadora, lo que significa que el módulo de control se puede conectar al sistema de red CAN. A través de la computadora host, se pueden configurar los puntos de control de límite superior e inferior, los valores PID, el tiempo de implementación y otros parámetros de control de cada punto de control para los módulos de control en múltiples nodos, y los valores medidos de cada controlador se pueden registrar en en tiempo real y se puede dibujar la curva de cambio para que los experimentadores analicen los resultados experimentales. Como se muestra en la Figura 4.

4 Diseño del software del sistema

(1) Módulo de comunicación bus CAN

El software de comunicación del sistema de medición y control del bus CAN se divide en 3 partes: CAN Inicialización, transmisión de datos y recepción de datos.

① Inicialización de CAN

Es principalmente para configurar los parámetros de comunicación de CAN. Los registros que deben inicializarse son: registro de modo (modo Peli CAN), registro de división de tiempo, registro de código de recepción, registro de máscara, registro de sincronización de bus, registro de control de salida, etc. Cabe señalar que estos registros solo se pueden escribir y acceder a ellos durante el reinicio. Por lo tanto, antes de inicializar estos registros, debe asegurarse de que el sistema entre en el estado de reinicio y de las palabras de inicialización de los registros de sincronización del bus de cada controlador CAN en el sistema. debe ser el mismo.

② Transmisión de datos

Cada sensor en el sitio convierte y procesa las señales de detección de múltiples parámetros ambientales (digitales, analógicos y de conmutación) y luego las envía al búfer CAN. y luego inicie el comando de envío del controlador CAN. En este momento, el controlador CAN enviará datos automáticamente al bus y ya no es necesaria la intervención del microcontrolador del sensor. Si hay varios controladores CAN de sensores en el sistema que envían datos al bus al mismo tiempo, el controlador CAN arbitra a través del identificador en el marco de información. El controlador CAN con el valor de identificador más pequeño tiene prioridad para usar el bus.

③ Recepción de datos

Cuando el controlador CAN en todo el sistema de control y medición por microordenador del invernadero detecta datos en el bus, automáticamente recibirá los datos en el bus y los almacenará en su búfer de recepción y enviar una interrupción de recepción al microcontrolador 89C52 e iniciar el programa de servicio de recepción de interrupciones. El 89C52 lee datos del búfer de recepción del controlador CAN y los procesa ejecutando el programa de servicio de recepción de interrupciones.

(2) Módulo de monitoreo

Integre toda la recopilación de datos, configuración de parámetros, análisis estadístico de datos y otras funciones. Al mismo tiempo, para realizar la intervención manual de los operadores en el proceso de producción, como modificar valores dados, parámetros de control y límites de alarma, se agrega la función de modificación de parámetros para establecer contacto de información hombre-máquina; los datos transmitidos desde cada nodo se pueden mostrar gráficos, tablas u otros métodos dinámicos. Este sistema puede utilizar cualquier software MMI (interfaz hombre-máquina) con una interfaz DDE (intercambio dinámico de datos) para gestionar mejor varios datos; Se adopta un método de control, que puede recibir solicitudes de conexión DDE del software MMI y del software del usuario, y pasar la solicitud a la parte del controlador de comunicación. El controlador de comunicación convierte la señal de comunicación en una señal de comunicación y la pasa al firmware del módulo inteligente a través. los medios de transmisión. Y la respuesta del módulo se devuelve al software MMI y al software del usuario como resultado de la operación DDE.

5 Conclusión

La aplicación de la tecnología avanzada de bus de campo (CAN BUS) a sistemas inteligentes de medición y control ha mejorado enormemente la confiabilidad del sistema desarrollado de forma independiente un sistema basado en microcontrolador que; Cumple con los estándares internacionales. Los nodos inteligentes no solo ahorran mucho dinero, sino que también pueden comprar equipos similares comunes, lo que puede ahorrar muchos costos de investigación y desarrollo. La computadora host basada en la computadora industrial proporciona una buena interfaz hombre-máquina. haciendo que la operación sea más cómoda e intuitiva.