Após o aparecimento de algumas ferramentas, a preços acessíveis, para a leitura de centralinas Denso Toyota, dediquei-me um pouco mais à interpretação de hexdumps destas unidades utilizando o datalog como ferramenta. Como sabem a informação existente no mercado para este tipo de unidades é escassa, faltam os famosos “damos”, pelo que o método alternativo é o chamado “partir pedra”, ou seja, utilizar o conhecimento previamente adquirido de outras unidades, fazer testes e utilizar ferramentas de diagnóstico para conseguir decifrar mais alguma informação da ecu.

Neste caso em concreto estou a utilizar uma centralina Toyota, o software WinOLS, uma K-Tag para a leitura e escrita dos ficheiros e um cabo de diagnóstico da Mongoose, o qual permite utilizar o Techstream, programa oficial da Toyota para diagnóstico, que permite fazer o datalog.
Objectivo
O objectivo deste “setup” é o de obter as localizações dos mapas, e os respectivos factores, através da manipulação dos mapas, confrontando os valores lidos pela máquina de diagnóstico. É um processo moroso e iterativo mas indispensável para obter a informação que se pretende. Informações como a localização dos respectivos mapas de turbo, limitadores de quantidade, limitadores de fumo, linearização de sensores e estrutura de códigos de avaria são algumas das informações vitais para a prática das reprogramações.
É também este tipo de trabalho que muita vezes fica “no escuro” quando são cobradas, nas reprogramações para eliminar isto ou aquilo ou por “mexer em dois bits”, 100, 200 ou 300€. O que quero com isto dizer é que existe muito trabalho de desenvolvimento por trás de muitas das soluções que existem no mercado, e esse desenvolvimento requer horas, semanas e por vezes meses de desenvolvimento, dinheiro gasto em equipamento e dinheiro gasto em informação, e isso deve ser cobrado.
Exemplo usando datalog

Uma das primeiras descobertas foi a localização das linearizações dos respetivos sensores de temperatura. Para isto bastou a escrita de um ficheiro com as respectivas linearizações alteradas e verificar, via diagnóstico, quais os valores que alteraram no mesmo sentido.
Nesta hexdump em particular temos quatro sensores de temperatura disponíveis, entre eles, temperatura do líquido de refrigeração (ECT), temperatura do ar (IAT), temperatura do ar após o intercooler (CAT) e temperatura do combustível.
A forma de os diferenciar foi a de utilizar valores diferentes para cada um deles, assim sendo, atribuir na linearização do sensor o mesmo valor de temperatura, independentemente da tensão.
A localização das respectivas linearizações pode ser vista aqui:

O desafio seguinte foi reconhecer quais são os factores utilizados, quer para a temperatura, quer para a tensão. Para a temperatura é simples, pois o facto dos sensores estarem fisicamente desligados da ECU levam a que a tensão de leitura, feita pela ECU, seja de 5V, isto é, temos o circuito em alta e um valor registado no software de diagnóstico de “-40º”. Olhando para as linearizações vemos que o valor de temperatura decresce ao passo que o cabeçalho, que é dado em tensão, sobe. Bastão então utilizar os valores em causa (-4096) e descobrir o respectivo factor. Se dividirmos os -40 por -4090 chegamos ao factor de 0,009765625 e aplicando este mesmo factor ficamos com as seguintes temperaturas:

Conclusão
O desenvolvimento e a “extracção” de informação em centralinas para as quais, aparentemente, não existem ficheiros A2L/Damos é morosa e muita vezes inconclusiva, pois existem diversos parâmetros que não podem ser tão facilmente calculados como os do exemplo acima. Ainda assim, com alguma paciência e dedicação é possível descobrir bastante informação acerca destas unidades.
O desenvolvimento ainda vai no início, pelo que, assim que tiver novidades voltarei a postar!!
Hardware e software utilizado:
- Toyota Techstream
- Picoscope AWG
- WinOLS
- K-tag fw 7.020
- Mongoose MVCI (datalog)
- OBD2 Universal cable connector