lunes, 28 de diciembre de 2009

Introducción

Allá por el año 2007, un día me dije como puedo hacer para que mi auto tenga un mejor rendimiento sin tener que pagar costosas modificaciones.

Comencé a investigar el funcionamiento del a ECU del auto para ver cuan difícil era modificar su contenido a fin de obtener una mejora.

Como primer paso, tengo que agradecer a mi Viejo, el cual me prestó una ECU de GM de un Corsa Classic modelo 2004 (CSUN BN S/N: 09355859N).

Una vez con la Ecu sobre el escritorio, noté que era muy simple desarmar la carcasa, sacando dos tornillos laterales (próximamente fotos).

Bien en ese momento me encontré con un simpático bloque de plástico celeste, el cual contendría la memoria de la ecu ( el KI de la cuestión).

Esta Ecu en particular aloja a la memoria dentro de un zócalo permitiendo sacarla facilmente.

Luego con mayor investigación pude ver que otras Ecus de Corsa como FDST, FAFW y CDUA, también traían dicho zócalo.


Básicamente todas estas ecus son idénticas a nivel Hardware. Todas poseen un Microprocesador MC68HC11E1, de Motorola, el cual accede al SOFTWARE almacenado en la memoria alojada dentro del zócalo, lo cual me lleva a que eso es motivo suficiente para terminar la intruducción.

Saludos.

El Famoso Chip

Tras acceder al zócalo que contiene el chip de memoria, podemos ver que esta compuesto por dos plásticos uno celeste y uno marrón, con cuidado podemos separarlos y finalmente acceder al chip de memoria.


Inicialmente me encontré con un chip de 28 patas (14 * 2) el cual yo ya tenia una idea de que podía ser.

Al mirar el código inscripto, pude ver que no era un código comercial, buscando en Internet pude encontrar mas especificaciones sobre el código del chip.

Resumiendo: el chip de la CSUN BN era una memoria EEPROM 27c256.

Más adelante pude ver que otras ecus como la FDST, en lugar de tener una EEPROM 27c256 tenían una EPROM OTP 27c512. (del doble de capacidad que la anterior y del tipo OTP One Time Program).

Estas memorias son similares a las memorias que utilizan las PC de escritorio, simplemente contienen celdas de datos que son almacenadas eléctricamente y dependiendo del modelo pueden ser borradas para posterior molificación o en el caso de OTP no.

También podemos encontrar memorias FLASH de este tipo que son memorias idénticas a las anteriores pero nos dan la ventaja que podemos borrarlas y escribirles sin la necesidad de tener una lampara especial para borrarlas.

Todo este tipo de información sobre EEPROMS lo pueden buscar en Internet hay PILA de información.

sigamos.

Lo que yo necesitaba era el contenido de la memoria, para ello necesitaba un lector de memorias que sea compatible con las memorias antes mencionadas.

En el mercado podemos encontrar luchásemos fabricantes de este tipo de lectograbadores de memorias universales o bien dedicados.

De esta manera y tras investigar dí con un programador: BIOS PROG que es una molificación del Willem Eprom (se utiliza generalmente en casas de computación para reparar motherboards de PC), lo pague alrededor de $150 pesos argentinos.



Este programador, trae un CD con software para leer las memorias.

Se procede a leer el manual del lector y tras comprender el funcionamiento, se ubica la memoria a leer (Nuestro CHIP) en el lugar adecuado, se configura el programa para que proceda a realizar la lectura y....


cha channn... cha channnn...

...tenemos nuestra lectura realizada y concretada en un archivo binario

Si leímos una 27c256 tendremos un archivo de 32kb y si leímos una 27c512 tendremos un archivo de 64kb.

¿Qué contendrá este archivo?... pues esto es motivo de otra entrada en el Blog.

Saludos

El Archivo BIN

El binario que se nos genera tras la lectura de la memoria no es mas ni menos que el Software de la ecu.

¿Cómo es esto?

