Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Obě strany předchozí revize Předchozí verze | |||
2015:f3-accel-gyro [2016/01/17 19:06] Jan Dvořák |
2015:f3-accel-gyro [2016/01/17 19:11] (aktuální) Jan Dvořák |
||
---|---|---|---|
Řádek 9: | Řádek 9: | ||
== MEMS technologie == | == MEMS technologie == | ||
{{ :2015:f3-accel-gyro:x2_mikrorezonator.jpg?direct&300|}} | {{ :2015:f3-accel-gyro:x2_mikrorezonator.jpg?direct&300|}} | ||
+ | |||
Zkratka MEMS (Micro-Electro-Mechanical Systems) s sebou nese současně označení technologie výroby a současně označení produktů touto technologií vytvořených. Jedná se poměrně o novou technologii, kterou v dnešní době podpořila úroveň miniaturizace, úroveň technologických postupů a znalost materiálů. Její vývoj se ovšem zdaleka neblíží konci. Tato technologie je implementací mechanických struktur do jediného pouzdra společně s elektronikou. Tato elektronika většinou slouží k digitalizaci naměřené analogové veličiny, filtraci, případně dalšímu zpracování. | Zkratka MEMS (Micro-Electro-Mechanical Systems) s sebou nese současně označení technologie výroby a současně označení produktů touto technologií vytvořených. Jedná se poměrně o novou technologii, kterou v dnešní době podpořila úroveň miniaturizace, úroveň technologických postupů a znalost materiálů. Její vývoj se ovšem zdaleka neblíží konci. Tato technologie je implementací mechanických struktur do jediného pouzdra společně s elektronikou. Tato elektronika většinou slouží k digitalizaci naměřené analogové veličiny, filtraci, případně dalšímu zpracování. | ||
Řádek 44: | Řádek 45: | ||
Program je psán v programu EmBitz a kompilován přiloženým kompilátorem ARM GCC. Pro samotný projekt bylo využito poměrně nových HAL knihoven uvedených výrobcem mikroprocesoru, které jsou více abstraktně orientované, než dosud standardní SPL knihovny. U těchto knihoven není nutné nastavovat periferie (časovače, komunikační rozhraní) na úrovni bitů, ale za pomocí již definovaných funkcí. Přerušení a jiné rutiny se zde realizují pomocí callbacků, namísto klasických obsluh přerušení. Původním záměrem byl vývoj vlastních knihoven pro oba MEMS senzory, nicméně po určitém čase zkoušení a experimentování byla zvolena taktika přepoužití již napsaných knihoven. Za tímto účelem byly využity vzorová řešení od STM. Tato vzorová řešení obsahují již pěkně napsané knihovny, ovšem struktura a zřetězení těchto knihoven pro obsluhu jednotlivých snímačů byla téměř žalostná. Z tohoto důvodu byly knihovny pro oba snímače upraveny s ohledem na univerzálnost následovně: | Program je psán v programu EmBitz a kompilován přiloženým kompilátorem ARM GCC. Pro samotný projekt bylo využito poměrně nových HAL knihoven uvedených výrobcem mikroprocesoru, které jsou více abstraktně orientované, než dosud standardní SPL knihovny. U těchto knihoven není nutné nastavovat periferie (časovače, komunikační rozhraní) na úrovni bitů, ale za pomocí již definovaných funkcí. Přerušení a jiné rutiny se zde realizují pomocí callbacků, namísto klasických obsluh přerušení. Původním záměrem byl vývoj vlastních knihoven pro oba MEMS senzory, nicméně po určitém čase zkoušení a experimentování byla zvolena taktika přepoužití již napsaných knihoven. Za tímto účelem byly využity vzorová řešení od STM. Tato vzorová řešení obsahují již pěkně napsané knihovny, ovšem struktura a zřetězení těchto knihoven pro obsluhu jednotlivých snímačů byla téměř žalostná. Z tohoto důvodu byly knihovny pro oba snímače upraveny s ohledem na univerzálnost následovně: | ||
- | {{:2015:f3-accel-gyro:bez_nazvu.png?direct&700|}} | + | {{:2015:f3-accel-gyro:bez_nazvu.png?direct&600|}} |
Ke každému .c souboru je připojen hlavičkový soubor (.h). Obě knihovny vyšší vrstvy (L3GD20.c a LSM303DLHC.c) umožňují kompletní práci se snímači, jako vyčítání naměřených hodnot, konfiguraci měření, včetně konfigurace filtrů. Knihovny nižší vrstvy (L3GD20_SPI.c a LSM303DLHC_I2C.c) zprostředkovávají komunikaci mezi snímači a mikrokontrolérem. Tímto způsobem je zde dosažená určitá míra univerzálnosti, kdy je možné při změně platformy přepsat pouze knihovnu nižší vrstvy (_SPI.C, příp. _I2C.c). | Ke každému .c souboru je připojen hlavičkový soubor (.h). Obě knihovny vyšší vrstvy (L3GD20.c a LSM303DLHC.c) umožňují kompletní práci se snímači, jako vyčítání naměřených hodnot, konfiguraci měření, včetně konfigurace filtrů. Knihovny nižší vrstvy (L3GD20_SPI.c a LSM303DLHC_I2C.c) zprostředkovávají komunikaci mezi snímači a mikrokontrolérem. Tímto způsobem je zde dosažená určitá míra univerzálnosti, kdy je možné při změně platformy přepsat pouze knihovnu nižší vrstvy (_SPI.C, příp. _I2C.c). | ||
Řádek 113: | Řádek 114: | ||
[2] KEMPE, V. Inertial MEMS: Principles and Practice. New York: Cambridge University Press, 2011, xiv, 497 s. ISBN 978-0-521-76658-6. | [2] KEMPE, V. Inertial MEMS: Principles and Practice. New York: Cambridge University Press, 2011, xiv, 497 s. ISBN 978-0-521-76658-6. | ||
[3] <http://automatizace.hw.cz/integrovane-mems-gyroskopy> | [3] <http://automatizace.hw.cz/integrovane-mems-gyroskopy> | ||
+ |