¿Qué es CCD?
El protocolo CCD (Chrysler Collision Detection) de Chrysler es un protocolo de comunicación patentado utilizado por los vehículos Chrysler para comunicarse entre varios módulos electrónicos y unidades de control en el automóvil. Es una evolución del anterior protocolo Chrysler Collision Detection Bus (CCDB). El protocolo CCD es un protocolo de comunicación en serie de dos hilos que utiliza un par de hilos trenzados para transmitir datos entre módulos. Opera a una velocidad de 9600 bits por segundo (tasa de baudios) y utiliza una estructura de comunicación maestro-esclavo, donde un módulo sirve como maestro y los otros módulos son esclavos. El protocolo CCD utiliza un sistema de comunicación basado en mensajes, donde cada mensaje consta de un encabezado, una carga útil de datos y una suma de verificación. El encabezado contiene información sobre el tipo de mensaje, el módulo de destino y la longitud de la carga de datos. La carga útil de datos contiene los datos reales que se transmiten, como lecturas de sensores o señales de control. Una de las principales ventajas del protocolo CCD es su capacidad para detectar y reportar fallas y errores en el sistema de comunicación. Cada módulo monitorea constantemente el bus de comunicación y, si detecta un error, lo informará al módulo maestro. Esto permite un diagnóstico y reparación más rápidos de fallas en el sistema. El protocolo CCD se utiliza en una amplia gama de vehículos Chrysler, incluidos automóviles, camiones y SUV. Se utiliza para controlar varios sistemas en el vehículo, incluidos el motor, la transmisión, los frenos, el sistema de bolsas de aire y otros módulos de control electrónico.
Comparando con CANBUS
Chrysler CCD y CANBUS (Controller Area Network Bus) son protocolos de comunicación utilizados en vehículos para permitir la comunicación entre diferentes unidades de control electrónico (ECU) en el vehículo. Sin embargo, existen algunas diferencias clave entre los dos protocolos.
Velocidad : CANBUS es un protocolo de comunicación más rápido en comparación con Chrysler CCD. CANBUS puede transmitir datos a velocidades de hasta 1Mbps, mientras que Chrysler CCD opera a una velocidad de 9600 bits por segundo.
Estructura del mensaje : CANBUS utiliza una estructura de comunicación basada en mensajes, en la que cada mensaje consta de un identificador, una carga útil de datos y otros bits de control. Por el contrario, Chrysler CCD utiliza una estructura de comunicación maestro-esclavo con un encabezado, una carga útil de datos y una suma de verificación.
Tolerancia a fallas : CANBUS está diseñado teniendo en cuenta la tolerancia a fallas, lo que significa que puede seguir funcionando incluso si uno o más nodos de la red fallan. Por otro lado, Chrysler CCD es menos tolerante a fallas y puede experimentar errores de comunicación si falla algún módulo en el bus.
Flexibilidad : CANBUS es un protocolo más flexible, ya que permite varias configuraciones y topologías. También admite múltiples tipos de mensajes y una amplia gama de velocidades de datos. Chrysler CCD es un protocolo patentado diseñado específicamente para vehículos Chrysler y no es tan flexible.
Adopción : CANBUS es un protocolo de comunicación más adoptado entre diferentes fabricantes y aplicaciones de automóviles, mientras que Chrysler CCD solo lo utilizan los vehículos Chrysler.
En resumen, mientras que tanto Chrysler CCD como CANBUS son protocolos de comunicación utilizados en vehículos, CANBUS es un protocolo más rápido, más flexible y más tolerante a fallas que se adopta más ampliamente entre diferentes fabricantes y aplicaciones automotrices.
Construyendo el traductor
El traductor consta de tres componentes principales, el módulo controlador/transceptor CAN, el transceptor CCD y un microcontrolador basado en Arduino Mega 2560. El controlador CAN es el módulo canbus MCP2515 disponible de una variedad de vendedores, generalmente equipado con un transceptor TJA1050 integrado. El transceptor CCD se puede encontrar como un chip original (CDP68HC68S1E) o como una placa completamente rediseñada de Daniel Laszlo disponible aquí . El Arduino Mega 2560 está disponible en muchas fuentes como una placa de desarrollo de tamaño completo o una versión de factor de forma pequeño. Es necesario usar un mega 2560 debido a las limitaciones de la biblioteca CCD que solo admite el procesador 2560.
Algunas notas interesantes
El tacómetro puede mostrar hasta ~8500 rpm antes de volver a cero, y el incremento del odómetro no está vinculado al velocímetro, es un byte separado de datos enviado desde el PCM. La decodificación del tacómetro, el velocímetro, el combustible y el voltaje de la batería se descifró en el pasado, pero la presión del aceite y la temperatura del refrigerante fueron un poco difíciles de descifrar. No sé en qué unidades se supone que deben transmitirse, pero pude graficar mis entradas frente a los valores del indicador y crear una función absurda para convertirlos a psi y °F respectivamente, con una precisión aceptable.
Una idea que tuve y que también sugirió John Sharkey ( @johnsharkey ) fue reasignar algunos de los indicadores a otro canal de datos, como hacer que la pantalla del indicador de batería aumente, o tal vez que el indicador de presión de aceite muestre AFR. Sería tan simple como cambiar algunas direcciones y escalar en el programa traductor y agregar una superposición al grupo de instrumentos. El único obstáculo que veo en este momento es que estos pequeños indicadores reaccionan más lentamente a los cambios de entrada que el tacómetro o el velocímetro. No estoy seguro de que haya una forma de evitar esto que no sea cavar en el circuito en el grupo de instrumentos en sí, pero vale la pena pensarlo más.
No soy la primera persona en descifrar el código CCD. Ha habido un número de personas que han trabajado en la decodificación de este protocolo por sus propios motivos, pero la información es escasa y los proyectos a menudo se dejan sin terminar y se olvidan. Daniel Laszlo ha sido una fuente increíble tanto de hardware como de información, y la información sobre sus proyectos se puede encontrar aquí . Si desea convertirse en colaborador del proyecto, no dude en enviarme un correo electrónico a AnthonyR@marstech.co .
1 comentario
Bonjour!
Je souhaiterais entrer en contact avec vous car je prépare une jeep ZJ de 1998 avec le système de programmation MPVI3 HPTuner et vos compétences seraient très précieuses pour m’aider à adapter la boîte auto 8hp70 qui utilise le canbus pour récupérer certaines infos capteur… hors Ç’est infos étant en CCD nativement sur le JTEC de zj1998 avec un mélange de canbus si j’ai bien compris, vous me semblez la personne la plus compétente qui soit et qui en plus parle français!