Como dijimos antes el Microprocesador principal de la ecu es un Motorola de la familia 68HC11, estos procesadores no poseen dentro de ellos lugar para almacenar Software, por lo que requieren una memoria (Nuestro Chip) externa la cual contiene el Soft que es lo que va a definir el comportamiento del procesador indicando que y cuando tiene que hacer las cosas que deba.


¿Che...y los Mapas?

bueno, de a poco.

Como dijimos el bin contiene el Sofware. El Software esta compuesto por lineas de código que básicamente adquieren información de los sensores (posición, rpm, temperatura, etc) para luego determinar cuando y como aplicar los actuadores (inyectores, chispa, etc)

Este software también posee tablas de referencia, que le indican que a determinado estado de entradas, debe generar un determinado estado de salida.

Estas tablas están ubicadas en determinadas posiciones y se las conocen como MAPAS.

Así pues, cada Software, trae definidas sus propias tablas y no necesariamente tienen que estar en el mismo lugar ni ser del mismo tamaño.

La experiencia me llevo a ver, que por ejemplo los chips CSUN, FAFW y FDST, poseen las mismas tablas ubicadas en el mismo lugar, pero no así el software, ya que este es diferente, en conclusión usa los mismos parámetros base pero trabaja distinto con la información.

¿Porqué esto?

simple, mejoras, parches.. lo que suele hacer Microsoft con el Windows.. bueno pasa lo mismo aca.

bueno dejemos el guitarreo y vamos a lo técnico.

¿Cómo y con qué puedo visualizar el contenido del BIN?

respuesta rápida, el archivo bin contiene valores que puden ser vistos en formato Hexadecimal, para ello utilizamos un programa que puede ser similar al WINHEX.

Este programa nos permite abrir el archivo y visualizar su contenido rápidamente.


¿Y que son todos esos jeroglíficos?

Eso es la memoria representada en valores hexadecimal, estos valores son interpretados por el microprocesador HC11 de la Ecu, la cual entiende y ejecuta lo que tiene que hacer.

¿No se puede ver de mejor forma?

Si, para eso hay programas comerciales que interpretan la información del bin, dándonos herramientas mas simples para modificar lo que queramos. lo que sera motivo de otra entrada de blog.

¿Qué puedo modificar?

Para ser simples, cualquier cosa. Si uno desea puede cambiar el soft transformando la ecu en una tostadora. (Cosa que no queremos que suceda accidentalmente)

Generalmente, lo que que se modifican son los parámetros ubicados en las tablas conocidos como mapas, de esta manera la ecu va a generar otra salida a la misma información, permitiéndonos inyectar mas nafta o modificar el avance o el limitador de rpm, o el ralenti.

¿Cambio y así nomas?

No. Muchas memorias de Ecus, traen un sistema de Comprobación de Integridad, en este caso la del Corsa es muy simple.

Esto quiere decir que si uno cambia un valor en la memoria y no modifica adecuadamente el parámetro de integridad, la ecu NO ARRANCA.


Conclusión

Bueno teniendo más una idea del panorama que nos encontramos, les dejo un archivo BINARIO el cual contiene el soft de la ecu CSUN BN original.

Si pueden conseguir algún programa como el nombrado arriba, Winhex, o similar van a poder ver los valores hexadecimales.

En proximas entradas veremos donde estan los mapas principales, como modificarlos, y como recalcular el parámetro de integridad para poder empezar a hacer nuestro primer chip.


Descargas

De 256 o de 512

¿Porqué algunas Ecus tienen 27c256 y otra 27c512?

Es simple, por costo y disponibilidad.

una memoria 512 es el doble de una 256, si descargamos de internet las hojas de datos correspondientes a cada una de estas dos memorias vamos a ver que ambas son compatibles pin a pin, salvo 1 o 2 pines.

¿En castellano please?

Una memoria de 512 es compatible con una de 256 dentro de la ecu del corsa debido a que la misma fue diseñada para ello.

Lo que hay que tener en cuenta es que, la memoria de 512 contiene en su interior dos de 256. pues hay que asegurarnos que el soft este en el lugar que corresponda.

Si leemos una 512 original de GM, vamos a ver que los primeros 256 se encuentran en FF (vacíos) y los segundos 256 poseen el soft.

Acá viene lo trabajoso.

