Przeróbka ECU w S13

ECU, chip, SMT, ECU MASter, Apexi i inne wynalazki typu: EBC, kontrole trakcji, kontrole stuku,

Moderator: Moderator

Czy jestes zainteresowany zakupem takiego ukladu ?

TAK
112
92%
NIE
10
8%
 
Liczba głosów: 122
Awatar użytkownika
drummslayer
Proszę nie bić nowego
Proszę nie bić nowego
Posty: 24
Rejestracja: pn 18 gru, 2006 21:10
Lokalizacja: Prawie Rzeszow / Londyn
Kontakt:

Tom RESPECT 8) a na pytanie pic czy nie :twisted: to odpowiem wielblad chyba nie jestes :mrgreen:
Awatar użytkownika
Andiqqqq
Proszę nie bić nowego
Proszę nie bić nowego
Posty: 47
Rejestracja: pn 30 maja, 2005 10:48
Lokalizacja: Warszawa
Kontakt:

Temat umarł czy co?? Tom jakieś postępy z ECU?
Awatar użytkownika
roball
-#Moderator
-#Moderator
Posty: 3140
Rejestracja: śr 29 cze, 2005 21:33
Lokalizacja: dziura na zachód od Wieliczki

Tomek pewnie zasuwa z lutownicą i kodem tak ciężko że nie ma czasu taczek załadować,
a co dopiero bloga na forum pisać :D

władował testową płytkę i okazało się że ECU nie obsługuje prędkości naddźwiękowych... :mrgreen:

a serio to mógłbyś coś skrobnąć, choćby lajkonicznie :alien:
Człowiek człowiekowi wilkiem,
a zombie zombie zombie...
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

Andiqqqq pisze:Temat umarł czy co?? Tom jakieś postępy z ECU?
Projekt niestety limitowany jest moim wolnym czasem, niestety poza nim mam prace, rodzine itd. Tak wiec nie moge mu poswiecac kazdej wolnej chwili.
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Sputnik
Coś już wiem
Coś już wiem
Posty: 61
Rejestracja: pt 30 cze, 2006 18:39
Lokalizacja: Wrocław
Kontakt:

i jak prace?
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

Jak prace ?? a powoli...

W miedzyczasie podczas eksperymentow uwalilo sie kilka elementow w tym Xilinx-y :roll:
plytka testowa juz raczej kolejnej wymiany nie przetrwa, ale narazie wszystko idzie z mniejszymi oporami.

Jak zwykle brak czasu, a poza pisaniem finalnego softu jest jeszcze sterta innych programow i wsadow do CPLD do testowania, programowania itp. czystej plyty - ktore niestety trzeba napisac. Jednak prace powoli ida do przodu. Kilka fotek - jak zwykle z telefonu czyli jakosc do D... z prac nad ECU...
Załączniki
Ecu4.jpg
Ecu3.jpg
Ecu2.jpg
Ecu1.jpg
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Sputnik
Coś już wiem
Coś już wiem
Posty: 61
Rejestracja: pt 30 cze, 2006 18:39
Lokalizacja: Wrocław
Kontakt:

Więc kiedy będzie można spodziewać sie efektów? I jakie koszty są przewidywane na tą chwile?
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

Sputnik pisze:Więc kiedy będzie można spodziewać sie efektów? I jakie koszty są przewidywane na tą chwile?
Odnosnie terminu trudno mi cos powiedziec, narazie walcze z troche dziwnym zachowaniem pamieci FRAM podczas zapisu danych. Narazie wystepuje dziwna sytuacja przy zapisie bajtu wiekszego od 7Bh tzn. dosc czesto nie zapisuje i robi to w nastepnym cyklu zapisu.

Bardzo mi tutaj brakuje wielokanalowego analizatora stanow logicznych i szukam problemu po omacku :(

Jakie problemy jeszcze moga wyjsc trudno mi powiedziec....

Odnosnie ceny to jesli uklad pozostanie w takiej postaci jak teraz (bez zmiany elementow) - oraz ceny plytek jak i elementow utrzymaja sie na wmiare stalym poziomie to mysle o 800zl.
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

Wiec aby cos bylo w temacie - zwlaszcza dla tych niecierpliwych jak i interesujacych sie elektronika i innymi tego tupu <font class="red">PIP</font> :mrgreen:

Tak jak wspominalem temat idzie wolnymi krokami do przodu. Problemy z pamiecia o ktorych wspominalem juz sa przeszloscia :) jednak nie jest to zwiastun szybkiego zakonczenia prac.

Niestety taki projekt mimo dosc prostej elektroniki jest niezbyt prosty w realizacji. Przykladowo w przypadku konstrukcji swinki itp. robimy elektronike piszemy soft na PC i soft dla procesora w swince.

