Odchytávání dat

Michal Grunt michal.grunt na vynet.cz
Pondělí Květen 18 11:28:29 CEST 2015


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