Lo ideal es siempre trabajar con binarios completos (256). para lo cual si ponemos una memoria de 256 lo grabamos directo a la memoria, y si colocamos una memoria de 512 duplicamos el archivo y de esta manera queda el soft en los dos bancos de la 512.

¿Y no puedo hacer que el chip de 512 con algo cambie de banco y asi la ecu tenga otros mapas?

Si señores. e aqui, el famoso chip doble mapa.

Lo que define que bloque de 256 dentro de la 512 se utiliza es una simple patita que se pone a masa o a positivo ( en la ecu del corsa esta siempre a positivo, por eso agarra siempre el banco superior).



En la imagen (a modo ilustrativo) se puede ver que la pata 1 de la memoria 256 (izquierda) fue transladada a la pata 22 en la memoria de 512 (derecha), dejando la pata 1 como A15 que es una pata de adrress que me permite elegir entre un banco u otro perfectamente definido por la mitad superior y la mitad inferior.

Esta pata la nº 1 en la plaqueta de la ecu del Corsa se encuentra siempre con voltaje, para que funcione la memoria de 256, al colocar una 512, la pata queda tirada a + lo que hace que agarre el segundo banco de 256.


¿Osea que si le pongo un boton que lo tire a masa, agarra el otro mapa?

waaaaaaaiiiit... freno de mano. Aca en este punto estamos metiendo mano a una pata, la velocidad con la que el microprocesador lee el chip es altísima con lo que si nosotros generamos un cambio de estado en esa pata tiene que ser mas rápido y no tener rebote.

para esto se creo, el famoso zócalo doble mapa.

¿El zocalo doble mapa es el mismo que el zócalo encriptador?

Si. El zócalo doble mapa utiliza un IC llamado GAL.

Esta Gal según como este programada, nos permite hacer un fastswitch entre bancos asi como también proteger nuestro chip ante la lectura de algún chipero mal intencionado.

Es decir segun como este programada esa GAL, el zócalo actuara de una u otra forma.

¿Qué es una GAL?

a buscar en Internet... pero básicamente es un sistema de compuertas programable que permite re rutear online que pata va a donde.

¿Y se puede leer un chip protegido?

Que pregunta. Todo se puede depende de cuanto este dispuesto uno a ensañarse en conseguirlo.

¿Para que me sirve un doble mapa?

Bueno, ejemplo si tengo GNC, o si quiero NOS o bien podría hacer un mapa vació y otro con soft, y que cuando se active la alarma cambie de mapa dejando al auto completamente inmóvil.

Si se puede todo.

¿Y... no hay memorias de 1024, para que yo pueda poner 4 mapas?

Por supuesto, hay de 1024, de 2048 y de 4096, pero son poco comunes.

esto permitiría poner 4,8,16 mapas distintos, pero que sentido tendría?

y bueno, algunos dirán en uno el standar en otro para gnc en otro para NOS y en otro vacío para que se bloquee, yo diría que larguen los fármacos.

¿Sale muy cara una memoria de estas?

Aprox 15/20 pesos.

¿Entonces porque sale tan caro chipear el auto?

No tiene que ver con la habilidad que tenga la persona en modificar un binario sino la habilidad que tenga para con esos cambios generar que el motor tenga mejor perfomance ya sea para correr o como para ahorro de combustible.

Cuando uno paga un chip en un taller esta pagando garantía (se supone) . Algunos Talleres hasta banquean el auto.

Si llevo a reparar mi PC a una casa de Computación y luego se rompe, safo porque estaba en garantía, ahora si la PC la arreglo yo, y se me rompe... a llorar con Moria.

Lo mismo con el Auto. Y Acá vuelvo a aclarar que el lector es completamente responsable de uso de la información en este sitio contenida.

Saludos.

Interpretando - El CheckSum

¿Qué es el Check Sum?

El check sum es el código de comprobación que como vimos anteriormente la ecu del corsa utiliza para verificar la integridad de la memoria antes de comenzar a ejecutar el software.

según wikipedia:

