Skocz do zawartości

Tajemnice ECU


tomiwroc6

Rekomendowane odpowiedzi

Aby poznać działanie procesora 68HC11, w naszych ECU proponuje chociaż przez chwile zastanowić się, jak by samemu próbować rozwiązać sterowanie pracą silnika.

Ogólnie problem sprowadza się do śledzenia położenia tłoków, oraz w odpowiednich momentach należy wtrysnąć do cylindrów dawkę paliwa, lub wywołać zapłon mieszanki już tam się znajdującej.

Teoria wydaje się mało skomplikowane, ale jak by przejść do praktyki...

Do określenia położenia tłoków przyjęło się stosowanie czujników tzw. GMP ( położenia wału ). Do wału silnika przykręcone jest koło posiadające zęby co 6 stopni, z przerwą na 2 zęby.

Dzięki takiemu rozwiązaniu możliwe jest określenie położenia cylindrów z dokładnością do 6 stopni. Dużo to czy mało ? Na początek musi wystarczyć.

Zakładając że znamy położenie przerwy w zębach względem pozycji tłoków, moglibyśmy już w dość prymitywny sposób pokusić się o próbę ożywienia silnika. Jak zapewne wiadomo nasze silniki są cztero-suwowe, co to oznacza dla nas w praktyce - wyznaczone zadanie ( zapłon , lub wtrysk ) będziemy realizować co drugi skok tłoka, naprzemiennie dla pary cylindrów. tj.

Jeżeli 1-3 tłok idzie w górę, a w cylindrze znajduje się już mieszanka, przed GMP ( szczytowym położeniem tłoka ), należy wykonać zapłon.

Teraz przy zejściu w dół tłok wykonuje pracę, a następnie przy podejściu w górę wypychane są z tłoka spaliny.

Przy następnym suwie ( w dół ) do cylindra będzie zasysana mieszanka, więc chwilę wcześniej należy wtrysnąć ja do kolektora dolotowego.

Tak to wygląda :

(z) - zapłon , (w) - wtrysk

Kierunek tłoka--: góra.......dół...................góra......................dół

Akcja 1-3--------: (z)..........(w) +praca......(w).........................zasysanie

Akcja 2-4--------: praca....(w)...................(w)+zasysanie.....(z)

Jak widać ze schematu działanie będzie podejmowane dla jednych cylindrów przy ruchu tłoka w górę, a dla drugiej pary w dół. Teraz posiadając odpowiednie urządzenie można je zaprogramować w taki sposób by przy określonym kącie przed GMP wykonywało zapłon na odpowiednich cylindrach, i wtryskiwało paliwo.

Jeden minus to dokładność zapłonu co do kąta wyprzedzenia - co 6 stopni to zdecydowanie niezadowalająca wartość. Jak by to usprawnić. Chwila zastanowienia i... przecież dzięki czujnikowi GMP możemy określić prędkość obrotową silnika i za pomocą prostych wyliczeń dla ząbka z odpowiednim wyprzedzeniem wyliczyć czas kiedy należy wykonać zapłon. Tak, można to zdanie przeczytać dowolną ilość razy i za każdym wiedzieć mniej.... przyjrzyjmy się więc temu dokładniej :

Załóżmy czas obrotu silnika na 10ms, co daje: 1000ms(1 sec) / 10ms = 100 (obrotów na sekundę) * 60sec = 6000 obr/min. Zapłon przewidujemy na 45 stopni przed GMP.

Dla uproszczenia załóżmy że czekamy na ząbek 90 stopni przed GMP.

Jeżeli znamy teraz dokładny czas przejścia tego ząbka, i "prędkość" silnika, możemy wyliczyć czas kiedy będzie 45 stopni do GMP.

X - kąt który nas interesuje

T - czas wystąpienia ząbka na 90 stopni przed GMP

V - czas jednego obrotu wału ( ms )

czas_zapłon = T + (90 - X) * (V/360)

dla naszego przypadku do T należy dodać (90-45)*(100/360) = 45 * 0,278 = 12,51ms.

Sprawdźmy : przebyty dystans to 45 stopni czyli 1/8 obrotu = 12,51 * 8 = 100,8ms czyli czas pełnego 1 obrotu.

Co do czasu wtrysku to można założyć stałe położenie rozpoczęcia, a jego czas nie wymaga już żadnych specjalnych obliczeń.

Ok, w dość dużym skrócie ( przepraszam specjalistów za ogromne uproszczenia ), ustaliliśmy jak można by sterować silnikiem. Teraz spróbujmy określić minimalne zdolności jakie musi posiadać urządzenie które będzie spełniało to zadanie.

1. Musimy umieć zliczać impulsy,

2. Sterować włączaniem / wyłączaniem prądu

3. Możliwością zliczania czasu z dużą dokładnością.

To są minimalne wymagania, które jak się w kolejnych odcinkach zresztą przekonamy, 68HC11 posiada, jak i sporo innych równie przydatnych.

Przejdźmy zatem do poznawania naszej "zabawki".

Tak jak każde urządzenie zarówno mechanicznie lub elektroniczne, 68HC11 może wykonywać różne czynności, w przypadku procesora jednak są to głównie obliczenia matematyczne. Jednak każda czynność musi być określona przez programiste. Ciąg instrukcji czynności do wykonania nazywa sie kodem maszynowym, jest to ciąg liczb dla człowiek raczej nie zrozumiałych, więc wymyślono zamiennik który przedstawia po kolei każda z czynności, jednak za pomocą w miarę zrozumiałych słów ( instrukcji ), wraz z parametrami. ( Za chwile przykład który myślę sporo wyjaśni ).

Aby wykonywać jakiekolwiek operacje matematyczne, musimy mieć miejsce na przechowywanie liczb. Dla procesora są to rejestry - 68HC11, posiada rejestry :

8bitowe nazwane A i B ( w których możemy przechowywać wartości 0..255 ). A i B tworzą razem rejestr D, co daje zamiast dwóch liczb 8bit, jedna 16bit (0...65535).

