Vítejte na Elektro Bastlírn?
Nuke - Elektro Bastlirna
  Vytvořit účet Hlavní · Fórum · DDump · Profil · Zprávy · Hledat na fóru · Příspěvky na provoz EB

Vlákno na téma KORONAVIRUS - nutná registrace


Nuke - Elektro Bastlirna: Diskuzní fórum

 FAQFAQ   HledatHledat   Uživatelské skupinyUživatelské skupiny   ProfilProfil   Soukromé zprávySoukromé zprávy   PřihlášeníPřihlášení 

Identifikace neznameho serioveho async kodu
Jdi na stránku Předchozí  1, 2
 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Poradna
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2800

PříspěvekZaslal: po listopad 28 2022, 12:50    Předmět: Citovat

ondraN:

v příloze jsou 3 měření pomocí Saleae sw druhé (novější) řady, konkrétně verze 2.3.15-master. Novější mi nefungují.

Jedná se jako předtím o postupné ruční stisknutí (tentokrát šesti) ovládacích tlačítek na DO, pořadí zůstává stejné, délka stisku je vidět z pulsu Tx Vcc (napájecí napětí vysílacího modulu).

Vysílaný kód tlačítka se stále opakuje, dokud je stisknuté, nebo je délka/počet opakování zdola softwarově omezena na nějaké minimum (popsal jsem už výše).

Jednotlivé záznamy se liší nastavením kódování vysílače - kód je součástí názvu souboru.

Vzorkování je tentokrát nastaveno na 4 MHz.

Díky za pomoc.



Saleae_Logic_2.zip
 Komentář:

Stáhnout
 Soubor:  Saleae_Logic_2.zip
 Velikost:  46.12 kB
 Staženo:  34 krát

Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ondraN



Založen: Aug 16, 2022
Příspěvky: 386
Bydliště: Roztoky

PříspěvekZaslal: po listopad 28 2022, 14:02    Předmět: Citovat

Večer se na to podívám. Možná bude někdo rychlejší.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
ondraN



Založen: Aug 16, 2022
Příspěvky: 386
Bydliště: Roztoky

PříspěvekZaslal: po listopad 28 2022, 19:08    Předmět: Citovat

Myslím, že v první části je identifikace vysílače 11bitů, pak jsou vložené dvě jedničky a pak je kód tlačítka. Vzhledem k tomu, jak je koncipováno párování, tak si přijímač zapamatuje adresu vysílače a na tu reaguje. Nemá to žádnou paritu, ta je daná opakováním a asi bude stačit přijetí dvou nebo tří stejných bloků za sebou. Pro náhradu jiným zařízením postačí, naskenování kombinací posledních čtyř bitů (16kombinací) pro jednotlivá tlačítka a pak si zapamatovat ID všech vysílačů, se kterýmy to bylo možné spárovat. No a pak stačí jen vygenerovat (nejspíš přes nějaký MCU, ale šlo by to i HW) ID, dvě jedničky a kód tlačítka. A pak ještě ten vysílač, ale to není moje parketa Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2800

PříspěvekZaslal: po listopad 28 2022, 19:27    Předmět: Citovat

ondraN: perfektní odpověď, ale prosím o vysvětlení, jak jsou v daném kódu definovány stavy (0 a 1).

Jsou to úrovně v daném okamžiku a synchronizace je hranami pulsů, nebo nějak jinak?

Párování u tohoto systému je tupě statická, člověkem prováděná činnost. Přijímač má kódování nastavitelné jumpery nebo DIPswitchem (pokud si dobře vzpomínám), vysílač to kdysi míval taky, teď se nastavuje v setup módu (vyvolaném stisknutím kombinace tlačítek) postupným stisknutím tlačítek nastavujících 0 a 1.

Čili přijímač se ničemu nepřizpůsobuje, je nastavený předem a vysílač se musí nastavit stejně.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ondraN



Založen: Aug 16, 2022
Příspěvky: 386
Bydliště: Roztoky

PříspěvekZaslal: út listopad 29 2022, 8:02    Předmět: Citovat

Jak jsou v daném kódu definovány stavy (0 a 1)?
To by vyžadovalo další zkoumání. Ale je to úplně zbytečná informace. Prostě vygeneruješ identický signál, co generuje vysílač. Ta informace, co je 0,1 a jakýma hranama se co synchronizuje, je zbytečná. Máš prostě identifikační část paketu, ta je vždy stejná pro každý vysílač (nastavený na kók přijímače), a pak máš výkonnou část v různých variaích a tu přilepíš k té identifikační. Více prostě nepotřebuješ. A to že se přijímač nepřizpůsobuje, je další bonus, který to zeště zjednodušší, protože potřebuješ jen jednu identifikaci.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2800

PříspěvekZaslal: út listopad 29 2022, 10:07    Předmět: Citovat

Mně je samozřejmě od počátku jasné, že přesnou reprodukcí stávajícího signálu by to bylo vyřešené.