"Una suma de verificación o checksum es una forma de control de redundancia, una medida muy simple para proteger la integridad de datos, verificando que no hayan sido corruptos. Es empleado para comunicaciones (internet, comunicación de dispositivos, etc.) tanto como para datos almacenados (archivos comprimidos, discos portátiles, etc.).

El proceso consiste en sumar cada uno de los componentes básicos de un sistema (generalmente cada byte) y almacenar el valor del resultado. Posteriormente se realiza el mismo procedimiento y se compara el resultado con el valor almacenado. Si ambas sumas concuerdan se asume que los datos probablemente no han sido corrompidos."

¿Todas las Ecus tiene este tipo de cheksum?

No. Depende íntegramente de cada fabricante.

Por suerte para nuestra ecu de Corsa, GM siguió con su larga trayectoria de uso de un Checksum Simple de 16bits.

¿Cómo lo calculo para mi BIN?

bien.

Es importante a partir de este momento definir que trabajaremos con archivos de 32kb es decir para memorias 27c256, luego duplicaremos el archivo a fin de grabarlo en una 27c512 de ser necesario, pero para evitar problemas iniciales, fijamos este contexto de trabajo.

Basados en que estamos tarbajando con un archivo de 32kb, esto quiere decir 32768 bytes o valores o números.

Generalmente para la identificacion de un valor dentro de una lista de valores se utiliza un índice, este índice se inicializa en "0" (cero), es decir si me refiero al valor ubicado en la posición "0" me estoy refiriendo al primer valor.

Como el índice mínimo es "0" el máximo será "32767"

De esta manera estamos en condiciones de ver como GM utiliza el ChkSum y donde lo almacena.

El checksum se calcula sumando los valores iniciando en la posición 8 y terminando en la posición 32767.

El valor obtenido se compara con el valor almacenado de 16bits en la posición 6 y 7.



En la imagen se puede ver, la sección azul es la que se usa para realizar la suma de valores, nótese que los valores intermedios no se pusieron a fines didácticos pero la suma va desde la posición 8 a la 32767.

En color amarillo se aprecia el valor tal cual nos tiene que dar.

Es importante aclarar que estos valores están representados en Base Hexadecimal es indispensable que el lector conozca y maneje dicho sistema con facilidad.

En color rojo, se puede apreciar la interpretación ASCII de cada valor Hexadecimal y en este caso nos muestra el tipo y el numero de serie del binario, el cual debe y corresponde con la etiqueta de la ECU.

Bien, ya sabemos donde está y cómo se calcula el checksum, estamos en condiciones de proseguir con la hubicacion de los mapas.

hice una herramienta simple para que puedan verificar rapidamente el cheksum de un archivo de 32kb correspondiente a un binario, como el CSUN original que adjunté con anterioridad.

Descargas

Interpretando - El Checksum 2

Para complementar la entrada anterior voy a explicar a modo de ejemplo, como calcular el checksum con un programa comercial: WINHEX, el cual puede ser descargado en versio DEMO.

Lo primero que debemos hacer es ejecutar el programa y abrir nuestro .BIN en este caso el CSUN.

Luego como hemos dicho anteriormente el checksum se calculaba entre las posiciones de memoria 8 a la 32767 o hablando en hexa de 8 a 7FFF.

¿Cómo calculo el checksum?
Lo que vamos a hacer es "pintar" o "seleccionar" desde la 8 hata la 7FFFcon el programa, pero antes de hacerlo con el mouse, podemos recurrir a una herramienta de seleccion de bloque, en el menú "Edicion".

Menú Edición -> Definir Bloque


Colocaremos en los campos desde: 8 hasta 7FFF


Automaticamente el programa nos seleccionara el bloque definido.


¿Y... ahora?

ahora, recurrimos a otra herramienta del WINHEX, que automáticamente nos calculara las suma total del bloque, y nos dará el resultado.

Para eso nos dirigimos al menú: Herramientas -> Calcular Hash


seleccionamos el método (Checksum 16) y Aceptamos.


Como resultado el Programa calcula y veremos efectivamente que el valor obtenido es idéntico al ubicado en la posición 6 y 7.

Resultado Final


¿Es importante verificar esto?

