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í 

Čtení Wiegand osmibitem

 
Přidat nové téma   Zaslat odpověď       Obsah fóra Diskuzní fórum Elektro Bastlírny -> Programování PIC, ATMEL, EEPROM a dalších obvodů
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
JirkaRCK



Založen: Apr 25, 2010
Příspěvky: 223
Bydliště: Olomouc/Brno

PříspěvekZaslal: po říjen 24 2016, 20:41    Předmět: Čtení Wiegand osmibitem Citovat

Zdravím Smile Rád bych se zde poradil a slyšel vaše názory na softwarovou emulaci přijímače sběrnice Wiegand realizovaného nějakým běžným mikrokontrolérem (např. Atmegou 8 ). Prakticky jde o pár řádků kódu a připojení sběrnice přes dvojici GPIO, v podstatě triviální věc. Jsou takto realizována i různá řešení na internetu (například zde: http://zps-electronics.com/eng/docs/wiegand_rfid_reader_avr/ ). Třeba podle tohoto zdroje: http://www.dhservis.cz/dalsi_1/wiegand.htm se ale zákmit symbolizující bit řádově docela blíží taktu běžných kontrolérů. Začínám být tedy na vážkách, jak by se to celé chovalo, kdyby ve firmwaru byly ještě další drobnosti (třeba že by mohlo přijít přerušení od přijatého bytu na UARTu), které by mohly procesor na nějaký čas zaměstnat. V ideálním případě bych navíc potřeboval naslouchat z více čteček, řekněme z osmi. Tak nevím, jestli už je pozdě večer a já se v těch strojových časech přepočítávám a hledám problém v tom, v čem vůbec není, anebo jak je možné, že to frčí (Jak spolehlivě - dá se to nasadit v reálu? Smile ) třeba lidem na Arduinu, které je v podstatě také pomalý osmibit a v projektech bývá navíc zasekáno obsluhou spoustou dalších čistě softwarově řešených funkcionalit... Napadá vás nějaké efektivnější řešení?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cowley



Založen: Feb 04, 2005
Příspěvky: 3292

PříspěvekZaslal: út říjen 25 2016, 4:28    Předmět: Citovat

S Arduinem (UNO i MEGA) jsem vycital z wiegand ctecky jak 125kHz tak 13.56MHz bez problemu.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: út říjen 25 2016, 6:31    Předmět: Citovat

Ja to taky kdysi delal, pokud si vzpominam bezelo to na nejake rychlejsi x51. Cteni se delalo v obsluze preruseni a trvalo jen velmi kratce. Mam pocit ze casovani te sbernice neni nejak kriticke, ale pokud by se v obsluze jinych preruseni delo neco zdlouhaveho, neni nic jednoduchsiho nez dat vyssi priority preruseni ke cteni teto sbernice. Schvalne si spocitej kolik casu zabere tech par instrukci u mcu ktery ma treba 20 MIPS.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Honza_dy



Založen: Aug 20, 2004
Příspěvky: 2172
Bydliště: Brno-venkov

PříspěvekZaslal: út říjen 25 2016, 8:20    Předmět: Citovat

Před rokem jsem dostal za úkol navrhnout krabičku, která by přijala data ze čtečky popřehazovala jednotlivé byty + něco víc a poslala je zase ven.
Hodně mi pomohlo toto.
Krabička je od té doby v provozu 24/7 a šlape, takže to jde.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
Cowley



Založen: Feb 04, 2005
Příspěvky: 3292

PříspěvekZaslal: út říjen 25 2016, 8:39    Předmět: Citovat

Honza_dy: Hackere ! Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JirkaRCK



Založen: Apr 25, 2010
Příspěvky: 223
Bydliště: Olomouc/Brno

PříspěvekZaslal: út říjen 25 2016, 8:49    Předmět: Citovat

termit256: Jasně, přerušení ti chytí sestupnou hranu a pak máš 2ms na zpracování bitu - téměř královský čas. Problém je, jak paralelně připojit více čteček. uC mívají tak 2 - 3 externí přerušení. S šesti čtečkami obsluhovanými jedním uC by ale bylo přerušeních potřeba 12. Takže jediné jednoduché řešení, co mě napadá, je cyklicky v mainu číst stav 12ti GPIO ( Rolling Eyes Embarassed ). Otázka je, zdali se 5us pulz dá s taktem třeba 16MHz takto spolehlivě zachytit. Přemýšlím, jestli má cenu pouštět se do konstrukcí ala všech 12 vodičů připojených ke GPIO a zároveň přes hradlo AND na společné přerušení. V přerušení pak rozlišovat, který z vodičů přerušení vyvolal - to je druhé řešení, co mě napadlo.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail
termit256



Založen: Dec 06, 2007
Příspěvky: 10335

PříspěvekZaslal: út říjen 25 2016, 14:50    Předmět: Citovat

Jsou 8bitove AVR ktere maji desitky externich preruseni

Na ty hradla zapomen, pokud prijde pulz z vice ctecek najednou, nemusis je zachytit.

S tim vzorkovanim by to taky slo, jen bys musel v preruseni timeru treba kazdych 20us rychle nacist stavy vstupu, nekam je zapsat a inkrementovat nejakou nejakou 8bitovou promenou pro kazdy port. Vse ostatni bys zpracovaval v hlavni smycce. Tam by se to muselo stihnout zpracovat do dalsiho pulzu, pokud bys mel v hlavni smycce nejake zdlouhavosti, opet prerusit od dalsiho timeru a zpracovat. Pomocna promena kterou bys v preruseni postupne zvysoval by ti hlidala chyby prenosu - pokud do predpokladane doby neprijde nula ani jednicka, vyhlasi se chyba a nuluje prenos. Neni spatne ty chyby sledovat a v pripade jejich zvyseneho vyskytu na to upozornit.

Ono taky zalezi na co to mas, jestli to ma byt nejaka hracka nebo to ma fungovat naprosto neprustrelne, pokud mozno. Pocitej s tim, ze pokud budes mit draty delsi nez kratke, budes tam mit spoustu ruseni se kterym se musis poprat, pomuze RS485, ale i tak bych to jen na preruseni nenechaval.

Ja to mam delane tak, ze pokud prijde sestupna hrana, navzorkuju port behem 50us nekolikrat a pokud prevazuje nula, pocitam pulz za platny. Po predpokladanem konci pulzu zacinam casovat okno kde se ignoruji vsechny prichozi data, az zhruba do doby kdy predpokladam prijeti dalsiho pulzu. Podstatne se tak snizi pravdepodobnost zachyceni nejakeho ruseni. Ja mam ale jen jednu ctecku, pro tebe by to chtelo asi nejaky rychlejsi MCU.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Cowley



Založen: Feb 04, 2005
Příspěvky: 3292

PříspěvekZaslal: út říjen 25 2016, 19:56    Předmět: Citovat

8 vstupů najednou jsem viděl naposledy z dob DALLAS (i-button) čteček. U Wiegandu je standard 2-4 vstupy do jednoho MCU, následně oddělené samostatnou RS485 sběrnicí.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JirkaRCK



Založen: Apr 25, 2010
Příspěvky: 223
Bydliště: Olomouc/Brno

PříspěvekZaslal: st říjen 26 2016, 18:16    Předmět: Citovat

Nakonec to budu řešit MCU pro každou čtečku a k řídící jednotce to připojím přes 485ku, bude to trošku komplikovanější, ale myslím, že za tu spolehlivost to stojí.
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 -> Programování PIC, ATMEL, EEPROM a dalších obvodů Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
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.14 sekund