Forumindex ELBIL
för elbilsägare och blivande sådana...
 
 Vanliga frågorVanliga frågor   SökSök   MedlemslistaMedlemslista   AnvändargrupperAnvändargrupper   Bli medlemBli medlem 
 ProfilProfil   Logga in för att läsa dina meddelandenLogga in för att läsa dina meddelanden   Logga inLogga in 


Kommunikationen på rs-485-bussen
Gå till sida Föregående  1, 2, 3, 4, 5  Nästa
 
Skapa nytt ämne   Svara på ämnet    Forumindex -> elektriska problem
Föregående ämne :: Nästa ämne  
Författare Meddelande
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2008-10-22 10:58:56    Rubrik: Svara med citat

Jag tror att det är diagnosbussen, om man tittar i elschemat, + att ledarna heter K och L.
Men det kanske kan vara ett bra ställe att lyssna på diagnoskommunikationen, har jag inte tänkt på.
Till överst på sidan
Användarens profil Skicka personligt meddelande
pm_dawn
Elbilsguru


Registreringsdatum: 17 mars 2008
Inlägg: 1742
Ort: Östersund

InläggPostat: 2008-10-22 14:17:51    Rubrik: Svara med citat

Isf så skall man kunna säga åt UCL/laddaren att de är snabbladdning på gång via diagnosbussen, för som jag förstått så används serie sakerna i laddhandsken när man köra snabbladdning.

Mvh
/Per
Till överst på sidan
Användarens profil Skicka personligt meddelande Skicka e-post
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2008-10-22 14:45:28    Rubrik: Svara med citat

Jo, det stämmer nog, om jag fattat elschemat rätt så går diagnosbussen till laddaren också.
Till överst på sidan
Användarens profil Skicka personligt meddelande
pm_dawn
Elbilsguru


Registreringsdatum: 17 mars 2008
Inlägg: 1742
Ort: Östersund

InläggPostat: 2008-10-22 18:58:14    Rubrik: Svara med citat

Ja nu har jag också studerat elschemat lite mer i detalj och backar ju då såklart på flera punkter som jag yppat.

Självklart är det två helt skilda bussar, Diagnos och Rs485 (internbuss).
Diagnos kan ju då helt klart snacka ISO 9141-2 och RS485 något eget hopkok som Renault eller Actia? har gjort.

Skulle vara skoj att kolla lite mer RS bussen.

På Diagnosbussen så kanske man bara adresserar olika för att nå dom olika delarna (UCL/Laddare).

Skall kolla mera i Manualen ang XR25:an

Jag undrar och PSA kör samma typ av kommunikation i sina snabbladdare. Kanske det snackas om vilken spänning man skall trycka på med så att man kan köra med samma snabbladdare till både PSA och Renault.

Jonas, kan du använda Max481:an som lyssnare även på ISO9141-2?

Mvh
/Per
Till överst på sidan
Användarens profil Skicka personligt meddelande Skicka e-post
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2008-10-22 20:18:39    Rubrik: Svara med citat

Jo, jag tror att MAX fixar ISO också, det borde bara vara att lägga den ena polen på någon mellanspänning, kanske med spänningsdelare.

Vill man lyssna på båda trådarna så behöver man två kretsar, i ISO så är de ju två olika. Dock så används L bara för initiering, och det är bara en byte som sänds. Undrar vad de tänkte på som kom på den standarden.

Ska se om jag kan hacka ihop något.
Till överst på sidan
Användarens profil Skicka personligt meddelande
Benny
Forumstammis


Registreringsdatum: 17 juli 2006
Inlägg: 362
Ort: Göteborg/Lilleby

InläggPostat: 2009-01-31 13:48:21    Rubrik: Svara med citat

Enligt instruktionsboken finns det rs232 utgång
på ucl'n
Kontakt B stift 15 Förbindelse RS 232
stift 16 Jord förbindelse RS 232

Har du "lyssnat" även där Jonas?

//Benny
_________________
Renault Zoe -16
Toyota Prius -08 Under ombyggnad till plug in
Transportel (flakmoppe)
Meec -14 Robotklippare
Till överst på sidan
Användarens profil Skicka personligt meddelande Skicka e-post Besök användarens hemsida AOL Instant Messenger MSN Messenger
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2009-01-31 15:00:38    Rubrik: Svara med citat

