Referencia del flujo CAN de TurboLamik: v1 y v2, envío y recepción
Referencia de flujo CAN de TurboLamik: transmisión y recepción v1 y v2
Existen dos generaciones de flujo CAN de TurboLamik, y confundirlas es la razón más común por la que una integración de bus CAN no funciona. La generación v1 es una única trama de recepción y un conjunto de transmisión construido en torno a cuatro valores analógicos configurables más una trama de estado. La generación v2 reparte la misma tarea entre cuatro tramas de transmisión y dos tramas de recepción, y traslada los valores a unidades de ingeniería con parámetros con nombre.
Esta página reúne las cuatro definiciones de flujo en un solo lugar para que puedas asignarlas a cualquier ECU con ajustes CAN abiertos.
Las cuatro páginas de flujo
| Página del manual | Dirección | Generación | ID base predeterminado |
|---|---|---|---|
| Flujo TCU v1 TX ("enviar") | TCU a ECU | v1 | H640, configurable |
| Flujo TCU v1 RX (TCU estándar 6) | ECU a TCU | v1 | H600, configurable |
| Flujo TCU v2 TX | TCU a ECU | v2 | no indicado en la página |
| Flujo TCU v2 RX (TCU estándar 7) | ECU a TCU | v2 | no indicado en la página |
En las páginas de v2, el ID base se escribe simplemente como BaseTX ID o BaseRX ID. Las tramas se sitúan entonces en el ID base, el ID base más uno, y así sucesivamente.
Transmisión v2: cuatro tramas
Todos los valores van con el byte más significativo primero. La columna de frecuencia procede directamente del manual.
| Trama | Desplazamiento | Nombre | Unidad | Escala | Tipo | Frecuencia |
|---|---|---|---|---|---|---|
| BaseTX ID | 0 | Par motor calculado por la caja de cambios | Nm | 1 | con signo 16 | 100 Hz |
| BaseTX ID | 2 | Par motor objetivo (reducción de par) | Nm | 1 | con signo 16 | 100 Hz |
| BaseTX ID | 4 | Reducción de par | por ciento | 0,5 | sin signo 8 | 100 Hz |
| BaseTX ID | 5 bit 0 | Indicador de reducción de par | indicador | bit | bit | 100 Hz |
| BaseTX ID | 5 bit 1 | Solicitud de blip | flag | bit | bit | 100 Hz |
| ID BaseTX | 5 bit 2 | Activación de freno T | flag | bit | bit | 100 Hz |
| ID BaseTX | 5 bit 3 | Activación de control de lanzamiento | flag | bit | bit | 100 Hz |
| ID BaseTX | 5 bit 4 | Activación de freno T o control de lanzamiento | flag | bit | bit | 100 Hz |
| ID BaseTX | 5 bit 5 | Activación de burnout | flag | bit | bit | 100 Hz |
| ID BaseTX | 5 bit 6 | Flag de cambio de marcha | flag | bit | bit | 100 Hz |
| ID BaseTX | 5 bit 7 | sin asignar | 100 Hz | |||
| ID BaseTX | 6, 7 | sin asignar | 100 Hz | |||
| ID BaseTX+1 | 0 | Marcha actual | marcha | 1 | con signo 8 | 40 Hz |
| ID BaseTX+1 | 1 | Marcha objetivo | marcha | 1 | con signo 8 | 40 Hz |
| ID BaseTX+1 | 2 bit 0 | Activación de estacionamiento | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 2 bit 1 | Neutral | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 2 bit 2 | Activación del freno de mano | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 2 bit 3 | Activación del freno de pie | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 2 bit 4 | Activación de adaptación | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 2 bit 5 | Estado de bloqueo del convertidor | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 2 bit 6 | Activar ventilador del aceite de la caja de cambios | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 2 bit 7 | Activación del modo seguro | flag | bit | bit | 40 Hz |
| BaseTX ID+1 | 3 | sin asignar | 40 Hz | |||
| BaseTX ID+1 | 4 | Par de rueda | Nm | 1 | signed 16 | 40 Hz |
| BaseTX ID+2 | 0 | Modo de programa de la caja de cambios | programa | 1 | unsigned 8 | 20 Hz |
| BaseTX ID+2 | 1 | Modo de caja de cambios | 1 | unsigned 8 | 20 Hz | |
| BaseTX ID+2 | 2 | Activación del embrague de bloqueo | por ciento | 0.4 | unsigned 8 | 20 Hz |
| BaseTX ID+2 | 3 | Temperatura del aceite de la transmisión | 1 C por bit | 1 | unsigned 8 | 20 Hz |
| BaseTX ID+2 | 4 | Velocidad del vehículo | km/h | 16 | unsigned 16 | 20 Hz |
| BaseTX ID+2 | 6 | Código de error | unsigned 16 | 20 Hz | ||
| BaseTX ID+3 | 0 | Deslizamiento del embrague de la caja de cambios | por ciento | 1 | signed 16 | 100 Hz |
| BaseTX ID+3 | 2 | Deslizamiento del convertidor de la caja de cambios | por ciento | 1 | signed 16 | 100 Hz |
| BaseTX ID+3 | 4 | Velocidad del eje de entrada | rpm | 1 | unsigned 16 | 100 Hz |
| BaseTX ID+3 | 6 | Velocidad del eje de salida | rpm | 1 | unsigned 16 | 100 Hz |
Notas importantes al mapear estos datos:
- La marcha actual y la marcha objetivo codifican -2 para aparcamiento, -1 para marcha atrás, 0 para punto muerto y 1 a 8 para las marchas hacia delante.
- El modo de programa de la caja de cambios codifica 1 para P1 hasta 8 para P8. El modo de la caja de cambios codifica 0 para manual, 1 para automático y 2 para sport.
- La reducción de par es un porcentaje: 0x00 es sin reducción y 0xC8 es 100 por ciento. Úsalo si tu ECU no utiliza el par motor objetivo.
- El par motor objetivo envía 0x800 cuando no se solicita reducción de par, que el manual anota como 2048 Nm. Durante un cambio envía el par motor objetivo.
- La temperatura del aceite de la transmisión tiene un desplazamiento de -40, por lo que 0x00 es -40 C y 0xFF es 215 C.
- La activación del embrague de bloqueo utiliza 0,4 por bit, con 0x00 a 0 por ciento y 0xFA a 100 por ciento.
- La activación del modo seguro lee 0 para apagado y 1 para encendido.
- La marca de cambio de marcha en la primera trama está activa siempre que se está produciendo un cambio de marcha, incluso cuando la reducción de par no está activa. Eso es lo que usas para detectar un cambio sin inferirlo de un corte de par.
v2 recepción: dos tramas
| Trama | Desplazamiento | Nombre | Unidad | Escala | Tipo | Frecuencia |
|---|---|---|---|---|---|---|
| BaseRX ID | 0 | RPM | rpm | 1 | unsigned 16 | 50 Hz |
| BaseRX ID | 2 | MAP | kPa | 0.1 | unsigned 16 | 50 Hz |
| BaseRX ID | 4 | PPS | por ciento | 0.1 | unsigned 16 | 50 Hz |
| BaseRX ID | 6 | Programa SW | P1 a P8 | 1 | unsigned 8 | no indicado |
| BaseRX ID | 7 | Embrague virtual | por ciento | 1 | unsigned 8 | no indicado |
| BaseRX ID+1 | 0 | Par motor real | Nm | 1 | signed 16 | 50 Hz |
| BaseRX ID+1 | 2 | Par motor máximo | Nm | 1 | signed 16 | 50 Hz |
| BaseRX ID+1 | 4 | Temperatura del refrigerante del motor | 1 C por bit | 1 | unsigned 8 | 50 Hz |
| BaseRX ID+1 | 5 bit 0 | Solicitud de subida de marcha | bit | 50 Hz | ||
| BaseRX ID+1 | 5 bit 1 | Solicitud de reducción de marcha | bit | 50 Hz | ||
| BaseRX ID+1 | 5 bit 2 | Activación del pedal de freno | bit | 50 Hz | ||
| BaseRX ID+1 | 5 bit 3 | Ralentí activo | bit | 50 Hz | ||
| BaseRX ID+1 | 5 bit 4 | Activación del kickdown | bit | 50 Hz | ||
| BaseRX ID+1 | 5 bit 5 | Freno de mano | bit | 50 Hz | ||
| BaseRX ID+1 | 6 | Comandos del selector | 0x00 ninguno, 0x01 P, 0x02 R, 0x04 N, 0x08 D | byte | 50 Hz |
El manual establece tres distinciones en este flujo. Las RPM y el PPS son parámetros necesarios. El MAP es necesario solo si la ECU no envía el par motor real; si lo envía, el MAP no se utiliza. La ranura de par motor máximo existe pero no se usa actualmente, así que no construyas lógica sobre ella.
Y el traspaso de par: si la ECU no calcula el par motor, envía 0x8000 (-32768) o 0x7FFF (32767) en la ranura de par motor real y la TCU activa su cálculo interno de par.
Transmisión v1
Las páginas de transmisión v1 describen tres identificadores. El ID base y el ID base más uno llevan cada uno cuatro canales analógicos de 16 bits, y los valores los defines tú en la TCU. Su rango estándar es de 0 a 5000.
| Trama | Desplazamiento | Datos | Conversión | Rango |
|---|---|---|---|---|
| ID base (predeterminado H640) | 0:1 | Valor definido en la TCU | unsigned, byte más significativo primero | estándar de 0 a 5000 |
| ID base | 2:3 | Valor definido en la TCU | sin signo, byte más significativo primero | estándar 0 a 5000 |
| ID base | 4:5 | Valor definido en la TCU | sin signo, byte más significativo primero | estándar 0 a 5000 |
| ID base | 6:7 | Valor definido en la TCU | sin signo, byte más significativo primero | estándar 0 a 5000 |
| ID base+1 (por defecto H641) | 0:1 a 6:7 | Cuatro canales más | sin signo, byte más significativo primero | estándar 0 a 5000 |
El estado se encuentra en el ID base más dos:
| Desplazamiento | Datos | Tipo | Valor de desplazamiento | Rango | Resolución |
|---|---|---|---|---|---|
| 0 | Marcha | byte con signo | 0 | -1 a 8 | 1 marcha por bit |
| 1 | Temperatura del aceite | byte sin signo | -40 | -40 a 215 | 1 C por bit |
| 2 | Programa SW | byte sin signo | 0 | 1 a 8 | 1 por bit |
| 3 | Código de error | byte sin signo | 0 | 0 a 255 | 1 por bit |
| 4 | FLAGS1 | campo de bits | |||
| 5 | FLAGS2 | campo de bits | |||
| 6 | Velocidad del vehículo | byte sin signo | 0 | 0 a 510 | 2 km/h por bit |
| 7 | sin usar |
FLAGS1 y FLAGS2 son lo que el flujo de transmisión v2 sustituyó por parámetros con nombre. Siguen siendo útiles porque empaquetan una gran cantidad de estado en dos bytes:
| Byte | Bit | Nombre | Significado cuando está activado |
|---|---|---|---|
| FLAGS1 | 0 | Reducción de par | activo mientras la transmisión está subiendo de marcha |
| FLAGS1 | 1 | Modo de seguridad | el modo de seguridad está activo en la TCU |
| FLAGS1 | 2 | Estacionamiento | el estacionamiento está activo |
| FLAGS1 | 3 | Ventilador de aceite | el ventilador de aceite está activo |
| FLAGS1 | 4 | Freno de transmisión | el freno de transmisión está activo |
| FLAGS1 | 5 | Solenoide de freno | solenoide de freno activado |
| FLAGS1 | 6 | Neutro | el neutro está activo |
| FLAGS1 | 7 | Blip out | blip out está activo |
| FLAGS2 | 0 | Modo automático | el modo automático está activo |
| FLAGS2 | 1 | Activación de adaptación | la adaptación está activa |
| FLAGS2 | 2 | Freno de mano | el freno de mano está activo |
| FLAGS2 | 3 | Freno de pie | el freno de pie está activo |
| FLAGS2 | 4 | Line lock | line lock está activo |
v1 receive
| Offset | Data | Conversion | Resolution |
|---|---|---|---|
| 0:1 | RPM | unsigned, most significant byte first | 1 rpm per bit |
| 2:3 | MAP | unsigned, most significant byte first | 1 kPa per bit |
| 4 | TPS (PPS) | unsigned byte, per cent | 0.5 per cent per bit |
| 5 | DBW | unsigned byte, per cent | 0.5 per cent per bit |
| 6:7 | Engine torque | signed, most significant byte first, Nm | 1 Nm per bit |
v1 against v2
| Item | v1 | v2 |
|---|---|---|
| Receive frames | one | two |
| MAP scaling | 1 kPa per bit | 0.1 kPa per bit |
| Throttle scaling | 0.5 per cent per bit, 8 bit | 0.1 per cent per bit, 16 bit |
| DBW channel | dedicated byte | not present in the receive stream |
| Engine torque position | bytes 6:7 of the single frame | offset 0 of the second frame |
| Torque handoff code | not documented | 0x8000 or 0x7FFF to force internal calculation |
| Selector commands | not present | byte 6 of the second frame |
| Shift requests | not present | bits 0 and 1 of byte 5, second frame |
| Coolant temperature | not present | byte 4 of the second frame |
| Tramas de transmisión | tres identificadores | cuatro identificadores |
| Frecuencias de transmisión | no indicadas en la página | 100 Hz, 40 Hz, 20 Hz y 100 Hz |
| Par motor objetivo | no presente | BaseTX ID, offset 2 |
| Porcentaje de reducción de par | no presente | BaseTX ID, offset 4 |
| Velocidades de eje y deslizamiento | no presente | BaseTX ID+3 |
| Par en rueda | no presente | BaseTX ID+1, offset 4 |
| Codificación de marcha | -1 a 8 | -2 aparcamiento, -1 marcha atrás, 0 punto muerto, 1 a 8 |
| Velocidad del vehículo | 8 bits, 2 km/h por bit | 16 bits, escala 16 |
| Canales de valor analógico | ocho en dos tramas, estándar 0 a 5000 | sustituidos por parámetros de ingeniería con nombre |
De esa tabla se derivan dos consecuencias prácticas. Si tienes una integración v1 existente y pasas a v2, tus factores de escala cambian para MAP, acelerador y velocidad del vehículo, y tu registro de par se traslada a otra trama. Si empiezas de cero, construye sobre v2 y trata v1 como legado.
Preguntas frecuentes
¿Cuál es la diferencia entre TCU standard 6 y TCU standard 7? Standard 6 es el flujo de recepción v1: una trama con RPM, MAP, TPS, DBW y par motor. Standard 7 es el flujo de recepción v2: dos tramas con un escalado más fino, solicitudes de cambio y comandos del selector.
¿Cuál es el ID base de transmisión predeterminado? La página de transmisión v1 indica un valor predeterminado de H640 y es configurable. Las páginas v2 muestran el ID base como una variable y no indican un valor predeterminado.
¿Cómo detecto un cambio de marcha en CAN? Utiliza el flag de cambio de marcha en la primera trama de transmisión v2. El manual señala que está activo durante un cambio incluso cuando la reducción de par no está activa.
¿Qué valor significa "sin reducción de par"? En la primera trama de transmisión v2, el par motor objetivo envía 0x800, que el manual anota como 2048 Nm, y el porcentaje de reducción de par envía 0x00.
¿Cómo le indico a la TCU que utilice su propio cálculo de par? Envía 0x8000 o 0x7FFF en la posición de par motor real del flujo de recepción v2.
¿Es diferente la velocidad del vehículo entre generaciones? Sí. v1 utiliza un valor de 8 bits a 2 km/h por bit, lo que da un rango de 0 a 510. v2 utiliza un valor de 16 bits con una escala de 16.
Siguiente paso
Si estás mapeando uno de estos flujos en una ECU, dinos en qué generación estás, qué controlador hay en el otro extremo y qué necesitas en el bus. Revisaremos contigo el plan de tramas antes de que compres piezas.
Las definiciones de flujos, escalas y asignaciones de flags de este artículo proceden del manual oficial de TurboLamik (manual.turbolamik.eu), páginas de transmisión y recepción de flujos TCU v1 y v2, junto con los datos publicados por ZF para la familia 8HP.
