FORUM 106 XSi
http://forum.106xsi.net/

[jammaster] Bosch Motronic 3.1 RACE
http://forum.106xsi.net/viewtopic.php?f=91&t=14774
Page 1 sur 2

Auteur:  jammaster [ Lundi 05 Novembre 2007 9:54 ]
Sujet du message:  [jammaster] Bosch Motronic 3.1 RACE

Voilà à quoi resemble le bureau d'un mec qui à passé son pont à retourner le 'tit coeur de vos bébés...

Image

...
Donc n'ayant pas l'AX pour l'instant et ne pouvant pas courir de partout avec la caisse, ça paye un peu de passer du temps sur le Motronic!

Le but est de pouvoir faire de cette ECU bien sympathique un ECU proche d'une gestion de course en therme de "limitations".
Après avoir retourner le code d'un BIN stock avec un bon émulateur 80c51, il en ressort en l'heure actuelle:

Fait:
- Gestion jusqu'à 10000 rpm (!)
- matrice de pleine charge de 45x1 (paliés de 200rpm)
- matrice de charge partielle de 23x10 (paliés de 400rpm)
- Gestion du voyant diag (pas @ 100%)
- possibilité de "signer" ses BINs

En dév:
- Gestion du diag en shift light
- Gestion du compte tour à la mise sous tension pour qu'il balaye toute sa zone de 1000 à 10000 rpm. (le but étant de calibrer son compte tour pour ceux qui souhaiteraient refaire un fond de compteur adapté)
- Meilleur Gestion de la pompe à carburant. Mise en pression de la rampe contact mis. (1sec de pompe avant démarrage)
- Recherche des MAPs de ralenti...

...

En résumé, il m'a fallut déplacer les MAPs principalement utilisés ailleur dans la ROM pour avoir plus de place... Un artifice me permet de les utiliser avec le code stock (ajout de sauts inconditionnels LJUMP en assembleur aux bonnes adresses ;) )

...

Le but est d'avoir un firmware (EPROM) remanié en dehors de simple modifs de maps. Le MP3.1 serait donc capable d'être dans le coup sur des moteurs poussés passant la barre des 7000 stock... Certains équipés en Marelli sont tranquilles jusuq' à 8000 rpm, mais il n'est pas rare de voir de petits blocs avec de bonnes cames en avoir sous le coude après 8000 .... (ces petits blocs ayant souvent un ecu qui les "brides")...
L'intérêt est d'avoir un ecu performant, STOCK, et un faisceau STOCK... Donc beaucoups de €€€ économisés.

;)

Auteur:  xsi-33 [ Lundi 05 Novembre 2007 10:14 ]
Sujet du message: 

Je comprend pas trop, mais t'as l'air d'avoir bossé dur :mrgreen:

Il y a pas mal de choses sur ton bureau, biere,café :dentier: et soupapes :roll:


Si j'ai bien compris(chose qui m'étonnerrais) t'es en train de faire une pure tuerie d'eprom :mrgreen:


Bon courage pour la suite ;)

Auteur:  Ced43 [ Lundi 05 Novembre 2007 10:17 ]
Sujet du message: 

Jam me surprendra toujours

Auteur:  jammaster [ Lundi 05 Novembre 2007 10:19 ]
Sujet du message: 

En gros, j'essaye de faire un ECU stock "PROGRAMMABLE" qui gère les 10000 rpms, le shift light et des maps plus précises...
Comme une haltech e6 ou sybelle challenger ;)

Auteur:  Redge [ Lundi 05 Novembre 2007 16:03 ]
Sujet du message: 

je risque de te contacter d'ici peu jam :)

moi j'en suis encore à chercher la position du regime max dans le .bin...

Apparemment le format n'est pas le meme dans le mp3.1 que dans les autres motronic...

Auteur:  jerems [ Mercredi 07 Novembre 2007 13:25 ]
Sujet du message: 

jammaster a écrit:
En gros, j'essaye de faire un ECU stock "PROGRAMMABLE" qui gère les 10000 rpms, le shift light et des maps plus précises...
Comme une haltech e6 ou sybelle challenger ;)