Esta herramienta como el soft que subí en la anterior entrada son de suma importancia y necesidad, debido a que antes de grabar la memoria con el nuevo BIN debemos corroborar que el checksum sea el correcto o de lo contrario la ECU no funcionará.

Si el checksum no es correcto puede ser editado facilmente con el WinHex poniendo el valor calculado por la herramienta en las posiciones 6 y 7.

Saludos

Interpretando - Corte de Rpms

¿Que es el corte de rpms?

rpm = revoluciones por minuto, es decir cantidad de vueltas da el cigüeñal en un minuto.

¿Para que sirve?

Sirve para evitar que el motor sobrepase el rango máximo de revoluciones para alargar la vida útil del mismo.

¿Entonces.. porqué modificarlo?

mmm, bueno esto es para discusión. Yo voy a enseñar a modificarlo, porqué y para qué, que lo determine cada uno.

¿Y... si vamos al grano?

OK.

El corte del corsa original se produce a 6500 rpm de tablero como muchos hemos visto.

bien basados en eso, buscamos en la memoria algún numero similar. Esto no es tan asi, porque podríamos encontar muchos valores en esta condición y no asi saber que este es el corte.

Por motivos exactos que desconozco pero que estimo, el corte no esta en valores de rpms sino se encuentra modificado por una constante. Según la ecuación a continuación:

Corte de Rpm = 3.932.490 / (valor en direccion/posición correspondiente en decimal)

Bien.

Ya hemos aprendido a seleccionar un bloque en el WinHex, ahora nos toca ir a una posición de memoria.

En este caso nos interesa ir a la posición "87D" y a la "87F".

Si lo hacemos nos encontamos con algo similar a esto:


Como podemos ver tenemos en la dirección 87D: 02 5d y en la 87F: 02 5c

Nota: se toman de a dos debido a que estas constantes en particular son de 16bits.

Vamos a proceder a traducir esto a decimal.

025d Hex = 605 decimal y 025c Hex = 604 decimal

habíamos dicho que el corte se calculaba con una ecuación, entonces tenemos que

Corte1 = 3.932.490 / 605 = 6.499,98 y Corte2 = 3.932.490 / 604 = 6510.74

Acá vemos dos cortes de rpm, al dia de la fecha no pude determinar en que condiciones la ecu utiliza uno u otro, pero si me paso de ir a correr a los 402mts, con el Corte1 en 7200 y el Corte2 original (6510) y que me agarrara el corte de 6510.

Algunos dicen que un valor es del corte en sí y el otro es la histeresis, pero a mi me quedan dudas de que estos representen eso, por lo que me paso en la práctica.

Además, leí muchisimos chips de preparadores conocidos, en el que solo tocan el primer valor colocandolo por ejemplo en 7400rpm, y no el otro. Si el otro fuese la histeresis, (6500), pues el auto al llegar el corte bajaria a 6500 para retomar, y no es lo que ocurre.

Bien ya hemos determinado donde están los cortes y como es la ecuación de cálculo.

Modificando - Corte de Rpm

Importante: prestar mucha atención para no cometer errores.

¿Qué vamos a modificar?

Bien, lo que hemos aprendido.

La idea es modificar el corte de rpm elevándolo a 6800 rpms, y lo mas importante recalcular y reparar el cheksum para que nuestra ecu siga funcionando.

¿Por donde arrancamos?

Por calcular el valor de las rpms.

Habíamos dicho que:

Corte1 = 3.932.490 / (valor en direccion 87D en decimal)
y
Corte1 = 3.932.490 /
(valor en direccion 87F en decimal)

vamos a dejar los dos cortes a 6800 rpms, para ello necesitamos saber que valor vamos a poner en el divisor.

Despejamos

(valor en direccion 87D en decimal) = 3.932.490 / Corte1
y
(valor en direccion 87F en decimal) = 3.932.490 / Corte2

entonces

(valor en direccion 87D en decimal) = 3.932.490 / 6800
y
(valor en direccion 87F en decimal) = 3.932.490 / 6800

siguiendo


= 578
y
= 578

¿Estos son los valores que tengo que poner en la memoria?