Ale chtěl jsem pro zajímavost vědět víc, dělám to tak skoro vždycky. No a jelikož nejsem specialista na kódování, tak se ptám tady.

Čili ještě jednou díky ondroviN za příspěvky. Kdybys se časem (nebo někdo jiný) chtěl ještě zamyslet nad způsobem přenosu stavů (0 a 1) daným kódem, tak to - čistě ze zvědavosti - taky uvítám.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ondraN



Založen: Aug 16, 2022
Příspěvky: 386
Bydliště: Roztoky

PříspěvekZaslal: út listopad 29 2022, 11:26    Předmět: Citovat

To jde samozřejmě zjistit, ale už potřebuješ svůj vlastní generovaný signál a trochu s ním experimentovat. Dá se tak zjistit třeba citlivost přijímače na přesné generování signálu a spousta dalších věcí. Ale vzhledem k tomu, že je ten signál generovaný a zpracovaný MCU, může být algoritmus téměř jakýkoli a platný jen pro tohle zařízení, ne obecně. Pro ukojení zvědavosti je to dobré, ale pro splnění požadovaného cíle a dalšího použití to moc cenu nemá.
Můj tip je ten, že se v přijímači měří poměr trvání H a L a podle toho se to vyhodnocuje. Má to tu výhodu, že se vždy generuje synchronizační hrana (ať je bit 1 nebo 0) a dá se použít třeba interní RC oscilátor MCU, který zrovna přesností neoplývá. Podobně je to řešené třeba u digitálních LED WS2812D, tak mrkni do datasheetu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
JirkaZ



Založen: Feb 26, 2021
Příspěvky: 2800

PříspěvekZaslal: út listopad 29 2022, 11:33    Předmět: Citovat

ondraN napsal(a):
...
Můj tip je ten, že se v přijímači měří poměr trvání H a L a podle toho se to vyhodnocuje. Má to tu výhodu, že se vždy generuje synchronizační hrana (ať je bit 1 nebo 0) a dá se použít třeba interní RC oscilátor MCU, který zrovna přesností neoplývá. Podobně je to řešené třeba u digitálních LED WS2812D, tak mrkni do datasheetu.


Čili to by vedlo na princip typu "digitální PWM", viz výše... Jo, kouknu, díky.

Soustředím se i na ten taky výše uvedený Holtek HT12E, tam se (pokud to dobře chápu) přenáší 0 a 1 právě rozdílnými šířkami pulsů.



HT12E_bit_comparison.png
 Komentář:
 Velikost:  32.47 kB
 Zobrazeno:  26 krát

HT12E_bit_comparison.png


Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
ondraN



Založen: Aug 16, 2022
Příspěvky: 386
Bydliště: Roztoky

PříspěvekZaslal: út listopad 29 2022, 12:41    Předmět: Citovat

Jo, je to dost oblíbený způsob kódování a i celkem robustní.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Zobrazit příspěvky z předchozích:   
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Poradna Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra.
Nemůžete odpovídat na témata v tomto fóru.
Nemůžete upravovat své příspěvky v tomto fóru.
Nemůžete mazat své příspěvky v tomto fóru.
Nemůžete hlasovat v tomto fóru.
Nemůžete připojovat soubory k příspěvkům
Můžete stahovat a prohlížet přiložené soubory

Powered by phpBB © 2001, 2005 phpBB Group
Forums ©
Nuke - Elektro Bastlirna

Informace na portálu Elektro bastlírny jsou prezentovány za účelem vzdělání čtenářů a rozšíření zájmu o elektroniku. Autoři článků na serveru neberou žádnou zodpovědnost za škody vzniklé těmito zapojeními. Rovněž neberou žádnou odpovědnost za případnou újmu na zdraví vzniklou úrazem elektrickým proudem. Autoři a správci těchto stránek nepřejímají záruku za správnost zveřejněných materiálů. Předkládané informace a zapojení jsou zveřejněny bez ohledu na případné patenty třetích osob. Nároky na odškodnění na základě změn, chyb nebo vynechání jsou zásadně vyloučeny. Všechny registrované nebo jiné obchodní známky zde použité jsou majetkem jejich vlastníků. Uvedením nejsou zpochybněna z toho vyplývající vlastnická práva. Použití konstrukcí v rozporu se zákonem je přísně zakázáno. Vzhledem k tomu, že původ předkládaných materiálů nelze žádným způsobem dohledat, nelze je použít pro komerční účely! Tento nekomerční server nemá z uvedených zapojení či konstrukcí žádný zisk. Nezodpovídáme za pravost předkládaných materiálů třetími osobami a jejich původ. V případě, že zjistíte porušení autorského práva či jiné nesrovnalosti, kontaktujte administrátory na diskuzním fóru EB.


PHP-Nuke Copyright © 2005 by Francisco Burzi. This is free software, and you may redistribute it under the GPL. PHP-Nuke comes with absolutely no warranty, for details, see the license.
Čas potřebný ke zpracování stránky 0.13 sekund