Tutaj ze wzgledu na to ze uklad ma wspolpracowac z ECU, a konkretnie z procesorem ECU - niejako dodatkowy uklad scalony na plycie ECU. Sam projekt elektroniki jest juz dosc mocno ukierunkowany na taka wspolprace - a ze wzgledu na uproszczenia (minimalizacje kosztow).

Tak wiec aby np. przeprogramowac pamiec FRAM w EcuMiniMod musze:

1. Wyjac z ECU
2. Podlaczyc do niego zasilanie 5V
3. Wgrac specjalny soft do procesora (napisany tylko na te potrzeby)
4. Wgrac specjalna zawartosc do CPLD (Xilinx)
5. Odpalic na PC program Loadera (ktory tez trzeba bylo napisac ;) ) - nizej screenshot
6. Zapisac/Odczytac pamiec FRAM
7. Wgrac do CPLD (Xilinx) wsad zapewniajacy wspolprace z ECU
8. Wgrac do procesora wsad zapewniajacy wspolprace z ECU
9. Wsadzic plytke do ECU
10. Podpiac ECU do zasilania

i co ciekawe trzeba ta czynnosc powtarzac bardzo czesto :mrgreen:

Docelowo w pamieci FRAM bedzie zapisany specjalny BootLoader ktory zapewni wmiare szybkie i bezbolesne podmiany softu dla ECU - jednak trzeba go tez napisac :mrgreen:

Oto fragment jego kodu:

Kod: Zaznacz cały

;===========================================================
;ECCS BootBlock Software v 1.0 Beta by ToM/Turbokillers


;-----------------------------------------------------------
	org	$C000	;UWAGA !!!! Przesunac pod koniec pamieci po napisaniu calosci

;Nowy format tablicy vektorow dla firmware

New_Reset:
	jmp	BootBlock_Reset
New_IRQ1:
	jmp	BootBlock_IRQ1
New_NMI:
	jmp	BootBlock_NMI
;-----------------------------------------------------------
Checksum_XOR	EQU	_Checksum_XOR
Checksum_ADD	EQU	_Checksum_ADD

_Checksum_XOR:
	dc.b	$00
_Checksum_ADD:
	dc.b	$00
;-----------------------------------------------------------
BootBlock_IRQ1:

	rti
;-----------------------------------------------------------
BootBlock_NMI:

	rti
;-----------------------------------------------------------
BootBlock_Reset:

	jsr	CheckCRC

	jsr	CheckEcuMiniMod		

	jsr	CheckCommand

	ldaa	DataCounter
	cmpa	#$00
	beq	NoCommand

	jsr	CommandInterpreter

NoCommand:
	ldaa	CRCError
	cmpa	#$ee
	beq	No_New_Reset

	jmp	New_Reset	;Skocz do vektora reset w firmware

No_New_Reset:
	jmp	BootBlock_Reset


;-----------------------------------------------------------
CheckEcuMiniMod:

	;Wyslij znaki ECU	
	ldaa	#$45		;E
	staa	$3000
	ldaa	#$43		;C
	staa	$3000	
	ldaa	#$55		;U
        staa	$3000

	;Jesli odebrane w odpowiedzi OK to zakoncz w innym wypadku delay i sprawdz ponownie	
	ldaa	$3001
	ldab	$3001
	cmpa	#$4f		;O
	bne	No_MiniMod
	cmpb	#$4b		;K
	bne	No_MiniMod
	rts

No_MiniMod:
	
	;Dellay
	ldaa	#$00

NoMiniMod_Loop:
	inca
	cmpa	#$ff
	bne	NoMiniMod_Loop
	jmp	CheckEcuMiniMod

...
...
...
...
jednak sama komunikacja ECU<->MOD jest ze wzgledu na uproszczenia elektroniki mocno skomplikowana i chwilami myslalem ze bez przeprojektowania elektroniki sie nie obejdzie.

Dalej jeszcze nie jest idealna - no ale zaczelo cos dzialac i jak narazie ECU na stole lazi od paru dni bez zwiechy :)

Wczesniej zamiast oryginalnego softu ECU bylo odpalane na krotkich procedurkach testujacych polaczenie w stylu:

Kod: Zaznacz cały


New_Reset:

	ldaa	#$00
petla:
	...
	...
	...
	nop
	nop
	nop
	nop
	ldaa	$3001
	cmpa	#$41
	bne	olej1
	ldaa	$3001
	cmpa	#$01
	beq	olej1
	cmpa	#$02
	beq	wyslijbajt
	cmpa	#$03
	beq	wyslijdane
	jmp	olej1
wyslijdane:
	ldaa	#$41
