Traducido del inglés al español - www.onlinedoctranslator.com VAG EDC15P Una descripción detallada de las ECU Bosch EDC15P utilizadas en automóviles VAG Documento creado por Dilema 2012 -1- Tabla de contenido Introducción ................................................. ................................................. ........................................ - 3 - Hardware ................................................. ................................................. ........................................ - 4 Descripción general del tablero................................................ ................................................. .................... - 4 CPU principal: Infineon C167 ................................................. ................................................. ................. - 5 - Eprom flash: Am29F400 ................................................. ................................................. ................. - 6 Configuración de pines de la ECU ................................. ................................................. ................................... - 7 - Software................................................. ................................................. .......................................... - 9 Datos de información del software.................................. ................................................. ............ - 11 Leyendo el código................................................. ................................................. .......................... - 11 - Mapas y variables................................................. ................................................. .......................... - 12 Obteniendo las direcciones del mapa................................................ ................................................. ............ - 12 - Validar las entradas de la colección................................................ ................................................ - 12 Etiquetando los mapas................................................. ................................................. ........................ - 13 Sintonización EDC15P ................................................ ................................................. ................................ - 14 - Comunicación con la ECU................................................ ................................................. ............ - 20 Diagrama de conexión ................................................ ................................................. .................... - 20 - KWP1281................................................. ................................................. ................................... - 20 Procedimiento de reactivación para el modo normal................................................ ................................................ - 20 - Apéndice I: Construcción de una interfaz K-line de alta velocidad.................................... ........................................ - 21 - Esquemático................................................. ................................................. ................................... - 21 Información de piezas ................................................. ................................................. ........................ - 21 - Documento creado por Dilema 2012 -2- Introducción Las ECU de la serie EDCxx (control electrónico de diésel) de Bosch son un sistema ampliamente utilizado para motores diésel modernos. Lo utilizan BMW, VAG, Opel, SAAB y muchos otros. Este documento y el software de la suite VAG EDC15P descrito solo se centrarán en las implementaciones específicas de Volkwagen Audi Gruppe (VAG) en los modelos EDC15P. Estas ECU se utilizan en los motores PD (Pumpe Duse) de Volkswagen, Audi, Skoda y Seat. Otras ECU EDCxx pueden funcionar de manera similar, pero diferirán en ciertas áreas. El documento describe en detalle la ECU EDC15P. Primero describirá el hardware y procederá con una descripción aún más detallada del software que se ejecuta en la ECU para que podamos aprender cómo modificar y sintonizar la ECU para que coincida mejor con el hardware (modificado o no) que está en el automóvil. . Un agradecimiento especial por reunir todo esto para rkam, mtx-electronics, Pixis5 y otros en ecuconnections.com y chiptuners.org. Documento creado por Dilema 2012 -3- Hardware Descripción general del tablero La ECU contiene una placa de circuito impreso (PCB) multicapa que contiene muchos componentes SMD. Los componentes principales son, lógicamente: CPU principal, almacenamiento de programas Flash, memoria SRAM (memoria de trabajo), EEPROM (para almacenar kilometraje, immo, etc.) y muchas entradas/salidas (E/S). Documento creado por Dilema 2012 -4- CPU principal: Infineon C167 - CPU de 16 bits Documentos de hoja de datos http://trionic.mobixs.eu/EDC15P/c167cr_ds.pdf http://trionic.mobixs.eu/EDC15P/c167cr_um.pdf Documento creado por Dilema 2012 -5- Eprom flash: Am29F400 El flash contiene el programa y los mapas de la ECU. EDC15P tiene una memoria flash de 512 KB (4 Mbit) en la que puede almacenar múltiples segmentos de mapas para diferentes situaciones (caja de cambios automática, caja de cambios manual, quattro, etc.). El cambio entre estos segmentos generalmente se denomina "recodificación". Strangly DQ4 se usa para el pin de arranque (si se mantiene bajo durante el arranque, esto forzará a la ECU en modo de arranque). Documento creado por Dilema 2012 -6- Configuración de pines de la ECU Número de PIN Color Descripción 1 2 4 5 6 7 16 37 Rojo/violeta + 12V (tensión de alimentación) Rojo/violeta + 12V (tensión de alimentación) Marrón/rojo Marrón/rojo Suelo Suelo Naranja/marrón CAN-L Naranja/negro CAN-H Naranja/negro Diagnóstico K-line + parpadeo (KWP1281 + KWP2000) Documento creado por Dilema 2012 Interruptor de encendido (interruptor +12V) -7- Documento creado por Dilema 2012 -8- Software Una vez que descargamos los datos de la ECU con un MPPS, Galletto 1260, BDM o algún otro medio para hacer una lectura completa, podemos cargar el archivo binario en EDC15P Suite (verhttp://trionic.mobixs.eu ) Podremos ver los mapas más importantes que se detectan automáticamente y podemos cambiarlos a nuestro gusto. Pero tenga cuidado, necesita saber lo que está haciendo. El software también puede generar una lista de diferencias entre dos archivos y si comparamos un archivo de stock con un archivo optimizado podemos ver que solo unos pocos mapas se editan normalmente. Figura 1: diferencias entre mapas estándar y optimizados Documento creado por Dilema 2012 -9- Figura 2: mapa de impulso de acciones Figura 3: Mapa de impulso ajustado Documento creado por Dilema 2012 - 10 - Datos de información del software En el software, también se almacenan los identificadores sobre la revisión de HW, la versión de SW, los números de pieza de VAG, etc. Estos datos se almacenan en ASCII en el archivo binario y tienen un aspecto similar a este: 0281010981 es el ID del hardware 1037366273 es el ID del software de Bosch 038906019FT es el número VAG leyendo el codigo Para poder comprender mejor el software necesitaremos sumergirnos en el mundo del lenguaje ensamblador. Se trata de una especie de intermediario entre el lenguaje humano comprensible y los códigos de funcionamiento utilizados por el microprocesador. Una vez que podamos leer el lenguaje ensamblador (ensamblador para abreviar), podemos rastrear todas las cosas que se le indican al microprocesador cuando el programa se está ejecutando. Esta es información muy valiosa porque no tenemos información de primera mano ni de Bosch ni de VAG que pueda decirnos en detalle qué hace la ECU. Convertimos el archivo binario a lenguaje ensamblador, necesitamos desmontar el archivo. Podemos hacerlo ejecutando un desensamblador como IDAPro o un desensamblador separado para la uC específica. Este desensamblador se puede encontrar aquí en el sitio web. Desmontador C167http://trionic.mobixs.eu/EDC15P/C167d.rar Una vez que desensamblamos el archivo binario, tenemos un archivo que contiene el listado del ensamblado en el que podemos comenzar a explorar y comprender el funcionamiento interno de EDC15P. Documento creado por Dilema 2012 - 11 - Mapas y variables Determinar la ubicación y el tipo de mapas y variables en los binarios del EDC15P es bastante complicado. Para poder detectar los mapas disponibles tenemos que hacer algunos trucos y hacer un par de suposiciones en el algoritmo utilizado. Este capítulo describirá, en detalle, lo que hace el software EDC15P Suite para recuperar la lista de mapas del archivo. Obtener las direcciones del mapa Primero necesitamos buscar las direcciones de los mapas que podemos encontrar. El software analiza todo el archivo binario en busca de ID y bytes de longitud que *probablemente* son mapas y los almacena en una colección. Validar las entradas de la colección. Ahora tenemos una lista de direcciones con las que podemos trabajar. Para cada dirección que encontramos validamos los datos encontrados en esa dirección. Por ejemplo: Documento creado por Dilema 2012 - 12 - Los primeros dos bytes marcados (0x2E 0xEC) nos dicen que podría ser el inicio de un eje (el software tiene una lista de identificadores conocidos para esto). Luego valida el segundo par de bytes (0x10 0x00). Si este valor parece tener una longitud válida, comienza a leer datos a partir de ese punto (pares de 0x10 bytes). A continuación se evalúa si existe un segundo eje después del primero. El ID que se lee es 0x36 0xC0 en este caso y la longitud del segundo eje es 0x0A 0x00. Ahora sabe que este mapa tiene 16 x 10 valores en dimensiones, conoce los valores para ambos ejes (los datos después de los indicadores de longitud) y conoce la dirección inicial y la longitud de los datos del mapa. Este procedimiento se realiza para todas las direcciones que se encuentran en la colección y el software almacena los mapas validados en una nueva colección. Etiquetando los mapas Esta es posiblemente la parte que contiene más suposiciones. La mayoría de los mapas reciben nombres observando las dimensiones y los ID de sus ejes. Sin embargo, en algunos archivos hay varios mapas con las mismas propiedades. En ese caso, el software también analiza (por ejemplo) los valores de los ejes o la estructura del mapa. Documento creado por Dilema 2012 - 13 - Sintonización EDC15P Este capítulo describirá el mapeo básico que necesitará para una etapa simple 1. Los mapeos complicados para hardware alterado (sensores de masa de aire, sensores de mapa, turbos, inyectores más grandes, etc.) no se describen aquí. También brindará una buena descripción general de lo que ofrece la suite EDC15P. Los mapas necesarios para una etapa 1 simple son; - Mapa de deseos del conductor Limitador de par Limitador de humo Mapa de duración de la inyección Mapa EGR (opcional) Impulsar el mapa objetivo Mapa del ciclo de trabajo del N75 (por ejemplo, control de válvula de descarga/VG) Mapa de límite de impulso Limitador de impulso de valor único Documento creado por Dilema 2012 - 14 - Mapa de deseos del conductor El mapa de deseos del conductor determina no sólo el par/potencia máxima del coche, sino también su capacidad de conducción. Determina la cantidad de combustible solicitado para el porcentaje de depresión del pedal del acelerador y la velocidad del motor (por ejemplo, para cada % de posición del acelerador y velocidad del motor hay un valor que indica la cantidad de combustible solicitado para ese punto específico). Como puede ver, la cantidad máxima de combustible solicitada (para el acelerador) es 70 mg/carrera en este archivo. Documento creado por Dilema 2012 - 15 - Limitador de par Para evitar que los componentes de la transmisión y del tren motriz sufran demasiado por el par motor a bajas revoluciones, la potencia de salida se restringe a bajas revoluciones del motor. También le permite limitar el par cuando la presión atmosférica es inferior a la media (por ejemplo, en lo alto de las montañas). Esto se hace para evitar que el turbo se acelere demasiado. Documento creado por Dilema 2012 - 16 - Limitador de humo El limitador de humo está ahí para evitar que aparezca humo excesivo cuando el usuario pisa el pedal del acelerador. El humo se genera cuando la relación aire-combustible en un motor diésel es inferior a 1:17. El limitador de humo le indica a la ECU que no inyecte más que la cantidad calibrada de combustible para una cantidad determinada de aire que ingresa al motor (datos del sensor de masa de aire). Si el mapa de deseos del conductor indica (solicita) 70 mg de aire pero solo entran 1050 mg de aire al motor, el limitador de humo limitaría la cantidad inyectada a 55 mg de combustible a 2750 rpm. Documento creado por Dilema 2012 - 17 - Mapa de duración de la inyección La cantidad de combustible inyectada determina la cantidad de energía producida (al menos hasta un cierto límite). Podemos estimar aproximadamente que la cantidad de torque es 1,5 * #cilindros * IQ (cantidad inyectada). Inyectar 60 mg/carrera en un motor de 4 cilindros daría como resultado aproximadamente 1,5 * 4 * 60 = 360 Nm de par. El cálculo de la potencia a partir del par se puede realizar con esta fórmula: Potencia (hp) = (Par (Nm) * rpm)/7121. Inyectar los mismos 60 mg/carrera a 4000 rpm da como resultado 360 * 4000 / 7121 = 202 hp. Este mapa le dice a la ECU cuántos grados del cigüeñal se necesitan a una velocidad determinada del motor para inyectar la cantidad solicitada de combustible. Documento creado por Dilema 2012 - 18 - mapa EGR El mapa EGR (recirculación de gases de escape) determina cuánto aire fresco se permite ingresar al motor para una cantidad de inyección y velocidad del motor determinadas siempre que la función EGR esté activa. El resto de la cantidad de aire se devuelve al motor mediante el sistema EGR. Dado que se trata de aire caliente y contaminado, no queremos que esto entre en nuestro motor desde el punto de vista del rendimiento. Documento creado por Dilema 2012 - 19 - Comunicación con la ECU Diagrama de conexión Conector de la ECU: Esto está mirando el conector de la ECU. Esta es la parte del zócalo, la parte del conector está reflejada. Hay tres métodos de comunicación que se pueden utilizar con una ECU EDC15P. - KWP1281 KWP2000 Comunicación en modo de arranque KWP1281 Para activar la comunicación KWP1281 necesitamos conectar una interfaz K-line a la ECU en el pin 16 y después del procedimiento de activación de 5 baudios la comunicación puede comenzar a 9600 baudios. Procedimiento de activación para el modo normal Para poder comunicarse en modo normal, la ECU debe ser consciente del hecho de que hay un dispositivo de diagnóstico conectado al pin 16 de la línea K. Para avisar a la ECU, debemos enviar un byte 0x01 al puerto a 5 baudios (!). Después de un byte de activación correcto en el pin 16 recibiremos una respuesta de la ECU a 9600 baudios. Esta respuesta será 0x55 0x01 0x8A en la que 0x55 es el reconocimiento y 0x01 y 0x8A son las palabras clave utilizadas para comunicarse con la ECU. Después de recibir esta secuencia, debemos enviar un mensaje de reconocimiento a la ECU, que es la última palabra clave invertida que será 0x75. Documento creado por Dilema 2012 - 20 - Apéndice I: Construcción de una interfaz K-line de alta velocidad La siguiente información procede de skpang.co.uk. Esquemático Información de piezas Figura 4: MAX232 y MC33290 Documento creado por Dilema 2012 - 21 -