16bitowe X,Y.

plus oczywiście pamięć wewnętrzną ( 1024 bajty ), na przechowywanie wyników obliczeń.

Teraz poznamy podstawowe możliwości procesora, jak załadowanie konkretnej wartości do rejestrów ( rozkazy w języku assembler ) :

dla A ldaa _wartość_, ldab, ldx, ldy dla kolejnych.

Wczytywać również można wartości z komórek pamięci ( jak i zapisywać ). Zapis : staa, stab,std, stx ,sty.

Podstawowe działania jak dodawanie addd _komórka ,adx,ady , dodanie do rejestru wartości z ramu.

Przykład :

ldaa 10

ldab 40

staa $0

stab $1

ldd 10

addd $0

std $2

czyli "po polsku", wczytujemy do A wartość 10, do B 40. Zapisujemy wartości do ramu pod adres 0=10 , 1=40. Następnie do D czyli (A:B) wczytujemy 10, i dodajemy tą wartość do komórki 0. ( ponieważ rejestr D jest 16bit to dodawanie też, czyli brana jest liczba 16bit z komórek 0 i 1 ) czyli praktycznie 10*256+40 + 10 = 2610. Taka wartość zostaje zapisana do komórek 2 i 3. Na koniec mamy :

A:10

B:50

[$0] = 10

[$1] = 40

[$2] = 10

[$3] = 50

Podane działania wynikają z matematyki dziesiętnej i szesnastkowej. Dokładniejsze objaśnienia znajdą się być może w kolejnych odcinkach.

To chyba tyle odnośnie wstępu do tematu. Wiem że wszystko zostało omówione, bardzo ogólnie, ale myślę że w kolejnych odcinkach, na konkretnych przykładach, wszystko zostanie dokładniej i po kolei przedstawione.

Podsumowując, do sterowania silnikiem wcale nie jest potrzebne bardzo zaawansowane urządzenie, procesor 68HC11, w zupełności wystarczy, dodatkowo wykonuje masę innych zadań pomocniczych.

W zakresie używalności możemy na niego spojrzeć jak na urządzenie które potrafi wykonywać zlecone za pomocą kodów czynności.

Większość prezentowanego kodu będzie się skupiała na operacjach matematycznych ( na liczbach 16,10,2 bitowych, jak i zależności między nimi). Więc jakieś krótkie powtórki dla osób które chcą się podszkolić są raczej nieodzowne.

Tutaj dla chętnych pełna specyfikacja procesora. Na stronie 33 pełny wykaz instrukcji procesora.

Parę użytecznych uwag na temat kodu znajdującego się w naszych ECU i jego przetwarzaniu już wkrótce.

Za wszystkie błędy merytoryczne przepraszam, i każdy wykazany natychmiast będę poprawiał.

Linki :

Część I

Część II

Odnośnik do komentarza
Udostępnij na innych stronach

ja mam takie dwa pytania, troce laickie ale prosze nie besztac i sie nie smiac bo sie nie znam zeby.GIF

1. czy nie powinno być czasem tłok 1-4 i 2-3, bo chyba tak sa ułożone tłoki w naszych silnikach z tego co widziałem?

2. zawsze zastanawiało mnie jedno. koło z ząbkami znajduje się na wale, tak? a w silniku 4 suwowym na jeden cykl pracy w danym cylindrze przypadają dwa obroty wału czyli nasze kolko z ząbkami obraca się za ten czas o 720 stopni. Zalozmy, ze zaplon nastepuje przy przejsciu ząbka X przed czujnikiem, o ile silnik pracuje to zapłon jest realizowany naprzemniennie w cylindrach, raz w cylindrach 1-4, raz w 2-3. Ale gdy odpalamy silnik, to skad komputer wie w których cylindrach ma nastąpić zapłon najpierw, przy przejsciu przez nasz ząbek X, czy w 1-4 czy 2-3, bo przeciez czujnik na wale daje mu informacje w jakim polozeniu jest wał, a nie jaki cykl pracy powinien nastapic dla danego cylindra. Prosciej mowiac, skad komputer wie ze np. tłok pierwszy idać w góre wykonuje aktualnie suw spręzania, a nie suw wypychania spalin z cylindra. Gdyby kolko i czujnik byly na wałku rozrządu to to by było dla mnie zrozumiałe, a tak nie moge pojać.

Odnośnik do komentarza
Udostępnij na innych stronach

> ja mam takie dwa pytania, troce laickie ale prosze nie besztac i sie

> nie smiac bo sie nie znam

> 1. czy nie powinno być czasem tłok 1-4 i 2-3, bo chyba tak sa

> ułożone tłoki w naszych silnikach z tego co widziałem?

> 2. zawsze zastanawiało mnie jedno. koło z ząbkami znajduje się na

> wale, tak? a w silniku 4 suwowym na jeden cykl pracy w danym

> cylindrze przypadają dwa obroty wału czyli nasze kolko z ząbkami

> obraca się za ten czas o 720 stopni. Zalozmy, ze zaplon

> nastepuje przy przejsciu ząbka X przed czujnikiem, o ile silnik

> pracuje to zapłon jest realizowany naprzemniennie w cylindrach,

> raz w cylindrach 1-4, raz w 2-3. Ale gdy odpalamy silnik, to

> skad komputer wie w których cylindrach ma nastąpić zapłon

> najpierw, przy przejsciu przez nasz ząbek X, czy w 1-4 czy 2-3,

> bo przeciez czujnik na wale daje mu informacje w jakim polozeniu

> jest wał, a nie jaki cykl pracy powinien nastapic dla danego

> cylindra. Prosciej mowiac, skad komputer wie ze np. tłok

> pierwszy idać w góre wykonuje aktualnie suw spręzania, a nie suw

> wypychania spalin z cylindra. Gdyby kolko i czujnik byly na

> wałku rozrządu to to by było dla mnie zrozumiałe, a tak nie moge