Salut, quand tu parle reprogrammable, tu parles en temps réel, avec modifications des cartos moteur tournant ?

Auteur:  jammaster [ Jeudi 08 Novembre 2007 20:55 ]
Sujet du message: 

...De retour du taff...
Fiuuu...
Je vais me remettre à taffer sur le motro, mais c'est assez chaud.
En TRES gros:
Le but principal est de faire un ECU "stock" sachant "gérer" une grande plage d'utilisation moteur avec beaucoup de précision. Le MP3.1 stock gère 7000rpm et à une précision de 500tr à peut près... De plus, la MAP de charge partielle est limité à 12x12... Ce qui fait un peu faiblard...
...

A l'heure actuelle, il est très facile de modifié les valeurs max des MAPs... (12x12, 7000 RPM qui devient 12x12, 9000 RPM par ex)...
Le problème est que j'aimerais avoir des MAPs plus grosse (23x10 et 46x1 pour la pleine charge).
...
Pour mieux comprendre la difficulté, il faut comprendre la base de l'ECU:
L'EPROM du MOTRONIC contient le code exécutable par le CPU (MCU dans son cas type i80c51 avec un poil de RAM en interne... Donc SIEMENS 15c515 dans le cas du MP3.1)...
Ce code est en fait la ROM de boot du système (64Ko puisqu'un 8bit ne sait adresser que 64ko soit)...
La première chose intéressante est que l'EPROM fait 256kBits (27C256) soit 32ko... J'ai entendu parlé de ROM en interne sur certains MCU siemens (dans les quelques fragments d'info que l'on trouve sur la toile).
Donc premier grosse galère: Est ce que le MCU de l'ECU à une ROM programmé en interne par BOSCH??? (32ko/256kbits manquant)
...
Pour en avoir le coeur net, un petit service serait déjà de comparer 2 MP3.1 différents comme le 203 et 217 des 106 non cata et cata... Les ouvrir et comparer les REFs des MCUs (SIEMENS B57828 B0266077 9108)
... Logiquement, si un microcode usine existerait, les refs changerait (puisque les 2 ECUS ont des MAPs placées différement)...
Si le MCU du MOTRONIC n'a pas de ROM embarqué, premier bon point.
...
Toujours dans l'idée de gérer des MAPs plus "viriles", un autre problème se pose:
Les MAPs "sotck" sont intercallées au milieu du code exécutable par le MCU... Dans la mesure où l'on conçoit ces MAPs comme de la DATA, elles ont une taille fixe (entête + paliers + valeurs max + données). Les modifier en taille reviendrait à effacé le code exécutable qui les suivent (!!!), donc altérer le fonctionnement propre du programme et donc de l'auto.
...
Une de première solution qui me viend à l'esprit est d'effectuer, à l'adresse de la MAP stock, un saut vers une adresse dans la zone libre de l'EPROM (pour y poser une MAP bien plus grosse)... S'en suit de cette nouvelle MAP, un retour "Après" le saut pour continuer le programme.
En assembleur, ça donne un LCALL pour le "Long jump à la subroutine" et un RET pour le "Return". (codé 12 xx xx pour le LCALL avec xx xx pour la nouvelle adresse et codé 22 pour le RET)...
Ca semble se tenir, mais:
Le programme du MCU (...de l'EPROM) va chercher de la "DATA" à ces adresses "stock" et non du "CODE"... donc un ICALL (12 xx xx) avec le reste de la MAP effacé (le RET à la fin de la nouvelle MÄP en zone libre renvois le programme après l'appel ICALL ;) ) ne serat pas "COMPRIS" par le programme car à cette endroit est sencé se trouver de la DATA et non du CODE :)
... Donc, retour en arrière pour l'instant!
...
Il me faut donc trouver où est le "DICTIONNAIRE" du programme qui contient toutes les adresses de DATA (MAPs)...
Grossièrement, ce dictionnaire n'a pas l'air d'exister vraiment...
En assembleur 8051, les adresses assimilé à de la DATA sont gérer de cette façon:
MOV DPTR, xxxx
MOV A, A+DPTR...
Où "xxxx" serait une adresse de DATA.
... Cool, on touche au but ...
Mais non :( . Il semblerait que le peu d'appel en DATA ne corresponde pas aux adresses des MAPs stock ...
Donc pour l'instant je but ...
Dans l'attente de comprendre comme le 80c51 gère cette DATA et comment l'adresses-t-il :) ?????


