Odchytávání dat
Hynek Sladky
econf na centrum.cz
Pondělí Květen 18 11:54:56 CEST 2015
Asi nejjednodussi bych videl pouzit SPI s vyssim taktem (aspon 1MHz nebo
radsi i vic) a prijata data pak zpracovat po prijeti celeho paketu.
Podobne se da pouzivat UART pro 1-wire komunikaci (ktera je ale
pomalejsi a prenos zahajuje vzdy master).
Hynek Sladky
Dne 18.5.2015 11:28, Michal Grunt napsal(a):
> Předělávám hračku (starý tank) na digitál a pořídil jsem k tomuto účelu šňůrový herní ovladač od Nintenda (Čína, ebay za pár korun) a to hlavně kvůli tomu, že to má dva analogové kniply a slibuji si od toho plynulé řízení otáček motorů (co knipl to motor). Původně jsem myslel, že jsem koupil ovladač, který má řízení I2C, ale leželo mi to rok v šuplíku a až včera jsem zjistil, že je to verze (k jinému typu Nintenda), která komunikuje pouze po jednom drátu (něco jako 1 wire). Našel jsem si na internetu komunikační protokol poslal sled jedniček a nul do ovladače a ten mi odpoví 24 bitovou hodnotou (zkoumáno pomocí log. analyzátoru) takže komunikace je funkční. Problém je v tom, že mi dělá potíže komunikaci odchytit procesorem. Jeden bite má délku pouhých 5us (dle log. analyzátoru 4.4 - 4.5us). Prvních 8 bitů odchytnu (jsou to zrovna tlačítka a ty mě momentálně nezajímají, ale funguje to, na tlačítka to reaguje), ale další už mi dělají problémy. Když jsem na to koukal log. analyzátorem tak se průběhy (časování) při každém požadavku trošku mění takže nelze pouze čekat x us a zkontrolovat vstup... Jak se tohle řeší? Mám čekat na sestupnou hranu, počkat cca 2-3us zkontrolovat vstup a na další pul zase čekat na sestupnou hranu?
>
> http://www.int03.co.uk/crema/hardware/gamecube/gc-control.html
>
> MG
Další informace o konferenci Hw-list