Nej, det har jag inte ännu. Det ska vara envägskommunikation från hackaren till UCL tror jag.
Det står på agendan längre fram. Just nu ligger hackaren på arbetsbänken för säkringsmontering.
Till överst på sidan
Användarens profil Skicka personligt meddelande
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2009-03-22 15:47:10    Rubrik: Svara med citat

Nu har jag kommit en bit till på vägen när det gäller kommandona till displayen. Har fått igång hemliga displayen, så jag fick lite mer textvarianter att jobba med. De vanliga texterna är styrs faktiskt tecken för tecken från UCL. Varningsmeddelandena verkar vara hårdkodade däremot, se första posten.

Upptäckte att varje tecken motsvarades av två bytes! Det var dessutom nästan bara 16 bytekombinationer som förekom, så jag till slut fick jag ihop det. Varje byte på bussen motsvarar en hexsiffra. Dessa kombineras sedan parvis ihop till nya bytes som faktiskt är ASCII-koder:
Kod:

Byte   Hex   Bin                     
10      0   00010000
D1      1   11010001
D2      2   11010010
13      3   00010011
D4      4   11010100
15      5   00010101
16      6   00010110
D7      7   11010111
D8      8   11011000
19      9   00011001
01      A   00000001
02      B   00000010
C3      C   11000011
04      D   00000100
C5      E   11000101
C6      F   11000110

De fyra minst signifikanta bittarna används rakt av som (decimal) entalssiffra, bit 4 inverteras till tiotalssiffra och bit 6 och 7 verkar vara någon slags kombinerad paritetsbit. Så får man en ny hexsiffra av varje byte.
Dessa siffror kombineras sedan parvis till nya bytes som sagt.


Så här ser textdelen av "ENERGI 60 Ah"ut:
D2 10 D2 10 D4 15 D4 C5 D4 15 15 D2 D4 D7 D4 19 D2 10 D2 10 D2 10 D2 10 D2 10 13 16 13 10 D2 10 D4 D1 16 D8 D2 10 D2 10
Delar man upp bytena parvis så blir det så här:
Kod:

D2 10 = 20 = <space>
D2 10 = 20 = <space>
D4 15 = 45 = E
D4 C5 = 4E = N
D4 15 = 4E = E
15 D2 = 52 = R
D4 D7 = 47 = G
D4 19 = 49 = I
D2 10 = 20 = <space>
D2 10 = 20 = <space>
D2 10 = 20 = <space>
D2 10 = 20 = <space>
D2 10 = 20 = <space>
13 16 = 36 = 6
13 10 = 30 = 0
D2 10 = 20 = <space>
D4 D1 = 41 = A
16 D8 = 68 = h
D2 10 = 20 = <space>
D2 10 = 20 = <space>



Ser man till hela textramen så verkar bytena betyda som följer:
Kod:

Byte    Uppgift
1       mottagaradress? + lite till. 18 i textramarna och 14 i varningsmeddelanderamarna. Denna byte verkar inte följa byte-till-hexsiffra-konverteringen.
2       avsändaradress? 15 = UCL?
3,4     Vet ej. Har bara varit D1 D8, dvs 18 i displayramarna
5       någon slags avgränsare? Har varit 10 i alla oskadade ramar jag sett, även de som inte verkar höra till displayen
6       någon slag klassificering av ramen? är D1 i rena textramar och D2 i varningsmeddelandena.
7-10    Klockan, dubbelbytehexkodade enligt ovan, fast inte via ASCII.
11-50   Texten, kodad enligt ovan.

De sista byten räknar jag från slutet, eftersom den ordningen verkar följa funktionen i de kortare varningsmeddelanderamarna.

7       Symbolerna på displayen. 10(0) = inga symboler, D8(8) = "km" + "Ah/km", D1(1) = värmaren
6       Växelläge D2(2) = D, D4(4) = R och D8(8) = N.
5,4     Pinnar urladdning, C3 10 (30) verkar vara tomgång med bara minsta lilla pinnen.
3,2     Pinnar laddning. 10 10  (00) verkar faktiskt vara 0.
1       checksumma? Denna byte följer inte heller byte-till-hexkonventionen.