> pojać.

wg mnie to aparat zaplonowy -jak gasisz silnik to jego palec zostaje w polozeniu danego tloka i pozniej przy odpalaniu wszystko pracuje synchronicznie i tak w kółko

Odnośnik do komentarza
Udostępnij na innych stronach

Przydało by się zapoznać z naszym uC 68HC11F1VFN4 bardziej wizualnie

68hc11f1aa.jpg

tak maleństwo wygląda po wyciągnięciu z płytki

Co do obracania się wału to nie wał obraca się o 720 stopnie tylko wałek w głowicy kręci się o 2 razy wolniej niż wał korbowy i z tego wynika że zawsze przerwa na kółku fonicznym wypadnie w tym samym miejscu położenia tłoka. I nie po to ustawia się rozrząd na znaki żeby wałek w głowicy był odpowiednio ustawiony.

Odnośnik do komentarza
Udostępnij na innych stronach

> 1. czy nie powinno być czasem tłok 1-4 i 2-3, bo chyba tak sa

> ułożone tłoki w naszych silnikach z tego co widziałem?

Akurat od strony mechanicznej moja wiedza jest <=0 wink.gif, jak ktoś potwierdzi to oczywiście poprawie.

> 2. To jest bardzo ciekawy problem, z którego sam dopiero niedawno zdałem sobie sprawę, i niestety sam nie mogę znaleźć odpowiedzi na to pytanie, bo wszystko zgadza sie z wypowiedzią kolegi. Czujnik na wałku rozrządu by załatwił sprawę, jednak nie ma czegoś takiego.

Jak dla mnie jedynym rozwiązaniem jest mechaniczne zatrzymywanie silnika zawsze w tym samym położeniu ( fazie ). Ale czy tak jest to nawet sam czekam na wypowiedź któregoś ze specjalistów na forum wink.gif.

> ja mam takie dwa pytania, troce laickie ale prosze nie besztac i sie

> nie smiac bo sie nie znam

Jak widać pytanie wcale nie banalne, widać że kolega rozważył dokładnie problem wink.gif.

Odnośnik do komentarza
Udostępnij na innych stronach

> Przydało by się zapoznać z naszym uC 68HC11F1VFN4 bardziej wizualnie

> tak maleństwo wygląda po wyciągnięciu z płytki

podobny do procesora z Amigi 1200, tam tez byla Motorola, tylko MC68EC020, pewnie to podobne typy procesora

> Co do obracania się wału to nie wał obraca się o 720 stopnie tylko

> wałek w głowicy kręci się o 2 razy wolniej niż wał korbowy i z

> tego wynika że zawsze przerwa na kółku fonicznym wypadnie w tym

> samym miejscu położenia tłoka. I nie po to ustawia się rozrząd

> na znaki żeby wałek w głowicy był odpowiednio ustawiony.

nie no bede sie upieral przy tych 720 stopniach: tłok jest w gornym polozeniu, suw ssania i idzie w dol, wal obraca sie o 180 stopni, sprezanie, tlok w gore, kolejne 180 stopni, zaplon, tłok w dol i 180 stopni znow, wydech, tlok w gore i kolejne 180, czyli 4 razy po 180 daje 720, co oznacza dwa obroty. Wałek rozrządu obraca sie dwa razy wolniej, to prawdam czyli za ten cały cykl zrobil by jeden obrot 360 i gdyby tam sie znajdował czujnik z kolkiem to ok. Ale kolko i czujnik znajdują sie na wale korbowym.

4-Stroke-Engine.gif

Odnośnik do komentarza
Udostępnij na innych stronach

> podobny do procesora z Amigi 1200, tam tez byla Motorola, tylko

> MC68EC020, pewnie to podobne typy procesora

> nie no bede sie upieral przy tych 720 stopniach: tłok jest w gornym

> polozeniu, suw ssania i idzie w dol, wal obraca sie o 180

> stopni, sprezanie, tlok w gore, kolejne 180 stopni, zaplon, tłok

> w dol i 180 stopni znow, wydech, tlok w gore i kolejne 180,

> czyli 4 razy po 180 daje 720, co oznacza dwa obroty. Wałek

> rozrządu obraca sie dwa razy wolniej, to prawdam czyli za ten

> cały cykl zrobil by jeden obrot 360 i gdyby tam sie znajdował

> czujnik z kolkiem to ok. Ale kolko i czujnik znajdują sie na

> wale korbowym.

Mozna wykorzystac czujnik i dekielek w naszej glowicy 8v i zaimportowac tam rozwiązanie podobne jak w fiacie Grande punto z silnikiem 1,4 8v gdzie komp czyta sobie w danym momencie połozenie kątowe wałka ok.gif

U nas co prawda nie ma zmiennych faz rozrządu tak jak posiada takowy motor ale rozwiązanie techniczno-elektroniczne moze byc pomocne smile.gif

Podobnie lecz prosciej wykonane sa silniki 1.1 i 1,2 MPI 8v ...posiadamy dodatkowy czujnik i ciut inne kółko rozrządu ok.gif

PS mozna iść wariantem b jest prostrzy zlosnik.gif to gdzie wsadzimuy czujnik i jakie kółko zaprojektujemy to juz nasze widzimisie.

Odnośnik do komentarza
Udostępnij na innych stronach

> 2. zawsze zastanawiało mnie jedno. koło z ząbkami znajduje się na

> wale, tak? a w silniku 4 suwowym na jeden cykl pracy w danym

> cylindrze przypadają dwa obroty wału czyli nasze kolko z ząbkami

> obraca się za ten czas o 720 stopni. Zalozmy, ze zaplon

> nastepuje przy przejsciu ząbka X przed czujnikiem, o ile silnik

> pracuje to zapłon jest realizowany naprzemniennie w cylindrach,

> raz w cylindrach 1-4, raz w 2-3. Ale gdy odpalamy silnik, to

> skad komputer wie w których cylindrach ma nastąpić zapłon