...
Wait and see

Auteur:  ShiNo [ Jeudi 08 Novembre 2007 21:10 ]
Sujet du message: 

J'ai réussi à suivre jusqu'à un peu plus de la moitier, puis ça m'as fait les yeux bleus :lolbis: reset de la cervelle :lolbis: .

Bon en tout cas, tu gère carément :bien: .

Auteur:  Ben RS Turbo [ Jeudi 08 Novembre 2007 21:26 ]
Sujet du message: 

La question que je me pose, c'est jusqu'à quel point le fait de placer des données sur la mémoire qui sert au calcul va réduire tes performances de calcul.

Si tu aggrandis ta carto mais que tu réduis trop la vitesse de calcul, l'extrapolation du calculo sera tout aussi 'mauvaise' qu'un 12 par 12 avec une vitesse de calcul meilleure.

J'ai bien compris qu'avec un moteur qui monte à 10000trs, tu souhaites avoir des points rapprochés afin de limiter le risque de casse par une gestion approximative, mais comme je ne suis pas électricien, je me demande a quel point ton idée va affaiblir la vitesse de calcul.


PS: un ami prend déjà 9000trs sur un TU 1400, il me semble qu'au dela c'était du gros gros matos qu'il fallait mettre pour ne pas avoir de souci. Tu as prévu quoi?

Auteur:  jammaster [ Jeudi 08 Novembre 2007 21:35 ]
Sujet du message: 

le mcu pédale à 12mhz ce qui fait 12 millions de cycle machine/sec.
Un moulin qui pédale à 10000tr/m pédale donc à 166 tr/sec.
Le motro effectut une injection par tour ce qui fait 6ms pour le calcul d'un cylce moteur... Soit 12000/6 donc 2000 cylce machine pour 1 cycle moteur. En comptant 2 cylces par mnémonique (certains 3), ça laisse 1000 opérations par cylce moteur ce qui tiens la route... ;)
...
Beaucoup de TUs peuvent prendre 8000 :) ... de Gros TU, 9000 et celui qui se monte à ma cave ... ;) et bien beacoups de RPM ;)
Même un bloc qui prends 9000 et qui se cale sur la dernière valeur da ta MAP qui s'arrête à 7000, ça fait un peu tâche ... (surout avec un GROS moteur soit disant préparer avec un ECU stock ;) )

Auteur:  jammaster [ Vendredi 09 Novembre 2007 0:43 ]
Sujet du message: 

Bonne nouvelle...
Après avoir retourner mon émulateur dans tous les sens:
Il semblerait que le "dictionnaire" contenant toutes les adresses des MAPs en ROM soit de #6300 à #63CB !
Grosse découverte car cela permetterais au programme de pointer ailleur les MAPs à utiliser et donc dans un espace entièrement personnel de la ROM ;)
(Et ça permet de voir qu'il y a une chi.. de MAPs de définies par PSA...)

La zone 51 (!) :

Image


Je sais qu'à l'adresse #6618 se trouve une MAP de pleine charge de 16x1 (fuel fct RPM)...
Je sais qu'elle est référencée (nommée) à l'adresse #6336 du dictionnaire.
Donc si dans ce dictionnaire, je spécifie une autre adresse pour la MAP en question, c'est gagné ;)



Les Zones de l'EPROM qui pourraient être utilisées:

Image

Image


...
Donc, il m'est possible d'utliser de "Grosses" MAPs... A savoir maintenant si l'ecu peut gérer des MAPs de + de 12x12 (limitation de la RAM internere du MCU) ... J'ai ma petite idée ;)

Wait and see...

Auteur:  ShiNo [ Vendredi 09 Novembre 2007 0:59 ]
Sujet du message: 

