Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2015:f3-accel-gyro

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

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>​
 +
2015/f3-accel-gyro.1453053992.txt.gz · Poslední úprava: 2016/01/17 19:06 autor: Jan Dvořák