> najpierw, przy przejsciu przez nasz ząbek X, czy w 1-4 czy 2-3,

> bo przeciez czujnik na wale daje mu informacje w jakim polozeniu

> jest wał, a nie jaki cykl pracy powinien nastapic dla danego

> cylindra. Prosciej mowiac, skad komputer wie ze np. tłok

> pierwszy idać w góre wykonuje aktualnie suw spręzania, a nie suw

> wypychania spalin z cylindra. Gdyby kolko i czujnik byly na

> wałku rozrządu to to by było dla mnie zrozumiałe, a tak nie moge

> pojać.

A czy nie jest przypadkiem tak, ze gdy tloki 1-4, 2-3 sa w gorze to w obydwoch nastepuje zaplon bez wzgledu na to czy w cylindrze jest mieszanka czy spaliny?? Przeciez spaliny sie nie zapala, ewentualnie dopala w razie W i bedzie git. Zreszta nie wyobrazam sobie jak zaplon np. w cylindrach 1-4 moze wystapic tylko w jednym z nich skoro sa one "podlaczone" do jednej cewki, ktora daje wysokie napiecie na dwie swiece. Chyba ze sie myle to poprawcie.

Odnośnik do komentarza
Udostępnij na innych stronach

> A czy nie jest przypadkiem tak, ze gdy tloki 1-4, 2-3 sa w gorze to w

> obydwoch nastepuje zaplon bez wzgledu na to czy w cylindrze jest

> mieszanka czy spaliny?? Przeciez spaliny sie nie zapala,

> ewentualnie dopala w razie W i bedzie git. Zreszta nie wyobrazam

> sobie jak zaplon np. w cylindrach 1-4 moze wystapic tylko w

> jednym z nich skoro sa one "podlaczone" do jednej cewki, ktora

> daje wysokie napiecie na dwie swiece. Chyba ze sie myle to

> poprawcie.

Jest tak jak piszesz że tłoki 1-4 i 2-3 mają razem iskrę ale chodzi o to jak ECU wie że ma zrealizować zapłon gdy tłok 1-4 jest przed GMP i spręża mieszankę a nie wydmuchuje spaliny

Odnośnik do komentarza
Udostępnij na innych stronach

Podepne sie tutaj, chyba najlepsze miejsce. Szukam w necie od 2 dni i juz troche wiem, ale dalej nie wszystko. Chodzi o samodzielne remapowanie ecu.

1. Czy euroscan (i jego oprogramowanie) sie do tego nadaje? Zadam pytanie inaczej: nie oczekuje interfejsu z pieknymi wykresami map, itp. Mozliwosc czytania i pisania po eepromie powinna wystarczyc, pod warunkiem, ze ktos mi jeszcze powie, jaka jest mapa pamieci ecu i jak te mapy sa zakodowane (patrz tez punkt 3.)

2. Jezeli nie euroscan to czego sie do tego uzywa?

3. Szukam tez dokumentacji interfejsu komunikacyjnego. Znalazlem opis interfejsu tylko diagnostycznego, nie ma tam polecen to zczytywania eepromu czy map.

Odnośnik do komentarza
Udostępnij na innych stronach

> Jest tak jak piszesz że tłoki 1-4 i 2-3 mają razem iskrę ale chodzi

> o to jak ECU wie że ma zrealizować zapłon gdy tłok 1-4 jest

> przed GMP i spręża mieszankę a nie wydmuchuje spaliny

no wlasnie w silnikach z czujnikiem tylko na kole fonicznym wału korbowego ECU podaje sygnał do obu tłoków do tego co spręża i do tego co wydmuchuje spaliny.

Odnośnik do komentarza
Udostępnij na innych stronach

> no wlasnie w silnikach z czujnikiem tylko na kole fonicznym wału

> korbowego ECU podaje sygnał do obu tłoków do tego co spręża i do

> tego co wydmuchuje spaliny.

to po co osobne cewki do 1-4 2-3?

no raczej nie bardzo tak jak, bo załozmy ze w cylindrach 1-4 mamy sprezanie, a w 2-3 wydech, to ok, iskra idzie we wszystkich i nic sie nie dzieje, ale gdy w cylindrach 2-3 mamy potem sprezanie to w 1-4 jest zasysanie mieszanki.

Odnośnik do komentarza
Udostępnij na innych stronach

> Podepne sie tutaj, chyba najlepsze miejsce. Szukam w necie od 2 dni i

> juz troche wiem, ale dalej nie wszystko. Chodzi o samodzielne

> remapowanie ecu.

> 1. Czy euroscan (i jego oprogramowanie) sie do tego nadaje? Zadam

> pytanie inaczej: nie oczekuje interfejsu z pieknymi wykresami

> map, itp. Mozliwosc czytania i pisania po eepromie powinna

> wystarczyc, pod warunkiem, ze ktos mi jeszcze powie, jaka jest

> mapa pamieci ecu i jak te mapy sa zakodowane (patrz tez punkt

> 3.)

> 2. Jezeli nie euroscan to czego sie do tego uzywa?

> 3. Szukam tez dokumentacji interfejsu komunikacyjnego. Znalazlem opis

> interfejsu tylko diagnostycznego, nie ma tam polecen to

> zczytywania eepromu czy map.

Masz człowieku fantazje :0 a przez 2 dni to raczej nic nie znalazłeś.

1 - Euroscan służy do diagnozy, czyli możemy sobie popatrzeć czy wszystkie czujniki prawidłowo działają i możemy wykasować błędy jeżeli takowe są

2 - Mapa pamięci jest opisana w dokumentacji Motoroli

3 - Jak wyobrażasz sobie zapis do Eproma i to jeszcze poprzez interfejs taki jak Euroscan

4 - Zajrzyj do sterownika, popatrz co tam jest i dojdź do odpowiednich wniosków, tak będzie szybciej

5 - Google nie działa czy co ?

Odnośnik do komentarza
Udostępnij na innych stronach

> to po co osobne cewki do 1-4 2-3?