petla2:
	staa	$3000
	inca
	cmpa	#$5B
	bne	petla2
	jmp	olej1

wyslijbajt:
	ldaa	#$45
	staa	$3000
	ldaa	#$43
	staa	$3000
	ldaa	#$55
	staa	$3000


	jmp	olej1
olej1:
	ldaa	#$00
	nop
	nop
	nop
	...
	...
	...
	jmp	petla

Kod: Zaznacz cały


New_Reset:

	ldaa	#$00
petla:
	...
	...
	...
	nop
	nop
	nop
	nop
	ldaa	$3001
	cmpa	#$41
	bne	olej1
	ldaa	$3001
	cmpa	#$01
	beq	olej1
	cmpa	#$02
	beq	wyslijbajt
	cmpa	#$03
	beq	wyslijdane
	jmp	olej1
wyslijdane:
	ldaa	#$41
petla2:
	staa	$3000
	inca
	cmpa	#$5B
	bne	petla2
	jmp	olej1


wyslijbajt:
	ldaa	#$45
	staa	$3000
	ldaa	#$43
	staa	$3000
	ldaa	#$55
	staa	$3000


	jmp	olej1
olej1:
	ldaa	#$00
	nop
	nop
	nop
	...
	...
	...
	jmp	petla

Kod: Zaznacz cały

New_Reset:

	ldaa	#$00
	ldab	#$00
petla:
	ldab	$3001
	staa	$3000
	stab	$3000
	inca
	jmp	petla

Oczywiscie na takich softach ECU nie dziala tak jak powinien - wiec samochodem raczej nie odjedziemy :mrgreen: - jednak przydatne one sa w celach testowych...


Reasumujac poza samym wykonaniem elektroniki i napisaniem softu na PC (dla uzytkownika) nalezy wykonac:

1. Soft na procesor w MOD zapewniajacy
a) komunikacje z procesorem ECU (wymyslenie calego protokolu komunikacji)
b) obsluge wszystkich wej/wyj na modzie
c) Upgrade Firmware w MOD i ECU
d) sterte innych obslugiwanych funkcji przez mod

2. Bootloader dla procesora w ECU
3. Przerobienie oryginalnego softu ECU (nissana) tak aby wspolpracowal z MOD-em

przy okazj jeszcze dochodzi pisanie calej sterty programow pomocniczych i testowych :)

Ot i to tyle na dzisiaj na koniec wspomniany screenshot programu pomocniczego ;) do programowania pamieci FRAM na plytce MOD-u :)

Jakies Pytania ??? :mrgreen:
Załączniki
framprog.jpg
framprog3.jpg
framprog2.jpg
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

A jednak :( bedzie trzeba zmienic elektronike i robic nowe plytki :(

Niestety o ile wysylanie danych z ECU do Mod-a dziala to w druga strone calosc jest bardzo niestabilna. Powinno pomoc dolozenie buforow z zatrzaskami na szyne danych pomiedzy atmelem i ECU. Prawde mowiac to obawialem sie tego juz podczas projektu - jednak chcialem minimalizowac koszty i rozmiar plytki (cena).

No ale jak to mowia czlowiek uczy sie na swoich bledach. Do tego wystepuje jeszcze od czasu do czasu dziwna sytuacja tzn. procesor ECU idzie podczas startu gdzies w "las"...
CO ciekawe nie pomaga wlacz/wylacz - jak zaskoczy to juz dziala ok...

Narazie nie udalo mi sie tego zdiagnozowac i bez analizatora stanow logicznych przynajmniej 27 kanalowego trudno bedzie zdiagnozowac problem. Mozliwe ze bufory zalatwia sprawe bo wydaje mi sie ze przez Atmela wystepuja jakies zaklucenia na szynie danych. Chyba ze to problem z CPLD i adresacja FRAM lub moze cos innego....

Nic ale ten problem narazie odkladam - zajme sie nim w dalszym terminie.

Narazie jednak plytek zamawiac nie bede - szkoda troche kasy, podebne jeszcze jeden CPLD na kabelkach do obecnej plytki... jak juz wszystko zacznie dzialac to zamowi sie wtedy juz finalne obwody drukowane.

Jesli chodzi o bufor jaki chce dodac to nizjej w formie schematu (mysle ze bardziej czytelne niz zamieszczane wczesniej fragmenty VHDL-a). Bedzie on w kolejnej kosci Xilinx 9536XL - tutaj jeszcze sa kolejne watpliwosci. Ciekawe czy procesor z ECU dogada sie ok z logika 3.3V Xilinx-a.... No ale wyjdzie to w praniu...

Do tego doszedlem jeszcze do wniosku ze warto troche przerobic czesc UBS :) o ile wykrywa uklad ok (zdjecie) to zmienie aby zasilany byl z komputera i wlaczenie/wylaczenie zaplonu (odciecie czesci napiec do ecu) nie powodowalo non stop odinstalowywanie i wykrywanie sprzetu przez Windows - co jest przy dluzszych pracach dosc upierdliwe...
Załączniki
minimodbufor.jpg
minimodUSB.jpg
minimodUSB.jpg (23.27 KiB) Przejrzano 9731 razy
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

Wiec tak info mialem dac juz jakis czas temu...

Dodatkowy CPLD dolutowalem praktycznie tego samego dnia co padl pomysl... i komunikacja dziala w 100% idealnie. Mialem dac info tego samego dnia, ale rozlozyl mi sie komp i musialem robic reinstal + czesc sciagac z netu...

Kwestje dziwnych zachowan ecu - to chyba wina stosowanego przezemnie kompilatora - musze dokladnie oblukac program do patchowania i wyniki kompilatora.

Narazie uklad po starcie wpada po pewnym czasie w przerwanie IRQ1 i z niego nie wychodzi... ale wyglada to mi na OK :) chyba ze tak dziwnie wiesza sie procek za kazdym razem. Musze dokladnie oblukac przerwanie - ale wydaje mi sie ze czeka na odpalenie auta....
Choc nie mam teraz jak sprawdzic ukladu w samochodzie...

Przy bootloaderku wywala mi dosc czesto przerwanie bad-opcode - czyli nieznana instrukcja dla procesora.... albo to problemy z odczytem FRAM-u albo jak wspominalem wina kompilatora...

Jak narazie troche duzo problemow naraz i brak chocby analizatora stanow aby dokladnie przesledzic co sie dzieje na szynach adresowych i danych ECU.

Uklad obecnie moze nie wyglada najpiekniej - jednak i tak czuje ze jeszcze czesc hardware moze sie zmienic do wersji finalnej. W sumie sam MiniMod jako uproszczony uklad powstal niejako w kilka dni (wizja i schemat) - wiec sam sobie jestem troche winny ze nie porobilem
wczesniej testow...


Oto fotki dolutowanego wynalazku:
Załączniki
EcuCPLD3.jpg
EcuCPLD2.jpg
EcuCPLD1.jpg
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Sputnik
Coś już wiem
Coś już wiem
Posty: 61
Rejestracja: pt 30 cze, 2006 18:39
Lokalizacja: Wrocław
Kontakt:

Ja nadal jestem pod wrażeniem,i czekam z niecierpliwościa wersji finalnej
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

No i chyba zaczelo dzialac :mrgreen: - jeszcze trzeba by wpakowac do auta i sprawdzic :)
Ale jutro spadam na Warszawe i raczej mi sie to nie uda...

Co prawda jeszcze nie dziala z bootloaderem, ale w petli wysylane sa do atmela glupie dane ;)
Tak samo po przylozeniu napiecia na pin 45 zlacza ECU (Ignition On switch signal) procka ladnie startuje i zalacza pompe paliwa (w moim przypadku LED-a) :mrgreen:

No nic testuje dalej - graty wezme chyba do Wawy - mysle ze Wildcat nie bedzie sie bal podlaczyc cuda w swoim aucie :mrgreen: i bedzie mozna dzialac nad dalsza czescia software...

A to co wyswietla nizej
(BAT: 9C - napiecie akumulatora) : 9C = 156, 156 * 0.08 = 12.48V - i to by sie zgadzalo
zobaczymy jak reszta...
Załączniki
minimod_dane.jpg
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Awatar użytkownika
ToM
Postojebca
Postojebca
Posty: 1009
Rejestracja: czw 24 lip, 2003 15:03
Lokalizacja: Warszawa
Kontakt:

No i pare innych funkcji tez dziala TPS (podlaczony na stole potencjometr) :mrgreen:
Nie chce zapeszac ale wrozylo by to chyba rozwiazanie problemow z Hardware - jeszcze nie wiem jak sie zachowa zapis do FRAM. Jednak mam nadzieje ze nie bedzie problemow...
Załączniki
minimod_dane2.jpg
[scroll]>>>ORDYNUSS TEAM<<< member #005/06 Nie jestem alkoholikiem jestem koneserem bo pić nie muszę, piję bo lubię ...[/scroll]
Awatar użytkownika
.wildcat.
Stały gość
Stały gość
Posty: 271
Rejestracja: ndz 29 maja, 2005 04:58
Lokalizacja: z miasta

A to takie buty... :mrgreen:
|oo|__|oo|

Wildcat

O=O---O=O
ODPOWIEDZ

Wróć do „Elektronika silnika”