NO. Recordamos que la memoria se encontraba en modo Hexadecimal, por lo que deberemos pasar el numero 578 Decimal a Hexadecimal, lo que nos dará 02 42.

Ya se lo que tengo que poner ¿Cómo lo hago?

Fácil, edito el archivo ubicándome en la posición 87D y remplazo los valores con los nuevos.

¿Listo?

NO.

Falta recalcular y corregir el CheckSum.

¿Y como lo hago?

Leer bien entradas anteriores

Si pudimos hacer el calculo del nuevo valor de checksum obtendremos como nuevo:

3B F7

¿Y ahora?

Ahora vamos a la posición 6, y cambiamos el valor que teníamos por e nuevo valor.

¿Listo?

Sip, solo falta guardar el binario con otro nombre para no perder el original, y ya tenemos el primer binario modificado de nuestra ECU.

¿Qué falta?

No estaría mal volver a verificar las cuentas y el cheksum, para estar seguros.

Grabar el nuevo Bin en una nueva memoria EPROM.

Nota: recordar que nuestro binario es para EPROM de 256, en caso de quererlo para EPROM de 512 deberemos duplicar el archivo.

Si todo salió bien, y verificamos los valores y las modifiaciones y de no tocar ningún otro lado, estaríamos en condiciones de probar el chip nuevo con el corte corrido.

Dejo a modo de ejemplo como deberia quedarles el binario tras las modificaciones.


Descargas

CSUN-CORTE-6800.ZIP

Suerte.

Hasta la próxima.

Una herramienta muy útil

En este punto empezamos a tocar, es hora de tomar una linea en cuanto a tener un orden en los archivos de manera de no perder, olvidarse o confundir un binario por otro, para evitar problemas.

Siempre que hagan un binario con molificaciones procuren de poner en el nombre del mismo algo que lo distinga unívocamente.
Ejemplo:

Código de ecu + "_" + checksum + "_" + descripción

CSUN_3BF7_STD_CON_CORTE_6800.BIN

Bien, retomando con el tema de la entrada, vamos a hablar de una herramienta muy útil.

Supongamos ahora que tenemos el Csun estándar y el Csun modificado el corte y lo queremos comparar.

Una herramienta muy útil es el programa: Ultra Compare.

Este programa nos permite comparar dos binarios, sincronizarlos al scroll-ear de manera de ver que zonas fueron modificadas en uno comparado con otro.

En la imagen se puede apreciar la diferencia en los checksums de los dos archivos.

A continuación mostaré la comparación de dos archivos de diferente ECU.



A simple vista al principio de ambas memorias notamos que son muy similares.

Como era de suponerse, el checksum es diferente, el modelo también, pero después parece ser toda igual.

Pero al seguir bajando nos encontramos con que hay muchas mas diferencias.

¿A que se deben?

Y algo tenían que cambiar en el firmware desde el 2003 al 2007.

¿Y los mapas?

Bien resulta que justo los mapas son idénticos en ambas memorias TODOS los mapas, es como que únicamente cambiaron la forma de procesamiento basados en los mismos mapas iniciales.

Esto es muy interesante.

¿Y todas los modelos tienen los mapas en el mismo lugar?

NO.

Inicialmente vamos a aprender con CSUN y FDST proximamente que ambos modelos traen los mapas en el mismo y exacto lugar, tanto el corte como inyección y avance.

Espero que los que están siguiendo el blog, realicen todas las tareas y consigan los programas para poder seguir con el ritmo que venimos.

Por favor cualquier duda pueden dejar comentarios en las entradas.

Saludos.

Interpretando - Mapa de Inyección Principal

¿Qué es un Mapa?

No nos confundamos que no vamos a hablar de un mapa rutero.

Un mapa cuando a Ecus se refiere, se entiende como una tabla con datos, que según en que columna y fila se le acceda nos da un valor específico, que representa algo en particular.

Cada mapa posee una ubicación específica dentro de la memoria de cada modelo, así también poseen una cierta cantidad de filas y columnas.

¿Con que arrancamos?