Eh ben! Ca avance encore bien ;) .

Va falloir éditer le titre du topic: motronic challenger :lolbis: .

Auteur:  Ced43 [ Vendredi 09 Novembre 2007 1:13 ]
Sujet du message: 

Ah ouai jam tu te fracasse la tete sur des composants de merde :lolbis:

Je pensais un peu come BenRs pour la vitesse de lecture
T'as demontré que y a avait de la marge tant mieux...
Pour ce qui est de l'adressage decalé cest clair que ca peut etre interessant pour pouvoir agrandir les maps et donc les points...
J'ai vu que tu voulais savoir les differences d'un calculo non cata/cata,je pense par une preuve technique que psa a une rom interne au calculo,j'avais en possesion une eprom de non cata qui donc marché tres bien en la montant direct sur un calculo de cata je dis bien direct le voyant diag s'allume(je dis direct car on pourrait penser que le calculo vois une richesse hors tolerance avec la lambda)je peux me planter totalemen aussi...sinon pour moi la grosse diff cata/non cata c'est 2 resistances montés sur la version non cata(resistance mini de richesse potar???)

ps bon travail ;)

Auteur:  jammaster [ Vendredi 09 Novembre 2007 15:44 ]
Sujet du message: 

Le MCU du MP3.1 n'a pas de rom interne et là, j'en suis quasi sûr @ 95%
...
Par contre pour les marelli, c'est une autre histoire.

Auteur:  Redge [ Jeudi 15 Novembre 2007 14:54 ]
Sujet du message: 

jammaster a écrit:
Il semblerait que le "dictionnaire" contenant toutes les adresses des MAPs en ROM soit de #6300 à #63CB !


belle decouverte ca
du coup, ya 102 map dans le l'eeprom origine de l'ax non cata ?
(j'ai trouvé 102 pointeurs hier dans cette zone).

Auteur:  jammaster [ Jeudi 15 Novembre 2007 18:46 ]
Sujet du message: 

vi, enfin je ne les ai pas comptés ;) ...
Vais essayé de pondre un soft en VB pour faire tout ça correctement ;)

Auteur:  jammaster [ Jeudi 15 Novembre 2007 18:58 ]
Sujet du message: 

vi va falloir que je me creuse ...
Un soft dédié au MP3.1, ça peut être bien cool ... Surtout pour ceux qui ont peur de sauter le cap de la reprog ;)

Auteur:  jammaster [ Jeudi 15 Novembre 2007 19:20 ]
Sujet du message: 

Pour l'avance, tu as un peu des courbes modèles... (angle d'attaque, régime d'avance max, type de carburant, pression de compression)
Pour l'injection, tu dimensionnes par rapport au type d'admission (plenum en S ou pipe high rpm etc...)... Tu dimensionnes aussi en fonction de l'accord acoustique...
Donc, l'idéal est de faire un soft qui te permet de faire des MAPs précalculés en fonction d'une description moteur (RFA, AOE, levées, admi, echap, longueurs, course, alésage, injecteurs, pression de rampe ... Etc). A l'utilisateur de paufiner les MAPs faites ;) ...

Auteur:  Redge [ Jeudi 15 Novembre 2007 20:34 ]
Sujet du message: 

jammaster a écrit:
Donc SIEMENS 15c515 dans le cas du MP3.1)...


80c515 plutot
http://www.hit-karlsruhe.de/Walter/Lehr ... /p515c.pdf

tu noteras qu'il y a un bus CAN ;)
et je voudrais bien ecouter ce qui se dit dessus.
T'aurais pas deja reperé les prises correspondantes dans l'habitacle moteur de l'ax/106 ?
J'ai deja essayé d'espionner à l'oscillo les prises qui trainent mais jamais vu de trame passées :/

Auteur:  jerems [ Jeudi 15 Novembre 2007 20:36 ]
Sujet du message: 

jammaster, la gestion que tu souhaites refaire, tu vas reprogrammer comment? directement l'eprom ou alors tu comptes passer par la ligne K ?

Page 1 sur 2 Heures au format UTC + 1 heure
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/