UART protokol - dekodovanie
Moderátori: psichac, Moderátori
-
- Ultimate člen
- Príspevky: 2328
- Dátum registrácie: 25 Jún 2013, 21:06
- Bydlisko: Krajné
- Vek: 57
- Kontaktovať používateľa:
Re: UART protokol - dekodovanie
A čo taký wireshark? Podľa mňa špičkový open tool na hackovanie protokolov. Používal som keď som lúskal IrDA. Ale vie lúskať hocičo. Evidentne aj CAN. Podporuje kde jaký USB - CAN prevodník. Nevidím v tom veľký problém. Dokonca to možeš lúskať aj offline. Tak že ti niekto s príslušným vybavením a vedomosťami odchytí komunikáciu do súboru.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Ahojte. Celkom dost som pokrocil. Ale momentalne bojujem s jednou vecou a tou je, aka je zavislot medzi poslednym bajtom a tymi predoslymi. Ostatne bajty viem, co znamenaju, ale neviem prist na nejaky vzorec ako vypocitat tu poslednu hodnotu. Ma niekto na to nejake finty ako sa dostat k nejakemu vysledku?
Kód: Vybrať všetko
31 09 F6 46 00 00 00 00 01 01 01 89
31 09 F6 46 00 00 00 00 01 01 FF 77
31 09 F6 46 00 00 00 00 FF 01 FF 89
31 0F F0 45 01 00 7F 02 07 07 7F 02 04 08 04 02 7F FF
31 0F F0 45 01 00 7F 02 07 07 7F 02 04 08 04 03 7F FE
31 0F F0 46 00 00 00 00 07 07 FF FF FF FF FF FF FF 77
31 0F F0 46 00 00 00 00 FF 07 FF FF FF FF FF FF FF 8F
31 0F F0 46 01 00 00 00 07 07 FF FF FF FF FF FF FF 76
31 0F F0 46 01 00 7F 02 07 07 7F 02 04 08 04 03 7F FD
31 0F F0 46 01 00 7F 02 07 07 7F 02 04 7F 04 02 7F 8B
31 0F F0 46 01 00 7F 02 07 07 FF FF FF FF FF FF FF 0B
0
-
- Okoloidúci
- Príspevky: 48
- Dátum registrácie: 11 Jan 2009, 00:00
- Bydlisko: Zilina
Re: UART protokol - dekodovanie
ten log mi pride skor ako neaka odnoz modbusu, nie CAN, 31 - adresat 09 - pocet bajtov, a na konci je jednoduche CRC mozno len sucet s pretecenim? kedze tie dve spravy co tam maju v datach rozdiel 02 a 03 maju v poslednom bajte rozdiel iba 1 teda FE a FF...
Nie je to nahodou komunikacia z neakeho FVE menica, pripadne zal. zdroja?
Nie je to nahodou komunikacia z neakeho FVE menica, pripadne zal. zdroja?
0
Re: UART protokol - dekodovanie
09 a 0F budí dojem počtu bytov, ale v MODBUS-e RTU je druhý byt funkcia, nasledujú 2byty adresy a 2byty počtu bytov ...
https://www.modbustools.com/modbus.html
https://www.modbustools.com/modbus.html
0
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Nie nie, Je to komunikacia riadiacej jednoty z displeyom. Prenost dat prebieja cez CAN. Po spravnosti su tam 2xCAN. Jedna je na odosielanie dat z jednotky do displeja a druha je na prijimanie dat z displeja. Cize standardna CAN to nie asi nie je.nighthunter napísal: ↑15 Jan 2023, 13:55ten log mi pride skor ako neaka odnoz modbusu, nie CAN, 31 - adresat 09 - pocet bajtov, a na konci je jednoduche CRC mozno len sucet s pretecenim? kedze tie dve spravy co tam maju v datach rozdiel 02 a 03 maju v poslednom bajte rozdiel iba 1 teda FE a FF...
Nie je to nahodou komunikacia z neakeho FVE menica, pripadne zal. zdroja?
Tvoje myslienky su celkom spraven
31 - adresa (ID)
09 - pocet datovych bajtov (DLC)
F6 - kontrolny sucet (0xFF-DLC)
46 00 00 00 00 01 01 01 89 - datove bajty. Z toho posledny bajt je zatial neznamy ale viem, ze jeho hodnota zavisi na predoslych bajtoch
0
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Ak mam kratsie prikazy napr:
tak posledny bajt si viem vypocitat ako napriklad (FD-08)+02-06. To ale plati pri prikazoch ako su vyssie. Ak je bajtov viac, tak to uz neplati. Neviem ale ci spostupujem spravne
Kód: Vybrať všetko
00 02 FD 00 FF
08 02 FD 06 F1
0
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Dalsie ukazky prikazov, ktore su tiez spravne
Kód: Vybrať všetko
31 09 F6 0C 00 00 00 00 00 00 00 C2
31 09 F6 0C 00 00 00 00 00 00 01 C3
31 09 F6 0C 00 00 00 00 00 01 00 C3
31 09 F6 0C 00 00 00 00 00 01 01 C2
31 09 F6 0C 00 00 00 00 01 00 00 C3
31 09 F6 0C 00 00 00 00 01 01 00 C2
31 09 F6 0C 00 00 00 00 01 01 01 C3
31 09 F6 0C 00 00 00 01 00 00 00 C3
31 09 F6 0C 00 00 00 01 01 00 00 C2
31 09 F6 0C 00 00 00 01 01 01 00 C3
31 09 F6 0C 00 00 01 00 00 00 00 C3
31 09 F6 0C 00 00 01 01 00 00 00 C2
31 09 F6 0C 00 00 01 01 01 00 00 C3
31 09 F6 0C 00 01 00 00 00 00 00 C3
31 09 F6 0C 00 01 01 00 00 00 00 C2
31 09 F6 0C 00 01 01 00 00 00 00 C2
31 09 F6 0C 01 00 00 00 00 00 00 C3
31 09 F6 0C 01 01 00 00 00 00 00 C2
31 09 F6 0C 01 01 01 00 00 00 00 C3
31 09 F6 0C 01 01 01 01 00 00 00 C2
31 09 F6 0C 01 01 01 01 01 00 00 C3
31 09 F6 0C 01 01 01 01 01 01 00 C2
31 09 F6 0C 01 01 02 01 01 01 01 C0
31 09 F6 0C 01 02 03 04 05 06 07 C2
31 09 F6 0C 01 04 03 08 05 06 07 C8
31 09 F6 0C 02 01 01 01 01 01 01 C0
31 09 F6 0C 02 02 01 01 01 01 01 C3
31 09 F6 0C 02 02 01 03 01 01 01 C1
31 09 F6 0C 02 02 02 02 02 02 03 C1
31 09 F6 0C 07 06 05 04 03 02 01 C2
0
-
- Okoloidúci
- Príspevky: 48
- Dátum registrácie: 11 Jan 2009, 00:00
- Bydlisko: Zilina
Re: UART protokol - dekodovanie
a nebude to FF-(31+0C-(vsetky ostatne bajty s pretecenim iba na 1 bajt) tak mi to vychadza, kazdopadne teda iba na fyzickej vrstve je to CAN (dif. par).
0
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Mozes mi prosim ta definovat, co znamena pretecenie na 1 bajt? Pripadne priklad celeho zapisu vzorca? Dakujem
0
Re: UART protokol - dekodovanie
máš už jasnú túto vec:
" aký je tam CAN chip (alebo UART či ako ho voláš ) To 82C250 je len budič zbernice - daj tu schému "
čiže kde idú vývody Rx, Tx z 82C250 ?
" aký je tam CAN chip (alebo UART či ako ho voláš ) To 82C250 je len budič zbernice - daj tu schému "
čiže kde idú vývody Rx, Tx z 82C250 ?
0
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Vyvody Rx/Tx idu do MB90439S, co je mikrokontroler.
https://www.alldatasheet.com/view.jsp?S ... d=MB90439S
https://www.alldatasheet.com/view.jsp?S ... d=MB90439S
0
Re: UART protokol - dekodovanie
takže o žiadny CAN bus sa nejedná - tak len dešifrovať sériový protokol. Len mi nie je jasné, čo viedlo konštruktéra k použitiu 82C250 budiča - potreboval multimaster na zbernici ?? ten v CAN-buse slúži aj na potvrdzovanie framov iným členom na zbernici
0
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Na to ti uz neviem odpovedať. Snažím sa uz len dešifrovať ten posledny bajt. Kolega pisat, ze na to prisiel. Ale velmi tomu nerozumiem ako to myslel
0
-
- Okoloidúci
- Príspevky: 48
- Dátum registrácie: 11 Jan 2009, 00:00
- Bydlisko: Zilina
Re: UART protokol - dekodovanie
Klasicke spocitanie teda sucet, ak vsak pred scitanim mal byte hodnotu FF teda 255 a ja priratam +1 vysledok bude 0, ak priratam 2 vysledok bude 1, ak priratam 8 vysledok bude 7 atd. V hex to znamena ze i ked sme sa dostali o jeden rad vyssie zoberieme vzdy do uvahy ako vysledok iba najnizsi byte.nighthunter napísal: ↑15 Jan 2023, 20:26a nebude to FF-(31+0C-(vsetky ostatne bajty s pretecenim iba na 1 bajt) tak mi to vychadza, kazdopadne teda iba na fyzickej vrstve je to CAN (dif. par).
0
-
- Okoloidúci
- Príspevky: 48
- Dátum registrácie: 11 Jan 2009, 00:00
- Bydlisko: Zilina
Re: UART protokol - dekodovanie
Robi sa to pomerne bezne, C250 je budic na diferencialny par, teda prenos bude odolny voci ruseniu a zaroven zvysis pouzitelnu vzdialenost prenosu.
0
Re: UART protokol - dekodovanie
jasné, len som sa zamyslel, prečo nie nejaké LTC485, MAX485 a pod.
0
-
- Ultimate člen
- Príspevky: 1738
- Dátum registrácie: 11 Máj 2008, 00:00
- Bydlisko: Námestovo
- Vek: 34
Re: UART protokol - dekodovanie
Dakujem za vysvetlenie. Ale nech skusam ako skusam, tak tvoj postup mi nefunguje. Asi robim nieco zle.nighthunter napísal: ↑16 Jan 2023, 17:55Klasicke spocitanie teda sucet, ak vsak pred scitanim mal byte hodnotu FF teda 255 a ja priratam +1 vysledok bude 0, ak priratam 2 vysledok bude 1, ak priratam 8 vysledok bude 7 atd. V hex to znamena ze i ked sme sa dostali o jeden rad vyssie zoberieme vzdy do uvahy ako vysledok iba najnizsi byte.nighthunter napísal: ↑15 Jan 2023, 20:26a nebude to FF-(31+0C-(vsetky ostatne bajty s pretecenim iba na 1 bajt) tak mi to vychadza, kazdopadne teda iba na fyzickej vrstve je to CAN (dif. par).
Ak použijem tvoj postup, kde len sčítam bajty, tak mi to nevychádza
Pri tomto príklade by bol výsledok C4
31 09 F6 0C 00 00 00 00 00 01 01 C2
0
Re: UART protokol - dekodovanie
Z uvedenej vzorky mi to vychádza takto:
FF - 31 - 0C = C2
C2 xor 01 xor 02 xor 03 xor 04 xor 05 xor 06 xor 07 = C2
napr:
(FF - 31 - 0C) xor 01 xor 04 xor 03 xor 08 xor 05 xor 06 xor 07 = C8
Kód: Vybrať všetko
31 09 F6 0C 01 02 03 04 05 06 07 C2
C2 xor 01 xor 02 xor 03 xor 04 xor 05 xor 06 xor 07 = C2
napr:
Kód: Vybrať všetko
31 09 F6 0C 01 04 03 08 05 06 07 C8
0
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok
-
- 27 Odpovedí
- 2882 Zobrazení
-
Posledný príspevok od používateľa balu