Checksumman ger mig lite huvudbry. Jag har jobbat med datakommunikation i 15 år, och ofta stirrat på CRC-felräknare, men aldrig reflekterat över hur en checksumma räknas ut. Det förekommer (minst) 5 st olika sätt att räkna ut en 8 bitars crc-summa. Någon här som begriper sånt och kan hjälpa mig? Har hittat följande om detta:
http://en.wikipedia.org/wiki/Cyclic_redundancy_check
http://www.cs.waikato.ac.nz/~312/crc.txt
Har försökt fatta två gånger med huvudvärk som resultat, och försökt kopiera ett par programsnuttar och testat, men inget stämmer.
Till överst på sidan
Användarens profil Skicka personligt meddelande
lem
Elbilsguru


Registreringsdatum: 15 januari 2007
Inlägg: 1819
Ort: Täby

InläggPostat: 2009-03-22 16:47:56    Rubrik: Svara med citat

Hej Jonas!
Kul att Du försöker knäcka ut datakommunikationen i detalj!

Du får naturligtvis låna XR25:a om det behövs.

Fyra bitar att klara av:
- Kunna ha en ny laddare när alla reservdelar tar slut (sker trol före bilarna dör).
- Kunna få en ny hackare (verkar ej så bråttom även om hackarna går sönder då och då men verkar kunna repareras). Det finns nya i Norge om det kniper. MEN det vore kul att kunna överbelasta kortvarigt för att vinna vid rödljusen på Sveavägen...
- Kunna ställa in 6A laddning också
- Kunna ställa in ny laddning som är anpassad för litium batterier.

Bra jobbat!/Lars
Till överst på sidan
Användarens profil Skicka personligt meddelande Skicka e-post
Nikon
Forumstammis


Registreringsdatum: 17 januari 2008
Inlägg: 504

InläggPostat: 2009-03-24 08:07:38    Rubrik: Svara med citat

Notera att "checksumma" och CRC är två olika saker, även om begreppen tyvärr ofta blandas ihop.

Det finns mycket riktigt väldigt många olika varianter på 8-bitars CRC. Fast några är populärare än andra.
Till överst på sidan
Användarens profil Skicka personligt meddelande
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2009-03-24 13:39:31    Rubrik: Svara med citat

Ja, jag har testat alla 8-bitars CRC som går att definiera, med polynom från 0x100 till 0x1FF. Tror jag har gjort rätt, eftersom mina program fungerar som de ska och man får 0 om man lägger på en korrekt checksumma efter bytesträngen.

Hittade en variant som kallas LRC, där man egentligen bara summerar alla bytes, och %:ar med FF, varefter man tar tvåkomplement på det hela. Stämmer inte heller.

Jag har inte kört samma race med de avkodade byten, men det kommer. Fast det känns inte riktigt vetteigt eftersom checksumman uppenbarligen inte är kodad.

Fler tips tas tacksamt emot.
Till överst på sidan
Användarens profil Skicka personligt meddelande
Nikon
Forumstammis


Registreringsdatum: 17 januari 2008
Inlägg: 504

InläggPostat: 2009-03-24 23:31:32    Rubrik: Svara med citat

Det är ingen CRC.

De fem minst signifikanta bitarna är en vanlig checksumma av alla bytes i paketet.
(Addera samtliga bytes och klipp bort allt utom de fem minst signifikanta bitarna i resultatet)

De övre tre bitarna har jag inte riktigt klurat ut än.
Jag är frestad att tro att de översta två bitarna har samma paritetsfunktion som dom har i övriga bytes, men det finns något enstaka fall i de paket du postade i första inlägget där detta ej stämmer...
Till överst på sidan
Användarens profil Skicka personligt meddelande
Tomten
Elektrisk


Registreringsdatum: 02 juli 2007
Inlägg: 258
Ort: Spånga

InläggPostat: 2009-04-07 12:13:56    Rubrik: Svara med citat

Ramlade över denna sida av en slump...vet inte om det kan vara till någon nytta...

http://fr.calameo.com/books/00002232063718fb46bb1
Till överst på sidan
Användarens profil Skicka personligt meddelande
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2009-04-07 14:54:13    Rubrik: Svara med citat