Vamos a arrancar con el Mapa de Inyección a Mariposa Abierta, que a mi parecer es el principal del cual luego partirán las correcciones que la ecu considere necesaria.

Este mapa en particular representa la cantidad de nafta a inyectar según las Rpms del motor y la carga del mismo (Tps/Map).

¿Y.. donde esta el mapa?

Tal como vimos anterior mente con los parámetros del corte de rpms, de la misma forma, definimos que el mapa en cuestión se encuentra ubicado a partir de la dirección 017b Hex, y contiene 16 filas x 11 columnas (176 datos).



¿Y cómo lo modifico?

Edito cada valor que desee dentro de la tabla, guardo el nuevo bin, sin antes olvidarme de reparar el checksum.

Aaaaah claro, perooo ¿No hay una forma más fácil o entendible?

Si. Hasta ahora vimos únicamente tocando con un editor binario, a partir de ahora y debido a la complejidad que se presenta, vamos a hablar de algunos programas de edición de memorias.

Existen en mercado muchisimos programas de edición de binarios de ecus, estos incorporan autocalculo de checksum instantaneo, traen todas las definiciones de los mapas incorporadas, etc, etc.

Lamentablemente estos programas son costosos, algunos muy.

¿Al horno?

No. Por suerte hay alternativas interesantes. Existe un programa muy potente y free: TurnerPro


Pueden descargar la versión gratuita desde el sitio o bien descargarla de aquí.


Este programa es un programa que requiere de un archivo de definiciones, es decir un archivo que le indique al programa donde están los mapas, para luego de cargar el binario, poder mostrarnos su contenido de forma amigable.

¿Cómo es la forma amigable?

Un hermoso gráfico 3D para los mapas y gráficos 2D para las curvas.



¿Y.. de donde saco el archivo de definiciones?

Este no se encuentra facilmente, debido a que justamente es lo que se cobra al vender un soft de edición.

Por tal motivo tendremos que ir armándolo nosotros mismos.

Para arrancar yo ya hice la base, que contiene:

* Autocalculo de Checksum
* Corte Rpm 1
* Corte Rpm 2
* Mapa de Inyección a mariposa abierta

Lo pueden descargar de aca.


Ahora ya tienen todo para arrancar a ver las cosas de mejor forma.

¿Y como se usa el programa?

No voy a dar una clase de Tuner Pro, pero primero hay que ejecutar el programa, abrir el archivo de definiciones y luego el archivo Binario de la Ecu.

Ahora podremos modificar más facilmente, pero siempre antes de grabar una memoria verifiquen todo 2 veces si es necesario. Sobre todo el chksum.

¿Y que garantía hay de que el archivo de definiciones esté bien echo?

Ninguna. Tiene reflejado el contenido de este artículo. El archivo de definiciones se puede editar/modificar a placer del usuario y de misma forma el que lo baje podrá y deberá revisar que coincidan con los datos en el foro.

Yo lo he usado sin inconvenientes pero no me responsabilizo por el mal uso del mismo.

A este punto, cada uno podría sin querer poner el corte a 123 rpms, lo cual realmente no tengo idea que puede ocasionar, asi que es necesario que se revise todo antes de grabar.

Saludos.

Fabricando - Zócalos Adaptadores

... dejemos un rato la pc y vamos a soldar un poco...

hemos visto que la ECU posee el chip en un zócalo, la idea será intentar hacer un zócalo similar para usar nuestros chips.


Bien, aquí voy a hacer un break, en el cual sugiero me presten atención.


Las memorias 27c256 y 27c512, son memorias que en nuestro caso se encuentran en formato DIP-28.


Estas memorias suelen ser OTP o EEPROM con ventanita.


Las OTP como dijimos anteriormente una vez que se graban luego no se pueden reutilizar.


Las EEPROM si podemos reutilizarlas, pero necesitamos de un "borrador" que posee una luz especial el cual suele ser caro.


¿No hay otra opción?


Si. obvio.


Si la idea que tenemos es probar varias modificaciones, lo que podemos usar que esta a nuestro alcance son memorias FLASH.


Las memorias Flash nos permiten borrar modificar y hacer cuanta cosa queramos.


