10.07.2015 Views

Komunikace mezi magnetometrem a ARM procesorem - wiki

Komunikace mezi magnetometrem a ARM procesorem - wiki

Komunikace mezi magnetometrem a ARM procesorem - wiki

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Obr. 3.5 – Formát příkazu pro gyroskop ADIS16255 od jednotky Master [7]V prvním odesílaném rámci tedy definujeme typ akce. Pro čtení zvolíme nejvyšší bits hodnotou log.0. Bity A0-A5 definují adresu datového registru, ze kterého pak čtemepožadovaná data. Pokud zvolíme data gyroskopu (s rozlišením 14-bit), zadáme adresu 0x04či 0x05. Hodnota nejnižšího bitu v přepočtu na úhlovou rychlost, kterou gyroskop měří, jedána nastavením jednoho ze tří možných rozsahů měření. Dále např. pro volbu datintegrovaného teploměru (s rozlišením 12-bit) zadáme adresu 0x0C či 0x0D.Při této první komunikaci zároveň odešle Slave 16-bit rámec, jehož obsah je závislý napředchozím příkazu. Pokud tedy čteme poprvé (nebo předchozí příkaz nebyl platný), jedná seo nedefinovaná data, která ukládáme v procesoru do pomocného registru běžně označovanéhojako „dummy“. V druhém 16-bit rámci již obdržíme příslušná data.Jako obvyklý způsob výměny naměřených hodnot bývá odesílání příkazu a čtení do„dummy“ registru během přenosu prvního rámce, během přenosu druhého rámce pak příjempožadovaných dat a odesílání prázdného příkazu.Obdržený rámec požadovaných dat má dva nejvyšší bity příznakové. Nejvyšší bitv případě hodnoty log.1 signalizuje, že se jedná o nová data. Druhý nejvyšší bit je nastavenv případě signalizace alarmu. Spodní bity jsou pak datové.Reálnou komunikaci je možné vidět na obr. 3.6. Obrovskou výhodou tohotogyroskopu oproti magnetometru (viz kapitola 4) je funkce ve Slave modu, dále pak rychlostobnovení naměřených dat v řádu stovek Hz a v neposlední řadě rychlost vlastního přenosu,kdy signál SCLK může dosahovat až frekvence řádově jednotek MHz.12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!