I2C protokol dekodovanie.

Všetko čo sa týka mikropočítačov + Sekcia Arduino

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

I2C protokol dekodovanie.

Príspevok od používateľa pajky » 31 Jan 2023, 14:51

Caute.
Toto je pokracovanie debaty z

https://svetelektro.com/phpbb/?phpbb=dm ... Q9MTM4MA==

Trochu som to dal dokopy.
I2c z Bms ide na 12V urovni. Tak som spravil prevodnik na 5v a je to pripojene k arduinu.
Nahral som do neho nejaky program z netu, kedze velmy programovat neviem.
Prikladam foto vysledku. Napada niekoho nieco?
I2c scan mi vrati adresu Bms.
I2c read 0x(adresa) 16 (pocet bytov ktore ma precitat) mi vypise 16 x FF.
Podla logickeho analizera mam pocit, ze tam za adresou i2c chyba este nejaky znak..??
Dakujem za pomoc.
Prílohy
20230130_190152.jpg
20230130_190228.jpg
20230130_190146.jpg
0

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 10 Feb 2023, 18:03

No co pani kurnik, nikoho nic nenapada?
Teraz nemam cas laborovat, ale ten pride a budem rad ak niekoho nieco napadne, resp vie ako ma komunikacia vyzerat.. a pak sa mi poznatky budu hodit.
Hladal som nejaky projekt, ktory dam do arduina dosky. Asi som bohvie co nenasiel.vid foto.
Nieco co preposiela terminal na i2c.
Blbost, a ziadny projekt na nete. Neviem skoro programovat , tak sa mi to nechce cele si napisat samemu.
Co ale spravim ak bude treba.
Pouzivam AvrStudio a idem v Ccku. Nebudem riesit nejake pseudojazyky.
0

Atlan
Zaslúžilý člen
Zaslúžilý člen
Príspevky: 1146
Dátum registrácie: 01 Feb 2008, 00:00
Bydlisko: Kosice okolie

Re: I2C protokol dekodovanie.

Príspevok od používateľa Atlan » 10 Feb 2023, 19:03

Naposledy ked som sa hral s SMB od notasovej baterky, tak sa mi podarilo odbornym citanim a zapisovanim, pomenit nejake hodnoty v BMS. az tak mi to nevadilo lebo som mal stiahnuty dump, a vedel to naspet prepisat ked som to spojazdnil. Dokonca som mal aj datasheet integraca takze som vedel co kde zapisujem a menim. ALe takto naslepo si koledujes o pruser.

inak kludne BMS moze byt uzamknuta tj nacitas len uzivatelske data.

skusil by som teda nacitat bezne uzivatelske data, bude tam vyrobca datum baterky kapacita napatie a podobne mrkni nejake programi pre SMB notasa

SMB_Arduino pozri si protokol niekde bude popisany
SMB_bus_v3.rar
(32.14 KiB) 43 stiahnutí
0

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 10 Feb 2023, 23:53

Toho za bojim aby som nepomenil nejake veci. Tak by sa celkom aj hodilo, ak by tam boli len uzivatelske data.. to by mi stacilo.

Ked to dodrbem, tak pojde do kosa a dam tam svoju BMS.
0

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 24 Feb 2023, 21:39

Pripomeniem sa. Nejake napady, doporucenia, kompletne zdrojaky? Uz s tym budem musiet pohnut.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: I2C protokol dekodovanie.

Príspevok od používateľa peterple » 24 Feb 2023, 23:30

Keď chceš radu ohľadom I2C tak si prečítaj akýkoľvek datasheet k nejakej I2C pameti, alebo RTC. Zožen si taký modul a vyskúšaj si či tomu správne chápeš. Plno kódov pre arduino.
Ohľadom reverz inžinieringu tej dosky by som išiel na to inak. Zahodil by som ten prevodník úrovní. Na doske by som vysledoval kde to prevedú a kam to majú pripojené na ten ich MCU. Tam budú pravdepodobne slušné I2C úrovne. Tam by som pripojil ten logický analyzátor, nabral čo najviac komunikácie a môžeš analyzovať do úplného vyanalyzovania.
A samozrejme treba potom ešte chytiť nejaké programátorské grífy. Nečakaj žiadne veľké programovanie od pospolitého ľudu. Nemá totiž prečo zabíjať čas tvojimi problémami. Ani ťa učiť veci čo sa dnes dajú naučiť z kdejakého youtube videa.
1
Obrázok 1
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 25 Feb 2023, 14:49

Tam nic ine nekomunikuje na i2c. Takze neodchytim ziadnu komunikaciu...
Nj, kto by sa mi s tym drbal, ani mne sa nechce. Ale skusil som chatGPT a ten je schopny nejaky kod napisat, bol to s nim trosku boj, ale nejaky zaklad mi dal, tak budem skusat.
0

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 02 Mar 2023, 19:38

