Freescale Semiconductor MPL115: cyfrowy barometr MEMS
Układ MPL115A2 (fotografia 1) to scalony MEMS będący miniaturowym, fabrycznie skalibrowanym barometrem do pomiaru ciśnienia powietrza atmosferycznego. Do komunikacji z układem wykorzystywana jest magistrala I2C (dostępna jest także wersja układu z interfejsem SPI, oznaczona symbolem MPL115A1).
Podstawowe cechy i parametry układów MPL115Ax:
|
Układ MPL115A2 (dostępny także na module KAmodBAR) jest przeznaczony do pomiaru ciśnienia atmosferycznego w zakresie 50…115 kPa. Komunikacja z układem odbywa się przy pomocy magistrali I2C, za pośrednictwem której można zarówno zainicjować kolejny pomiar jak i odczytać stany rejestrów z wynikami. Prezentowany układ składa się z czujnika MEMS mierzącego bezwzględną wartość ciśnienia oraz cyfrowego termometru.
Po uwzględnieniu obydwu tych pomiarów podczas przeliczeń otrzymuje się wartość liczbową z zakresu 0…1023. Wartość ta jest proporcjonalna do wartości ciśnienia z przedziału 50…115 kPa. Taki sposób odczytu ułatwia stosowanie układu we wszelkiego typu sterownikach i automatach kontrolujących poziom ciśnienia.
Fot. 1. Wygląd układu MPL115Ax
Rys. 2. Schemat blokowy układu MPL115A2
Na rysunku 2 pokazano schemat blokowy układu MPL115A2 oraz sposób jego dołączenia do zewnętrznego mikrokontrolera. Na rysunku 3 pokazano schemat zestawu testowego, do którego dokumentację produkcyjną mogą pobrać zarejestrowani użytkownicy portalu, a na fotografii 4 pokazano wygląd zmontowanej płytki testowej.
Rys. 3. Schemat elektryczny zestawu testowego
Zestaw wykorzystany w prezentowanym projekcie jest zgodny elektrycznie z modułem KAmodBAR-I2C. |
Fot. 4. Wygląd zestawu testowego (zgodnego elektrycznie z KAmodBAR) z układem MPL115A2
Na płytce oprócz kondensatorów odsprzęgających zamontowano także rezystory podciągające do „plusa” napięcia zasilania wszystkie wyprowadzenia sterujące układu. Wyprowadzenia te połączono z dwoma złączami. Do złącza Con1 oprócz zasilania doprowadzono sygnały magistrali I2C SCL i SDA. Z kolei do złącza Con2 podłączono wyprowadzenia RST (stan niski blokuje komunikację magistralą I2C) i SHDT (stan niski wprowadza układ w tryb uśpienia) oraz powielone styki doprowadzające zasilanie.
Komunikacja z układem za pośrednictwem magistrali I2C może odbywać się z szybkością do 400 kb/s. Adresem układu MPL115A2 jest 7-bitowa liczba 0x60 lub binarnie 1100000. Najmłodszym 8 bitem jest 1 (dla odczytu danych z układu) lub 0 (dla zapisu danych do układu).
Dokonując pomiaru należy najpierw go zainicjować. Można oddzielnie zainicjować pomiar ciśnienia (kod rozkazu 0x10), temperatury (kod rozkazu 0x11) lub obu jednocześnie (kod rozkazu 0x12). W czasie pomiaru (ok. 1 ms) komunikacja magistralą jest zawieszona. Po tym okresie można przystąpić do odczytu pomiaru którego wartość zapisana jest w wewnętrznych rejestrach MPL115A2. Pod adresem 0x00 zapisany jest 10-bitowy rezultat konwersji ciśnienia, pod adresem 0x02 zapisany jest 10-bitowy rezultat konwersji temperatury, a od adresu 0x04 zostało zapisanych 12 bajtów współczynników korekcyjnych niezbędnych do dalszych obliczeń.
Po zakończeniu odczytu można przystąpić do obliczenia 2-bajtowej wartości względnej ciśnienia czyli liczby z przedziału 0…1023. Przeliczenie odbywa się według wzoru:
Pcomp = a0 + (b1 + c11*Padc + c12*Tadc) * Padc + (b2 + c22*Tadc) * Tadc
W tabeli 1 zestawione zostały składniki potrzebne do wykonania obliczeń z podaniem ich rozmiaru w bitach i bajtach oraz adresu początkowego w wewnętrznych rejestrach MPL115A2.