> no raczej nie bardzo tak jak, bo załozmy ze w cylindrach 1-4 mamy

> sprezanie, a w 2-3 wydech, to ok, iskra idzie we wszystkich i

> nic sie nie dzieje, ale gdy w cylindrach 2-3 mamy potem

> sprezanie to w 1-4 jest zasysanie mieszanki.

Przy założeniu że iskra jest podawana zarówno przy sprężaniu jak i wydechu to sprawa jest wyjaśniona waytogo.gif.

Dwie cewki potrzebne są ponieważ zapłon występuje tylko na jednej cewce,tej przy GMP pary tłoków, a wtedy druga para tłoków jest w DMP, i na nich zapłonu nie może być. Po zamianie pozycji par tłoków miejscami następuje zapłon na drugiej cewce. waytogo.gif

Odnośnik do komentarza
Udostępnij na innych stronach

> 3 - Jak wyobrażasz sobie zapis do Eproma i to jeszcze poprzez

> interfejs taki jak Euroscan

Skoro już pojawił się taki temat, to dam się trochę pociągnąć za język wink.gif, ale konkrety pojawią się niestety nie za szybko, bo póki co to projekt nie jest jeszcze nawet w fazie testów.

W skrócie, ponieważ mapy znajdują się w ROM-ie ( zewnętrzny eeprom ), to sprawa wydaje się beznadziejna, jednak to nie jest ostatnie słowo, program sterujący zostawia trochę wolnej pamięci RAM, więc teoretycznie wink.gif, można tam przenieść jedną mapę.

Teraz kwestia druga ( o tym możliwe że już niedługo ), trzeba by zastąpić wbudowany program obsługi komunikacji, na taki który odbiera dane i zapisuje je w RAM-ie, (nie) przypadkowo wink.gif w miejscu gdzie przenieśliśmy którąś z map.

Zaletą jest odpadnięcie jakiejkolwiek zabawy z emulatorami. Przeszkodą mała ilość wolnej pamięci, aczkolwiek 1.2 posiadają z tego co mi wiadomo pamięć sram zewnętrzną, więc tam może być łatwiej. Jednak szczegółów nie znam.

Jeszcze dopowiem koledze Woj76 , wydaje mi się że ze stworzonego tematu wynika jasno że dane znajdują się w Eepromie, więc jakiekolwiek zmiany poprzez procesor są niemożliwe, jedynym rozwiązaniem mogą być zewnętrzne emulatory takich pamięci.

Co do protokołu to być może napiszę co nieco niedługo, co przy sporym wkładzie własnym pozwoli rozpracować ten problem.

Odnośnik do komentarza
Udostępnij na innych stronach

> W skrócie, ponieważ mapy znajdują się w ROM-ie ( zewnętrzny eeprom ),

> to sprawa wydaje się beznadziejna, jednak to nie jest ostatnie

> słowo, program sterujący zostawia trochę wolnej pamięci RAM,

> więc teoretycznie , można tam przenieść jedną mapę.

> Teraz kwestia druga ( o tym możliwe że już niedługo ), trzeba by

> zastąpić wbudowany program obsługi komunikacji, na taki który

> odbiera dane i zapisuje je w RAM-ie, (nie) przypadkowo w

> miejscu gdzie przenieśliśmy którąś z map.

> Zaletą jest odpadnięcie jakiejkolwiek zabawy z emulatorami.

> Przeszkodą mała ilość wolnej pamięci, aczkolwiek 1.2 posiadają z

> tego co mi wiadomo pamięć sram zewnętrzną, więc tam może być

> łatwiej. Jednak szczegółów nie znam.

Ja nie widzę w 1.2 żadnego sramka smile.gif

> Jeszcze dopowiem koledze Woj76 , wydaje mi się że ze stworzonego

> tematu wynika jasno że dane znajdują się w Eepromie, więc

> jakiekolwiek zmiany poprzez procesor są niemożliwe, jedynym

> rozwiązaniem mogą być zewnętrzne emulatory takich pamięci.

> Co do protokołu to być może napiszę co nieco niedługo, co przy sporym

> wkładzie własnym pozwoli rozpracować ten problem.

A może przydało by się przybliżyć budowę sterownika

ecu1100.jpg

Eprom wygląda tak

27c512.jpg

I można go odczytać na przykład Willemem

willem7.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

> Ja nie widzę w 1.2 żadnego sramka

ECU na przedstawionym zdjęciu wygląda jak 1.1, moja informacja dotyczy ECU od 1.2 75km który posiadam i tam jest na 100% taki układ co widać w kodzie i na płytce również znajduje się dodatkowa kość ( dość duża w porównaniu z innymi elementami, z wyjątkiem procesora oczywiście wink.gif ). Co do sramu to może przesadziłem, bo po nazwie układu nie mogłem znaleźć żadnego datasheet-u do niego, jednakże po sposobie jego wykorzystania w kodzie, wygląda że spełnia on funkcje zewnętrznej równoległej pamięci. A ze specyfikacji 68HC11 wynika że potrafi on obsługiwać jedynie układy z najprostszym sposobem zapisu.

Nie wiedziałem że do 1.2 mogą być różne ECU.

> A może przydało by się przybliżyć budowę sterownika

Niestety od strony hardware-u nie posiadam żadnych informacji i raczej sam nie jestem w stanie rozpracować połączeń na płytce. Chociaż bardzo by to było przydatne.

Odnośnik do komentarza
Udostępnij na innych stronach

> ECU na przedstawionym zdjęciu wygląda jak 1.1, moja informacja

> dotyczy ECU od 1.2 75km który posiadam i tam jest na 100% taki

> układ co widać w kodzie i na płytce również znajduje się

> dodatkowa kość ( dość duża w porównaniu z innymi elementami, z

> wyjątkiem procesora oczywiście ). Co do sramu to może

> przesadziłem, bo po nazwie układu nie mogłem znaleźć żadnego

> datasheet-u do niego, jednakże po sposobie jego wykorzystania w