Páni.
Tak po uvodnej frustracii, pokracuje, ale nieje konecna.
Nejakym zazrakom som sa pripojil a vyzera to ze musim poslat adresu a dalsie 3 byt.
Prvy z nich vyzera na register. Nejde to od 0x00 a dalej, je to skokovo. Tak skor stastie ze som trafil.
Este neviem, ako data interpretovat. A ktore su co. Nemam oskenovane vsetky adresy, chcelo by to nejaky script, nech to prebehne cele.
Prikladam foto z terminalu. Posiela mi to ako odpoved 2 byt.
Koho co napada?
Prílohy
20230302_184808.jpg
0

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 29 Mar 2023, 17:09

prikladam vypis. pridam este popis dnes.

No caute.
Napada niekoho ako interpretovat tieto hodnoty?
Prvy stlpec je adresa v pamäti. Zapisujem ju v tvare 0x10(adresa i2c) 0x00-0xff(adresa pamät) 0x00 0x00
Prvy stlpec je teda adresa
Druhy stlpec je byt vycitany 0, potom byt 1, potom 2.
Dalsi trojstlpec su tie 3 byty prevedene na ciselnu hodnotu.
A dalsi do ascii.



Subor
Aaa- bms napajana z laboratorneho zdroja, nepripojene clanky, snimanie teploty a prudu.
Bbb- bms s baterkami, vsetko pripojene.
Ccc- ako bbb, ale o 1min pozdejsie.
Prílohy
aaa.zip
(4.12 KiB) 34 stiahnutí
0

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 29 Mar 2023, 23:44

Tak podla vsetkeho to sedi na SMBus.
Zhruba polovica dat sa asi bude dat rozlustit. A potom tam budu este nejake uzivatelske.
Takze sa mozem ucit dalej programovat.
Pekna prplacka.

Musim zistit ci by to slo previest na polintech protokol.
0

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 07 Apr 2023, 23:04

Kua, ako vycitam string? Aky je tam rozdiel oproti citanu word?
Ide o adresu 0x20. To je info vyrobca.
Smb je v1.0

Aky je rozdiel medzi prikazom I2c-start a i2c-repeat start?
0

Používateľov profilový obrázok
YellowJacket
Pokročilý člen
Pokročilý člen
Príspevky: 503
Dátum registrácie: 05 Feb 2012, 11:58
Bydlisko: Hrinova
Vek: 33

Re: I2C protokol dekodovanie.

Príspevok od používateľa YellowJacket » 08 Apr 2023, 08:45

String nie je nic ine, ako pole byte-ov, ukonceny nulovym znakom. Citas kazdy byte, az pokial neprecitas 0.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: I2C protokol dekodovanie.

Príspevok od používateľa peterple » 08 Apr 2023, 09:34

pajky napísal:
07 Apr 2023, 23:04
Aky je rozdiel medzi prikazom I2c-start a i2c-repeat start?
Žiadny. Slúži to len na malé, bezvýznamné urýchlenie komunikácie (netreba urobiť STOP). Kludne používaj START - STOP ak ti to robí problém naprogramovať.

https://learn.adafruit.com/working-with ... ated-start
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 08 Apr 2023, 12:12

Pekny popis na tej stranke.

Podla vsetkeho to tak mam aj napisane, ale akoby mi precitalo len 2 byty.
Ale nemam este spravenu citaciu slucku pre string.
Citam 4 byty.
A vysledok je akoby prve 2 pismena a potom 0xff 0xff.
Pritom by to malo byt v tvare: pocet bytov k citaniu, potom byty stringu.
Skusim este tu citaciu slucku pre 32byt co to spravi.

Inak to funguje celkom ok. Co som chcel hlavne vycitat uz mam, skusim este tie stringy a potom este interpretovat data do ludskej reci.

I2c ide na 100khz
Uart 115200
Jeden ciklus asi 0,7s.
0

peterple
Ultimate člen
Ultimate člen
Príspevky: 2328
Dátum registrácie: 25 Jún 2013, 21:06
Bydlisko: Krajné
Vek: 57
Kontaktovať používateľa:

Re: I2C protokol dekodovanie.

Príspevok od používateľa peterple » 08 Apr 2023, 13:09

Ak si po dvoch znakoch dostal 0xff 0xff tak to asi nebude string. 0xff nie je žiadny rozumný znak. Zvyčajne to býva "prázdna hodnota". To preto lebo 0xff je obsah bunky po aplikácii operácie erase. Nemusí to platiť absolútne. Ak sú tam napr uložené čísla tak tie samozrejme môžu obsahovať aj bajty 0xff.
0
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.

Používateľov profilový obrázok
pajky
Pokročilý člen
Pokročilý člen
Príspevky: 954
Dátum registrácie: 03 Jan 2009, 00:00
Bydlisko: Cadca

Re: I2C protokol dekodovanie.

Príspevok od používateľa pajky » 08 Apr 2023, 17:17

Jj, je to divne, ale podla SMB by to mal byt string, tak este skusim. Ostatne veci vyzeraju ze sedia.
Ale zajtra, dnes idem nakuknut dielnicku.
Inak logicky analyzer je na toto paradna vec, mozno kupim aj original seale logic.

Mozno by sa hodil a nejaky Jtag programator, ako to s nim je? Vidim v realnom case stav premennych pouzitych v progame? Nieco ako pri programovani PLC?

Len pri tom ako casto programujem proesory, tak neviem ci to ma vyznam.
0

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok