Identifikace neznameho serioveho async kodu

Dotazy na technické problémy, vlastní řešení technických problémů

Moderátor: Moderátoři

Zpráva
Autor
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

Identifikace neznameho serioveho async kodu

#1 Příspěvek od JirkaZ »

Věděl by někdo, co průběh v příloze může být za typ kódu? Jako běžný sériový mi to nepřipadá, chybí tam start a stop bit. Nějaký Manchester apod.?

Jedná se o výstup z kodéru do VF vysílacího modulu, přenáší se pouze tento signál (tj. žádné separátní hodiny). Údajně má jít o jakési "11bitové kódování", nic dalšího nevím. Použito ve speciálním DO průmyslového typu.

Experimenty v Saleae s nastavováním analyzátorů zatím nevedly nikam (zkoušen Async Serial a Manchester).

Díky za smysluplné názory, ev. nasměrování. Nejsem "digitální člověk", tak ne moc zprudka ;-)

V příloze je ze Saleae celý záznam.
Přílohy
saleae_zaznam.zip
(21.97 KiB) Staženo 81 x
neznamy_kod_detail.png
neznamy_kod_detail.png
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

#2 Příspěvek od JirkaZ »

Update: zkusil jsem měření v PulseView (má mnohem větší množství analyzátorů), tam se nějak chytá analyzátor kódu s názvem rc_encode (používají ho např. enkodéry PT2262 apod.).

Potíž je ale v tom, že po sobě následující kódy (vysílají se opakovaně několikrát za sebou) mají různý obsah, viz příloha...

Takže to asi taky nebude úplně ono.

Dodávám, že kodér v předmětném DO je PIC12F629 s nějakým zákaznickým sw (pochopitelně zamčený).
Přílohy
neznamy_kod_pulseview.png
neznamy_kod_pulseview.png
Uživatelský avatar
samec
Příspěvky: 6674
Registrován: 19 pro 2017, 00:00

#3 Příspěvek od samec »

máš tam krátke a dlhé impulzy, takže asi takto

detail
___00000000100111111___

pulseview
__00000000100110100__00000000100110100__00000000100110100__00000000100110100__

prípadne naopak
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

#4 Příspěvek od JirkaZ »

samec: myslíš, že to je něco jako digitální PWM?

Pak bych ale čekal alespoň konstantní vzájemnou rozteč (periodu) náběžných či sestupných hran, ne? To nemají...
Uživatelský avatar
ondraN
Příspěvky: 945
Registrován: 16 srp 2022, 00:00
Bydliště: Roztoky

#5 Příspěvek od ondraN »

Je tam, podle mého mínění, jedenáct kódovaných pulsů, pak dva široké oddělovací a nakonec čtyři kódované. Ty dva široké pulsy by mohl být oddělovač dat a třeba nějakého zabezpečení přenosu. Kódováni by mohlo být třeba krátký H, dlouhý L jako nula a dlouhý H, krátký L jako jednička. A nebo naopak. Ale je to spíš věštění z křišťálové koule, protože je moc málo vzorků a žádná znalost toho, co se přenáší.
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

#6 Příspěvek od JirkaZ »

ondraN:

pokud se týká toho celého Saleae záznamu, tak tam se postupně tiskne 5 funkčních tlačítek, pětice stisků ve stejném pořadí jsou dvě po sobě, poprvé delší stisk, podruhé kratší stisk.

Při kratším stisku je počet opakování téhož kódu (= kódu tlačítka) po stisku dán softwarově (opakuje se cca 20x, min. počet opakování je nejasný, protože se mi nepodařilo "vygenerovat" dostatečně krátký stisk). Při delším stisku se kód tlačítka opakuje tak dlouho, jak dlouho je stisknuté.

Součástí kódu je taky nějaký unikátní kód vysílače (nastavuje se při spárování s přijímačem pomocí 11bitového binárního kódu stiskem určitých tlačítek na vysílači) a nejspíš nějaké zabezpečení spolehlivosti přenosu (parita apod.). Leda že by se k zabezpečení spolehlivosti přenosu využíval ten počet opakování a jako platný se vzal kód s dominantním výskytem...

Můžu sem dát záznam z PulseView nebo Saleae pro dvě různá nastavená kódování vysílače a stejnou kombinaci stisků tlačítek, z toho by mohlo být patrné, která část je kód vysílače a která něco jiného.
Uživatelský avatar
ondraN
Příspěvky: 945
Registrován: 16 srp 2022, 00:00
Bydliště: Roztoky

#7 Příspěvek od ondraN »

Nejdříve bych se podíval na to, jestli tam jsou za všech okolností ty dva dlouhé pulzy mezi 11b a 4b. Pokud ano, jedná se o oddělovač a lze se od toho odpíchnout, pokud ne, je to jinak než jak jsem popsal.
Dále bych srovnal impulzy pro stejná tlačítka ale při spárování s jiným přijímačem. Tady může být skrytý velký problém, protože pokud je to nějaké dálkové ovládání, tak je signál nějak šifrovaný. Tady je taky nutné vědět, jestli je komunikace jen jednosměrná. Když ano, neměl by to být až takový problém. Při obousměrné komunikaci se použiívají plovoucí kódy a s tím se nedá hnout.

P.S. ten celý záznam mi nejde otevřít. Logic chce příponu sal :(
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

#8 Příspěvek od JirkaZ »

ondraN:

Komunikace je jednosměrná, plovoucí kód to nepoužívá.

V příloze je srovnání stisku téhož tlačítka pro tři různá kódování vysílače (screenshoty ze Saleae narychlo vložené do LibreOffice Draw).

Z toho plyne, že dlouhé pulsy jsou zcela různě...
Přílohy
Porovnani_kodu.zip
(21.7 KiB) Staženo 77 x
Naposledy upravil(a) JirkaZ dne 27 lis 2022, 21:46, celkem upraveno 1 x.
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

#9 Příspěvek od JirkaZ »

ondraN píše:...
P.S. ten celý záznam mi nejde otevřít. Logic chce příponu sal :(


Je to ze starší řady (verze 1.2.29), mezitím měnili formát, kompletně GUI (asi někomu vadilo, že to předchozí jde ovládat a uživatel si i mohl zapamatovat jak) a další věci.

Bohužel to udělali tak blbě, že kompatibilita mezi těmi řadami verzí ("starou" a novou) neexistuje, ani nejde data importovat (třeba přes jiný formát) atd. To nevymyslíš...

Zkusím to ještě s tou novou verzí.
Naposledy upravil(a) JirkaZ dne 27 lis 2022, 22:26, celkem upraveno 1 x.
Kremik
Příspěvky: 3885
Registrován: 30 bře 2012, 00:00
Bydliště: Havířov

#10 Příspěvek od Kremik »

Tohle mi něco připomíná. Mám desku, v několika exemplářích, osazenou asi 30ti šváby CMOS4000 a v podstatě nedělá nic jiného, než že po nějakém vstupním pulsu vysílá - teď nevím - asi 128 sekvencí řady pulzů tam a pozpátku. Trošku to připomíná pulsy jako když se točí kódovým kolečkem, ale je do toho zakomponováno i to 7mi či 8mibitové čislo plus nějaké pulsy navíc. Vůbec mě nenapadá, k čemu by to mohlo být. Byl jsem tak zvědavý, že jsem si nakreslil i schéma, ale mám to kdesi založené.
Uživatelský avatar
rnbw
Příspěvky: 37418
Registrován: 21 bře 2006, 00:00
Bydliště: Bratislava

#11 Příspěvek od rnbw »

Nie je to bi-phase coding?
Uživatelský avatar
samec
Příspěvky: 6674
Registrován: 19 pro 2017, 00:00

#12 Příspěvek od samec »

JirkaZ píše:Z toho plyne, že dlouhé pulsy jsou zcela různě...
Ale blbosť. Sú to obyčajné jednotky a nuly z nejakého nepresného časovača.

Z toho, čo vidím, to vyzerá, že na začiatku sú dva nulové start bity, potom jedenásť bitov kód prenosového kanálu a za tým štyri bity kód tlačidla, alebo tri bity kód tlačidla a jeden bit parita.

Henten sale..čo? neviem otvoriť a odmietam si kvôli tomu inštalovať visual studio!
Uživatelský avatar
ondraN
Příspěvky: 945
Registrován: 16 srp 2022, 00:00
Bydliště: Roztoky

#13 Příspěvek od ondraN »

Nepřesnost pulzů může být i tím, že je nastavená moc malá vzorovací frekvence analyzátoru. Zkus poslat ten sal soubor a zkus jednotlivé pakety navzorkovat s vyšší frekvencí. Taky by bylo dobré vědět, jaký je tvůj záměr. Možná by byla analýza pak jednodušší.
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

#14 Příspěvek od JirkaZ »

samec píše:
JirkaZ píše:Z toho plyne, že dlouhé pulsy jsou zcela různě...
Ale blbosť. Sú to obyčajné jednotky a nuly z nejakého nepresného časovača.


To "jsou zcela různě" bylo míněno jako "zcela různě umístěné v rámci bitové souslednosti". Jako odpověď na dotaz ondryN ("Nejdříve bych se podíval na to, jestli tam jsou za všech okolností ty dva dlouhé pulzy mezi 11b a 4b.")

samec píše:Z toho, čo vidím, to vyzerá, že na začiatku sú dva nulové start bity, potom jedenásť bitov kód prenosového kanálu a za tým štyri bity kód tlačidla, alebo tri bity kód tlačidla a jeden bit parita.


OK, dík, podívám se na to.

samec píše:Henten sale..čo? neviem otvoriť a odmietam si kvôli tomu inštalovať visual studio!


Saleae Logic, viz výše, nebo tady. Na co proboha nějaké Visual Studio? Update: jo aha, oni to pro widlous vyžadují. No jo, no....

Konkrétně záznam je z verze 1.2.29, je nutné ji spouštět s parametrem --override (viz zde).
Uživatelský avatar
JirkaZ
Příspěvky: 3651
Registrován: 26 úno 2021, 00:00

#15 Příspěvek od JirkaZ »

ondraN píše:Nepřesnost pulzů může být i tím, že je nastavená moc malá vzorovací frekvence analyzátoru. Zkus poslat ten sal soubor a zkus jednotlivé pakety navzorkovat s vyšší frekvencí. Taky by bylo dobré vědět, jaký je tvůj záměr. Možná by byla analýza pak jednodušší.


Momentální vzorkování je 100ks/s. Jo, zkusím to, potíž je v tom, že novější verze (co produkují ty *.sal soubory) mi nefungují. Ale budu to ještě nějak řešit.

Formát PulseView by nevyhověl?

Záměrem je o tom kódu získat základní informace pro případ možného budoucího nahrazení ev. nedostupného vysílače.

Mezitím jsem si vzpomněl, že by kód mohl nějak být odvozen od kódování Holteku HT12 (kodér viz třeba tady, popis kódu elektronická strana 5 a 6). Důvodem je to, že v podobných vysílačích se dříve tyto obvody používaly. Jedná se ale jen o moji spekulaci.
Odpovědět

Zpět na „Poradna“