> kodzie, wygląda że spełnia on funkcje zewnętrznej równoległej

> pamięci. A ze specyfikacji 68HC11 wynika że potrafi on

> obsługiwać jedynie układy z najprostszym sposobem zapisu.

> Nie wiedziałem że do 1.2 mogą być różne ECU.

> Niestety od strony hardware-u nie posiadam żadnych informacji i

> raczej sam nie jestem w stanie rozpracować połączeń na płytce.

> Chociaż bardzo by to było przydatne.

Ten na tamtej fotce to 1.1

Co do 1.2 to sa 2 wersje iaw 8f.** i iaw 18f.

Mam fotkę 1.2 16v bo tylko to mi wpadło na szybko pod rękę

1216v.jpg

Mówisz o tym układzie pomiędzy motką a epromem że to jest sram ?

Odczytałem z niego GSCT38318FC05

Odnośnik do komentarza
Udostępnij na innych stronach

Mam pytanie odnośnie Epromów...w naszych sterownikach...

Ten co pokazałeś to jest EPROM (konsowanie promieniami UV), a ja natomiast mam w swoim 1.2 EEPROM ( bez okienka w obudowie) i też o identycznym nr M27C512

Jakie fabryka stosowała kości ? Obydwa rodzaje? czym się różnią?

Chyba eeprom lepszy...bo można go np wyczyścić za pomocą tego programatora co podałeś hmm.gif

Odnośnik do komentarza
Udostępnij na innych stronach

> Masz człowieku fantazje :0 a przez 2 dni to raczej nic nie znalazłeś.

Fantazje owszem mam, nie przecze, ale tak trzeba jak sie jest programista (miedzy innymi, problem tylko, ze z hardwarem u mnie slabo). I faktycznie przez dwa dni nic nie znalazelm, szukam, googluje i slabo mi to idzie. Ewidentnie zle szukam, a z drugiej strony patrzac po odpowiedziach ktore dostalem nie jest to wiedza powszechna 893goodvibes.gif

> 1 - Euroscan służy do diagnozy, czyli możemy sobie popatrzeć czy

> wszystkie czujniki prawidłowo działają i możemy wykasować błędy

> jeżeli takowe są

Tyle to juz wiem.

> 2 - Mapa pamięci jest opisana w dokumentacji Motoroli

O, i tu juz gdzies zachodzimy.

> 3 - Jak wyobrażasz sobie zapis do Eproma i to jeszcze poprzez

> interfejs taki jak Euroscan

Wyobrazam sobie to tak, ze interfejs diagnostyczny ecu udostepnia funkcje odczytu i zapisu komorek pamiec. Moze mnie fantazja ponosi, ale na pewno technicznie jest to mozliwe (no dobra sa pewne przeszkody, bo eepromy trzeba pisac calymi blokami po iles tam bajtow, a interfejs diagnostyczny jest w tej kwesti bardzo ograniczony, tak czy owak fantazja robi swoje zeby.GIF).

> 4 - Zajrzyj do sterownika, popatrz co tam jest i dojdź do

> odpowiednich wniosków, tak będzie szybciej

Fizycznie do ecu domniemam. O, i tu dochodzimy dalej, rzeczy sie rozjasniaja.

> 5 - Google nie działa czy co ?

Dziala, dziala, az mi sie zlacze przegrzewa, patrz punkt pierwszy.

Dobra, pojade dalej bezczelnie, ma kto jakie gotowe linki, czy odsylacie mnie znowu do googla? smile.gif

Odnośnik do komentarza
Udostępnij na innych stronach

> Mam pytanie odnośnie Epromów...w naszych sterownikach...

> Ten co pokazałeś to jest EPROM (konsowanie promieniami UV), a ja

> natomiast mam w swoim 1.2 EEPROM ( bez okienka w obudowie) i też

> o identycznym nr M27C512

> Jakie fabryka stosowała kości ? Obydwa rodzaje? czym się różnią?

> Chyba eeprom lepszy...bo można go np wyczyścić za pomocą tego

> programatora co podałeś

27C512 jest w wersji z okienkiem i można go kasować promieniami UV i w wersji bez okienka i on nie jest kasowalny (można nagrać tylko 1 raz)

Odnośnik do komentarza
Udostępnij na innych stronach

> 27C512 jest w wersji z okienkiem i można go kasować promieniami UV i

> w wersji bez okienka i on nie jest kasowalny (można nagrać tylko

> 1 raz)

ok rozumiem czyli jak jest raz zapisany to dupa... nie można tego już zmienić...

Dzięki za wyklarowanie waytogo.gif

Odnośnik do komentarza
Udostępnij na innych stronach

> Jeszcze dopowiem koledze Woj76 , wydaje mi się że ze stworzonego

> tematu wynika jasno że dane znajdują się w Eepromie, więc

> jakiekolwiek zmiany poprzez procesor są niemożliwe,

Moment moment, dlaczego niemozliwe. W kartach chipowych tez stosuje sie eeprom i tam proc po nim pisze ze hej, do tego w blokach o dowolnej dlugosci jezeli mowimy o poziomie programisty (bo co robi system operacyjny karty to juz jest zupelnie inna bajka). No chyba, ze w ecu jest pamiec Eprom a nie EEprom, to przepraszam bardzo. Ale tak jak powiedzialem, hardware to nie moja specjalnosc wink.gif

Odnośnik do komentarza
Udostępnij na innych stronach

> Moment moment, dlaczego niemozliwe. W kartach chipowych tez stosuje

> sie eeprom i tam proc po nim pisze ze hej, do tego w blokach o

> dowolnej dlugosci jezeli mowimy o poziomie programisty (bo co

> robi system operacyjny karty to juz jest zupelnie inna bajka).

> No chyba, ze w ecu jest pamiec Eprom a nie EEprom, to

> przepraszam bardzo. Ale tak jak powiedzialem, hardware to nie

> moja specjalnosc

To ja specjalnie fotki robiłem żeby można było sobie zobaczyć jaki jest eprom

Odnośnik do komentarza
Udostępnij na innych stronach

Wszyscy piszecie szybciej niz ja jestem w stanie czytac. Rozjasnia mi sie juz troche. Z pamiecia eprom dupa zimna. Procedura remapwania w takim razie wygladala by tak - wyjmujemy kostke eprom, zczytujemy ja, kupujemy kostke eeprom o tej samej wielkosci, zapisujemy na niej zmodyfikowany program/mapy, ladujemy z powrotem i jazda. Czy nie da sie wlozyc eepromu zamiast epromu i trzeba programowac eprom (raz a dobrze)?

Odnośnik do komentarza
Udostępnij na innych stronach

> Wszyscy piszecie szybciej niz ja jestem w stanie czytac. Rozjasnia mi

> sie juz troche. Z pamiecia eprom dupa zimna. Procedura

> remapwania w takim razie wygladala by tak - wyjmujemy kostke

> eprom, zczytujemy ja, kupujemy kostke eeprom o tej samej

> wielkosci, zapisujemy na niej zmodyfikowany program/mapy,

> ladujemy z powrotem i jazda. Czy nie da sie wlozyc eepromu

> zamiast epromu i trzeba programowac eprom (raz a dobrze)?

To znajdź mi eeprom który możesz bez większego wysilania wsadzić w miejsce tego eproma

Jest jedna firma WINDBOND i produkuje lub produkowała W27E512 który to może być kasowany elektrycznie a nie UV co ułatwia remapowanie bo nie trzeba mieć kilku kostek i kasowarki UV

Odnośnik do komentarza
Udostępnij na innych stronach

> No chyba, ze w ecu jest pamiec Eprom a nie EEprom, to

> przepraszam bardzo. Ale tak jak powiedzialem, hardware to nie

> moja specjalnosc

Tak jak zostało już napisane, 68HC11 w naszych ECU może współpracować z kośćmi które posiadają sposób obsługi identyczny z typową kością C512, sposób odczytu, wyprowadzenie pinów...

Jaką kość zastosujemy, może byc eprom, Eeprom, pamięci Flash, nawet o większej pojemności, byle układ nóżek się pokrywał, lub można zrobić specjalną podstawkę.

Problem z zapisem pozostaje jednak cały czas taki sam - jednak trzeba by było poczytać specyfikacje 68HC11, link był podany - i tam widać że wbudowany sterownik obsługi pamięci nie jest przystosowany do zapisu stronami, i zmiany napięć ( co jest potrzebne w przypadku eepromów ).

Do linii adresowej są podpięte wszystkie urządzenia zewnętrzne, a w zależności do jakiej komórki się odwołujemy, procesor ustawia 1 na konkretnym pinie co można wykorzystać do aktywowania odpowiedniego układu, oraz jest osobny pin który oznacza czy wykonujemy akcje zapisu lub odczytu wybranej komórki.

W 68HC11, przewidziane są 3 dodatkowe pamięci + pamięć o specjalnym przeznaczaniu na program, w tym przypadku nasz eeprom.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzieki za te informacje, wszystko robi sie jasne jak slonce. Pomysl zeby modyfikowac (e)eprom przez interfejs diagnostyczny juz mi odszedl, jak mowilem, nie wiem dostatecznie duzo o hardwarze (juz teraz nieco wiecej). Ostatnia prosba/pytanie: nie podrzucilby by mi ktorys z was zgranego testowego obrazu epromu od 1.1 spi do zabawy? Jak duzy on wogle jest w kompie 16F?

Odnośnik do komentarza
Udostępnij na innych stronach

> Dzieki za te informacje, wszystko robi sie jasne jak slonce. Pomysl

> zeby modyfikowac (e)eprom przez interfejs diagnostyczny juz mi

> odszedl, jak mowilem, nie wiem dostatecznie duzo o hardwarze

> (juz teraz nieco wiecej). Ostatnia prosba/pytanie: nie

> podrzucilby by mi ktorys z was zgranego testowego obrazu epromu

> od 1.1 spi do zabawy? Jak duzy on wogle jest w kompie 16F?

64 KB

Fiat 500 1.1

eprom

Fiat Punto 1.2 MPI IAW 8F.5T

eprom

Fiat Palio 1.2 MPI IAW 18F.B4

eprom

Fiat Punto 1.2 16V IAW 18FD.5Z

eprom

Suma podana w nazwie pliku oprucz 1.1 bo tam jest 7669

Odnośnik do komentarza
Udostępnij na innych stronach

1. Tomi6, za tutoriale masz wirtualny 20.GIF, aczkolwiek slinka.gif, najbardziej by sie przydaly adresy konkretnych map w oryginalnym epromie, powoli do tego dochodze, ale jest to bolesne. Sama lista map by sie przydala - ile ich jest (wszystkich, lacznie z tymi do skalowania wartosci z czujnikow) i jakiej sa wielkosci...

2. Pytanie z kategorii mechanicznych zeby.GIF Jak sie otwiera pudelko z kompem? Podwaza sie ten dekielek co jest na spodzie? Bo nie chce nic popsuc, a srubexow nie widzie.

Odnośnik do komentarza
Udostępnij na innych stronach

> 2. Pytanie z kategorii mechanicznych Jak sie otwiera pudelko z

> kompem? Podwaza sie ten dekielek co jest na spodzie? Bo nie chce

> nic popsuc, a srubexow nie widzie.

dolna pokrywke trzeba odkleic ( nozyk i heya ) , ona jest na silikonie lub czyms silikonopodobnym

Odnośnik do komentarza
Udostępnij na innych stronach

> 1. Tomi6, za tutoriale masz wirtualny , aczkolwiek , najbardziej by

> sie przydaly adresy konkretnych map w oryginalnym epromie,

> powoli do tego dochodze, ale jest to bolesne. Sama lista map by