Intressant
Kan ge en del hintar om hur de har tänkt. 62500 b/s minsann.


Nikon, ser att jag inte svarade på det du skrev, förlåt mig!
Du har rätt i hur summan bildasl, och det verkar som att de två översta bittarna är en paritetsbit ihop, men att den inverteras i vissa ramtyper. Dessutom så är bit 5 nästan alltid 0 men 1 emellanåt. Ser ingen logik i vad den kan representera.
Till överst på sidan
Användarens profil Skicka personligt meddelande
mrMagoo
Elbilsguru


Registreringsdatum: 25 juni 2006
Inlägg: 1242
Ort: Falköping

InläggPostat: 2009-04-07 20:01:54    Rubrik: Svara med citat

Se där... och publicerad 5 april -09 den var färsk.

Det var lite svärt att skriva ut Sad men jag tog lite skärmdumpar o skapade ett dokument.
_________________
Elbilsägare gör det med spänning.
Åker Ionic men Sysslar med elfordon av alla slag
Till överst på sidan
Användarens profil Skicka personligt meddelande
Nikon
Forumstammis


Registreringsdatum: 17 januari 2008
Inlägg: 504

InläggPostat: 2009-04-12 11:33:57    Rubrik: Svara med citat

jonas.hageberg skrev:

Nikon, ser att jag inte svarade på det du skrev, förlåt mig!
Du har rätt i hur summan bildasl, och det verkar som att de två översta bittarna är en paritetsbit ihop, men att den inverteras i vissa ramtyper. Dessutom så är bit 5 nästan alltid 0 men 1 emellanåt. Ser ingen logik i vad den kan representera.


Det faktum att de två paritesbitarna i summan är inverterade i vissa enstaka paket är lustigt.
Och bit 5 är ett verkligt mysterium...
Till överst på sidan
Användarens profil Skicka personligt meddelande
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2009-06-03 20:40:11    Rubrik: Svara med citat

Har shoppat lite: http://www.lawicel-shop.se/shop/custom/prod.aspx?productid=501052&groupid=10658&sortafter=0&sortafterchild=0&refcode=p

Den borde fungera. Chippet som är i ska gå att köra på 10403 och
10398 bits/s http://www.ftdichip.com/Documents/DataSheets/DS_FT232R_V202.pdf sidan 15
Till överst på sidan
Användarens profil Skicka personligt meddelande
Nikon
Forumstammis


Registreringsdatum: 17 januari 2008
Inlägg: 504

InläggPostat: 2009-06-04 00:01:11    Rubrik: Svara med citat

Borde funka utmärkt.
Serieportar fungerar bra så länge man inte avviker mer än 2% från specificerad baudrate. I nödfall kan man sträcka sig ända upp till ca 5% från angiven baudrate, men där någonstans går gränsen.
Till överst på sidan
Användarens profil Skicka personligt meddelande
jonas.hageberg
Forumstammis


Registreringsdatum: 22 maj 2008
Inlägg: 444
Ort: Habo

InläggPostat: 2009-07-24 22:11:23    Rubrik: Svara med citat

Har vart på det igen. Den här gången med en lyssnare baserad på Arduino, som hanterar 10400 b/s i hårdvaran. Upptäckte då ett fel jag haft ovan som förklarar en del skumheter i det jag sett. Min bitbanglyssnare jag hade först har uppenbarligen haft problem med timingen, inte konstigt egentligen, men det har gjort att jag slarvat bort bit 5 i varje byte, och dubblerat bit 6 till bit 7, samt helt slarvat bort bit 7.

Jag har nu lyssnat på tre typer av ramar, dels de till displayen med hårdkodat meddelande, dels de med komplett text från UCL till displayen, dels en typ som verkar gå med jämna mellanrum utan att ge någon text. Till laddaren kanske?

En kul grej som syns tydligt nu är att alla byte utom första, andra och sista är ascii, och dessutom ascitecknen 0-9 och A-F. Allt är alltså dubbelkodat...