Lamentablmente es difícil encontrar memorias FLASH de la capacidad que usa el corsa. (tan chicas) pero a no desesperar.


Vamos a nombrar un ejemplo de memoria FLASH, la cual a mí, me resultó muy útil:

AT29C010A-12PI

Esta memoria FLASH es de 1Mbit. es decir 4 veces una 27c256 o 2 veces una 27c512.

¿Y es compatible?

Si y No. Es decir no directamente. Esta memoria la podemos conseguir en encapsulado DIP-32, lo que nos da que tiene 4 pines mas que las EEPROMS que veníamos hablando.


Por suerte la compatibilidad llega a tal punto que haremos un zócalo el cual la transformara de tal manera que la ECU la tomará como si fuese una EEPROM.


NOTA IMPORTANTE: para grabar esta memoria vamos a usar archivos de 128kb. con lo que si estábamos trabajando como yo recomendé con archivos de 32kb, así como para las 27c512 había que duplicarlos en este caso tendremos que cuadriplicarlos.

Voy a proseguir entonces a armar el zócalo , iniciando por el zócalo para la EEPROM 27C256 o 27C512.


Materiales:
* Plaqueta perforada genérica. * Zócalo DIP28 (14x2) o DIP32 (16x2)
* 2 tiras de pines hembras de 14 pines. (conector SIL14, o peine hembra)
* Estaño
* Soldador

Paso 1


Vamos a Recortar la placa perforada, como indica la
imagen.

Paso 2

Verificamos que la plaqueta nos quede con la cantidad de pads indicada.

Paso3
Colocamos las tiras de pines tal como lo indica la imagen.

Paso 4

Acondicionamos las patas del zócalo a utilizar ya sea el DIP28 o el DIP32. Con este tipo de zócalos hay que tener mucha delicadeza ya que las patas son muy frágiles.

Paso 5

Colocamos el zócalo acondicionado procurando insertar las patas como lo indica la imagen. Presionamos bien para que no se mueva y verificamos que todas las patas estén en su correcta posición y alineadas con la tira de pines.

Paso 6
Comenzamos a soldar con estaño. Cada pata del zócalo tiene que quedar bien soldada con el pad de cobre y el pin correspondiente de la tira de pines, evitando que se toquen pines contiguos.

Es importante tras soldar, tomarce un tiempo para verificar la continuidad de cada pin y su pata de zócalo y garantizar que no se toca con otro pin, para seguridad tanto de la memoria como de la ECU

Paso Final

Una vez terminado y verificado el paso 6, colocamos el chip alineando la marca del mismo con la indicación del marcador.

Esto es importante tener en cuenta ya que nuestro zócalo puede ser colocado en dos posiciones, una de ellas es errónea y puede provocar roturas en la ECU.

¿Y el zócalo para la FLASH?

bueno. para la FLASH partimos del paso 4 pero utilizamos el zócalo DIP32 en lugar del DIP28

Paso 5 ( AT29C010A )


En la imagen se puede ver que éste zócalo llega hasta el borde de la plaqueta que antes nos sobraba.
Paso 6 ( AT29C010A )


Es necesario eliminar algunos pines de la AT29C010A (el 1 y el 30 ver hoja de datos - datashet).

Luego se sueldan cada pata con cada pin tal como el zócalo anterior.

Al terminar de soldar los 32 pines, necesitamos hacer un ultimo ajuste para que la FLASH funcione correctamente.

Paso Final ( AT29C010A )

Es indispensable soldar los 3 pines de la punta izquierda juntos al igual que los 3 pines de la punta derecha, tal como se ve en la imagen.

Si quieren ver porque motivo se realiza esto, descarguen los Datashets u hojas de datos de cada integrado y van a poder ver que es lo que estamos haciendo en este caso.

¿Algo más para tener en cuenta?

Si. Para grabar las memorias hay que sacarlas del zócalo, esto nos va a garantizar estar haciendo las cosas bien.

Para grabar cada memoria según el programador que se use, ésta debe ser colocada sin zócalo cuidadosamente y siguiendo las especificaciones de cada lecto/grabadora.