> sie przydala - ile ich jest (wszystkich, lacznie z tymi do

> skalowania wartosci z czujnikow) i jakiej sa wielkosci...

a czemu chcesz wszystko na tacy podane? nie łaska samemu trochę pokombinować?

znajdź chociasz jedną SAM i ją określ a nie jw.

Odnośnik do komentarza
Udostępnij na innych stronach

> a czemu chcesz wszystko na tacy podane? nie łaska samemu trochę

> pokombinować?

> znajdź chociasz jedną SAM i ją określ a nie jw.

Ej no bez agresji wink.gif Kombinuje, znalazlem juz trzy mapy 12x16, wartosci x i y to domniemam obciazenie z MAP-a i predkosc obrotowa, nie do konca jeszcze wiem co jest wartoscia z w kazdej z nich, wydaje sie byc ze co najmniej jedna to wartosci wtryskow (rysunek ktory z niej zrobilem na to by wskazywal). Znalazlem rowniez mapy 16x1 i 12x1 do szukania indeksow z MAP-a i obrotow. I pare innych zlokalizowalem, ktore jeszcze nie wiem co robia. Wiem rowniez w ktorych komorkach pamieci RAM jest przechowywany indeks MAP i predkosci obrotowej po wyliczeniu z wyzej wymienonych dwoch malych map zeby potem odczytac wartosci z duzych map. Malo jak na dwa czy trzy dni? Zeby nie byc goloslownym:

bytes $f697 192 map1 ; fuel/ignition?

bytes $f4c0 192 map2 ; fuel/ignition?

bytes $f175 192 map3 ; fuel/ignition?

bytes $f0a3 16 engine_speed_scale ; index stored at 010A

bytes $f11b 12 map_sensor_scale ; index stored at 0222

W zalaczniku wykres jednej z tych trzech map.

To co, dostane jakiegos bonusa?

post-66042-14352489851561_thumb.jpg

Odnośnik do komentarza
Udostępnij na innych stronach

Jak na taki czas samodzielnej pracy to bardzo ładnie waytogo.gif. W takim razie może bym prosił o konsultacje w tej sprawie.

Cały czas czekam na wszelkie opinie waytogo.gif.

> To co, dostane jakiegos bonusa?

> bytes $f0a3 16 engine_speed_scale ; index stored at 010A waytogo.gif

> bytes $f11b tutaj raczej klapa, znajduje sie tutaj mapa przeskalowania ale od wczesniejszego adresu i dla innej wartości. Ta mapa pojawi się już niedługo.

Odnośnik do komentarza
Udostępnij na innych stronach

> Jak na taki czas samodzielnej pracy to bardzo ładnie . W takim

> razie może bym prosił o konsultacje w tej sprawie.

> Cały czas czekam na wszelkie opinie .

Jak dojde to nie omieszkam powiedziec...

> > bytes $f11b tutaj raczej klapa, znajduje sie tutaj mapa

> przeskalowania ale od wczesniejszego adresu i dla innej

> wartości.

No to ciekawe, bo maly palec u reki bym se dal obciac. Ale ma wymiar 12 co nie?

Odnośnik do komentarza
Udostępnij na innych stronach

> Uciekł w moim wcześniejszym poście załącznik z wsadem.

> SC 1.1 SPI 1ED6

Super dzieki, bede poki co pracowal na tym swoim bo juz wykminilem to i owo, a ewidentnie sa rozne. Czy dobrze kombinuje, ze sa dwie rozne skale do indeksowania predkosci obrotowej? Jeden indeks po wyliczeniu jest przechowywany pod 010A, drugi 010C...

Odnośnik do komentarza
Udostępnij na innych stronach

> i owo, a ewidentnie sa rozne. Czy dobrze kombinuje, ze sa dwie

> rozne skale do indeksowania predkosci obrotowej?

Właśnie dlatego proponowałem przesiadke na mój wsad, bo z innym nie będę wstanie pomóc.

Pozwoliłem sobie kontynuować ten temat w tym miejscu bo chyba jest odpowiedniejsze wink.gif.

Odnośnik do komentarza
Udostępnij na innych stronach

No ja walcze z tym celem remapu mojego CCS-a, takze wole wiedziec co w moim piszczy. Pozniej i tak bede to jeszcze raz przerabial jak zczytam eprom wlasciwy z samochodu. Celem jest dojscie ile jest map, scali, i od czego sa. Powiem, ze juz jestem dosc blisko celu. Poki co widze, ze sa podstawowe wymiary: 16, 16, 12, 8. Jedno 16 to predkosc silnika (dwa rozne indeksy), 12 to wartosci MAP, drugie 16 jeszcze nie wiem (stawiam poki co na lambde), i 8 (tutaj bym stawial na temperature). Te dwie ostatnie to na razie palcem na wodzie pisane. Drugim zadaniem bedzie zezwolenie na inne wartosci min max MAP sensora, zeby np. przy turbo komp nie wywalal bledow.

Odnośnik do komentarza
Udostępnij na innych stronach

Mam jedno krótkie pytanie - MC68HC11 ma wbudowaną pamięć EEPROM, czy w tych sterownikach jest ona używana? Jeśli tak, co w niej jest, bo widzę tu tylko wsady do EPROMa 27C512?

Nie prawda że EPROMów bez okienka nie da się kasować - można je kasować promieniami X.

Odnośnik do komentarza
Udostępnij na innych stronach

> Mam jedno krótkie pytanie - MC68HC11 ma wbudowaną pamięć EEPROM, czy

> w tych sterownikach jest ona używana? Jeśli tak, co w niej jest,

> bo widzę tu tylko wsady do EPROMa 27C512?

> Nie prawda że EPROMów bez okienka nie da się kasować - można je

> kasować promieniami X.

hę a skąd wziąść maly generator promieni X? to raczej nie realne confused.gif

Odnośnik do komentarza
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić obrazków. Dodaj lub załącz obrazki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Używając tego serwisu, wyrażasz zgodnę na naszą Polityka prywatności oraz Warunki użytkowania.