Alla dessa tre typer följer följande regler:
- Byte 1 är längden på ramen.
- Byte 2 är alltid 0x55, eller 0b01010101 Någon slags separator kanske
- Byte n (sista) är checksumma, enligt Nikons idé om att summera alla byte, även längden, och trunkera så man får kvar de nedersta 7 bittarna.
- Alla bytes utom den första har jämn paritet, detta missade jag tack vare timingfelet...
- Alla bytes utom 1,2 och n är ascii. De kodar hexsiffrorna 0-9,A-F.


I ramarna som innehåller text verkar bytena betyda som följer:
Kod:

Byte    Uppgift
1       ramens längd
2       0x55 avgränsare
3-6     Säg det. De ger texten "1802" i fulltextramarna.
7-10    Klockans siffror
11-50   Texten, dubbelasciikodad.

De sista byten räknar jag från slutet, eftersom den ordningen verkar följa funktionen i de kortare varningsmeddelanderamarna.

7       Symbolerna på displayen. "0" = inga symboler, "8" = "km" + "Ah/km", "1" = värmaren. Gissar att dessa värden representerar bittar och kan kombineras till lämplig siffra.
6       Växelläge "2" = D, "4" = R och "8" = N.
5,4     Pinnar urladdning
3,2     Pinnar laddning.
1       checksumma på de 7 minsta bittarna. &:ad med 127.


Ramarna med hårdkodade meddelanden följer samma mönster, men i stället för medelandetextens 20 tecken/40 byte är det 4 byte. Dessa ramar har dessutom byte 3-6 som "1801".

Båda meddelanderamarna sänds med 4-5 st per sekund.

Dessutom så går det var 16:e sekund en tredje ram, som inte verkar ha så mycket med displayen att göra. Kanske till eller från laddaren?

Ser ut så här, dessa två varianter har jag sett:
12 55 33 34 31 34 30 30 30 30 35 37 30 31 30 30 30 30 00
12 55 33 34 32 37 30 30 30 30 35 37 30 31 30 30 30 30 04
avkodat
XX3414000057010000X
XX3427000057010000X
där X är de icke informationsbärande byten.

Bilen har inga batterier just nu, så jag har inte kunnat spela in en laddcykel. Det blir nästa steg när dessa kommer på plats.
Till överst på sidan
Användarens profil Skicka personligt meddelande
pm_dawn
Elbilsguru


Registreringsdatum: 17 mars 2008
Inlägg: 1742
Ort: Östersund

InläggPostat: 2009-07-26 15:02:12    Rubrik: Svara med citat

Sweet.

Du får gärna skicka mig ett pm med lite schema och kod till 2009:an om du har lust. Jag har inte börjat pilla med min 2009:a ännu, jag har fortfarande saker kvar att göra på bilen.
Jag har ju batterier i min bil så jag skulle kunna spåra lite i den. (efter besiktningen Smile )
Jag är ganska säker på att det skall gå temperaturinformation mellan UCL och laddare under laddningen iaf.
Det går nog olika information mellan UCL och laddare beroende på vilken version av UCL man har dessutom. Det verkar som att UCL 8.x har någon lite mer avancerad datasession mellan sig och laddaren än var UCL 7.x har. I alla fall om man får tro XR25.ans kod kort för laddare och UCL.
Jag skall se om jag kan hooka upp ett skåp och titta på diagnosporten också innan jag skickar tillbaka den.

Mvh
/Per
Till överst på sidan
Användarens profil Skicka personligt meddelande Skicka e-post
Visa inlägg nyare än:   
Skapa nytt ämne   Svara på ämnet    Forumindex -> elektriska problem Alla tider är GMT + 1 timme (svensk normaltid)
Gå till sida Föregående  1, 2, 3, 4, 5  Nästa
Sida 2 av 5

 
Hoppa till:  
Du kan inte skapa nya inlägg i det här forumet
Du kan inte svara på inlägg i det här forumet
Du kan inte ändra dina inlägg i det här forumet
Du kan inte ta bort dina inlägg i det här forumet
Du kan inte rösta i det här forumet


Skapa forum | Supportforum | Användarvillkor | Integritetspolicy | Cookiehantering | Kontakta oss |




SwiftBlue Theme created by BitByBit
Powered by phpBB © 2001, 2002 phpBB Group
Swedish translation by phpBB Sweden and Virtuality © 2003-2005
Sidan tog 0.09 sekunder att ladda.