Wybór chipsetu do modułu radiowego
收藏资源简介:
<p style="margin-left:0cm; margin-right:0cm">Po przeanalizowaniu wyników prac badawczych nasuwają się następujące wnioski:</p> <ol style="list-style-type:lower-alpha"> <li>Spośród przebadanych różnych częstotliwości wybrana zostaje 868 MHz. Mimo, że z właściwości fizycznych wynika, że częstotliwość 433 MHz powinna dawać lepsze efekty, to okazuje się, że ilość zakłóceń na tym pasmie pochodzących od pracujących wielu urządzeń sprawia, że skuteczność transmisji dla częstotliwości 433MHz jest o wiele mniejsza niż dla częstotliwości 868 MHz.</li> <li>Spośród przebadanych różnych ustawień parametrów modulacji LoRa najoptymalniejsze są SF=7 i BW=250kHz. Pozostałe choć w niektórych przypadkach zbliżone i pracują z większym zasięgiem, powodują równocześnie zwiększony pobór energii, co skutkuje ograniczeniem czasu życia urządzenia.</li> <li>Najoptymalniejsza jest prędkość transmisji równa 10,94 kbps. Wolniejsza transmisja choć jest pewniejsza, bo przy większych odległościach odbiornik szybciej odbierze poprawny pakiet, to pochłania więcej energii, a tą musimy oszczędzać. Szybsza transmisja ma natomiast zmniejszony zasięg działania, ale jest ona możliwa w interesujących nas odległościach.</li> <li>Spośród przebadanych anten, najlepsza jest antena prosta 1/2 fali, bo przy jej wykorzystaniu transmisja odbywa się na największą odległość i mniej oddziałują na działanie niewielkie przedmioty umieszczone w bezpośrednim pobliżu. Niestety ze względu na gabaryty zastosowanie jej może się okazać często problematyczne. Wybór padł na antenę prostą 1/4 fali, gdyż ma tylko nieznacznie słabsze parametry od półfalowej, a jest dwa razy mniejsza. Będzie dużo łatwiejsza do zastosowania.</li> <li>Z przebadanych układów transmiterów bardzo podobne parametry mają i rzeczywiste wyniki badań są bardzo zbliżone dla układów SX1276 i SX1279. Układ SX1277 ma trochę mniejszą czułość, zostaje więc odrzucony w pierwszej kolejności. Natomiast wybrany zostaje układ SX1276 ze względu na jego niższą cenę. <p style="margin-left:0cm; margin-right:0cm">Przy wyborze chipsetu wzięto pod uwagę ofertę czołowych producentów w dziedzinie chipsetów do urządzeń „low power”: MicroChip, Texas Instruments oraz ST Microelectronics. Z ich oferty do oceny i porównania wstępnie wybrano po 2 pozycje, najbardziej odpowiadające wymaganiom projektu. Poniżej w tabeli 35 zestawiono krótkie porównanie podstawowych parametrów, które decydują o wyborze konkretnego typu. </p> <p style="margin-left:0cm; margin-right:0cm">Z tabeli 35 widać, że chipsety firmy Texas Instruments mają najmniej pamięci RAM oraz pobierają dużo energii w trybie Run. Choć mają najmniejszy pobór prądu w trybie Stop, to nie rekompensuje to wcześniej wymienionych wad. Jeśli chodzi o wsparcie producenta przy programowaniu, to udostępnione są tylko biblioteki do wykorzystania w wybranym środowisku programistycznym, co powoduje dodatkowe zmniejszenie atrakcyjności tych układów. Są one też 16-bitowe, więc więcej czasu i energii potrzebują przy obliczeniach na liczbach 32-bitowych.</p> <p style="margin-left:0cm; margin-right:0cm">Chipsety firmy MicroChip, jeśli chodzi o parametry, są jak najbardziej warte są zainteresowania. Mają niski pobór prądu w obu trybach, odpowiednio dużo pamięci RAM. Producent udostępnił własne bezpłatne środowisko programistyczne „Atmel Studio”, w którym są biblioteki do oprogramowania chipsetu tej firmy oraz program „Atmel Start” do wygenerowania kodu startowego, zawierającego konfigurację wszystkich wykorzystywanych zasobów chipsetu. Niestety cena tych układów jest najwyższa. Dodatkowo zachodzi tu niebezpieczeństwo szybkiego wycofania z produkcji, a wtedy trzeba będzie zmienić chipset.</p> <p style="margin-left:0cm; margin-right:0cm">Chipsety firmy ST Microelectronics wydają się najlepsze do zastosowania w tworzonym projekcie. Mają parametry porównywalne (ale nieco korzystniejsze) z układami firmy MicroChip, ale są tańsze. Do wygenerowania kodu startowego ST udostępnia program „Cube MX”, za pomocą którego konfiguruje się wykorzystywane w danym projekcie peryferia i bloki wewnętrzne. Do pisania programów dostępne jest przyjazne środowisko „STM32CubeIDE”. Biblioteki są dobrze opisane i zawierają przykłady wykorzystania konkretnych peryferiów i bloków. Spośród dwóch wstępnie wybranych pozycji tego </p> <p style="margin-left:0cm; margin-right:0cm">producenta kosztowo najlepszy byłby układ STM32L031. Ma on jednak trochę za mało pamięci RAM, w której planowane jest buforowanie sporej ilości danych. Ma przy tym mocno mniej wydajny rdzeń niż STM32L431. Wyższy prąd pobierany przez ten drugi w globalnym bilansie wcale nie będzie zwiększony, bo bardziej wydajny rdzeń szybciej będzie wykonywał program i trochę szybciej następuje wybudzenie.</p> <p style="margin-left:0cm; margin-right:0cm">Do obliczeń wybrano chipsety z większą pamięcią RAM, bo ona jest tu krytyczna. Drugim kryterium jest rdzeń Cortex-M4, który mimo większej wydajności jest bardziej energooszczędny od Cortex-M0.</p> <p style="margin-left:0cm; margin-right:0cm"><strong>Obliczenia teoretyczne</strong></p> <p style="margin-left:0cm; margin-right:0cm">Na podstawie wcześniejszych testów można przyjąć, że czas wysłania pojedynczego pakietu o długości ok. 50 bajtów i przy prędkości 10940 b/s wynosi ok. 50 ms. Wybudzanie i transmisja będzie następować co 200 sek.</p> <p style="margin-left:0cm; margin-right:0cm">Sam układ nadawczy na bazie transmitera SX1276, w czasie nadawania pobiera prąd ok. 30 mA (emitowana moc to +14 dBm / 25mW). Nadawanie będzie trwało 50 ms, więc jest to ok. 0,025 % całkowitego czasu. W trybie Sleep układ pobiera prąd ok. 0, 2 uA. Z tego wynika, że sam układ nadawczy będzie pobierał średnio ok. 7,7 [uA]</p> <p style="margin-left:0cm; margin-right:0cm"><strong>Obliczenia dla ATSAM4LC2A</strong></p> <p style="margin-left:0cm; margin-right:0cm">- pobór prądu w uśpionym chipsecie jest rzędu 1,5 [uA]</p> <p style="margin-left:0cm; margin-right:0cm">- przy wybudzeniu zegar chipsetu będzie pracował z częstotliwością 16 [MHz] (rezonator wewnętrzny), co daje prąd ok. 1,44 [mA] (16 MHz * 90 uA/MHz = 1,44 [mA])</p> <p style="margin-left:0cm; margin-right:0cm">Rozkładając prąd pracy przy wybudzeniu na czas nieaktywności otrzymujemy, że w stanie aktywnym chipset będzie ok. 0,025 % czasu, co daje średni prąd 0,36 [uA]; dodając prąd spoczynkowy ok. 1,5 [uA] otrzymujemy ciągły prąd średni o wartości 1,86 [uA].</p> <p style="margin-left:0cm; margin-right:0cm"><strong>Obliczenia dla MSP430FR5962</strong></p> <p style="margin-left:0cm; margin-right:0cm">- pobór prądu w uśpionym chipsecie jest rzędu 0,5 [uA]</p> <p style="margin-left:0cm; margin-right:0cm">- przy wybudzeniu zegar chipsetu będzie pracował z częstotliwością 16 [MHz] (rezonator wewnętrzny), co daje prąd ok. 1,89 [mA] (16 MHz * 118 uA/MHz = 1,89 [mA])</p> <p style="margin-left:0cm; margin-right:0cm">Rozkładając prąd pracy przy wybudzeniu na czas nieaktywności otrzymujemy, że w stanie aktywnym chipset będzie ok. 0,025 % czasu, co daje średni prąd 0,47 [uA]; dodając prąd spoczynkowy ok. 0,5 [uA] otrzymujemy ciągły prąd średni o wartości 0,97 [uA].</p> <p style="margin-left:0cm; margin-right:0cm"><strong>Obliczenia dla STM32L431KB</strong></p> <p style="margin-left:0cm; margin-right:0cm">- pobór prądu w uśpionym chipsecie jest rzędu 1,0 [uA]</p> <p style="margin-left:0cm; margin-right:0cm">- przy wybudzeniu zegar chipsetu będzie pracował z częstotliwością 16 [MHz] (rezonator wewnętrzny), co daje prąd ok. 1,34 [mA] (16 MHz * 84 uA/MHz = 1,34 [mA])</p> <p style="margin-left:0cm; margin-right:0cm">Rozkładając prąd pracy przy wybudzeniu na czas nieaktywności otrzymujemy, że w stanie aktywnym chipset będzie ok. 0,025 % czasu, co daje średni prąd 0,34 [uA]; dodając prąd spoczynkowy ok. 1,0 [uA] otrzymujemy ciągły prąd średni o wartości 1,34 [uA].</p> <p style="margin-left:0cm; margin-right:0cm">Podsumowanie:</p> <p style="margin-left:0cm; margin-right:0cm">Założenia:</p> <p style="margin-left:0cm; margin-right:0cm">- w trybie uśpienia wybudzenia do trybu RUN będą co 1 [s]</p> <p style="margin-left:0cm; margin-right:0cm">- w trybie pracy wybudzenia do trybu RUN będą co 49 [ms] – przy tej częstotliwości można wykryć około 6 obrotów blaszki wodomierza w ciągu 1 sekundy</p> <p style="margin-left:0cm; margin-right:0cm">- czas jednego cyklu RUN 1 [ms]</p> <p style="margin-left:0cm; margin-right:0cm">Wyniki teoretycznych obliczeń pobieranego prądu zestawiono w tabeli 36.</p> <p style="margin-left:0cm; margin-right:0cm">W celu potwierdzenia teorii z praktyką przeprowadzono rzeczywiste testy poszczególnych chipsetów. Dla każdego z układów napisano programy, które inicjalizowały odpowiednie peryferia:</p> <p style="margin-left:0cm; margin-right:0cm">- zegar systemowy</p> <p style="margin-left:0cm; margin-right:0cm">- odpowiednie zasilania poszczególnych modułów</p> <p style="margin-left:0cm; margin-right:0cm">- porty I/O</p> <p style="margin-left:0cm; margin-right:0cm">- interfejs USART</p> <p style="margin-left:0cm; margin-right:0cm">- 2 timery</p> <p style="margin-left:0cm; margin-right:0cm">- zegar RTC</p> <p style="margin-left:0cm; margin-right:0cm">- układ Watch Dog</p> <p style="margin-left:0cm; margin-right:0cm">Utworzono po 2 wersje oprogramowania. Pierwsza działająca cały czas w trybie RUN, a druga działająca cały czas w trybie Stop. Przy działającym programie pomierzono średnie prądy pobierane przez chipsety i zanotowano je w tabeli 37.</p> <p style="margin-left:0cm; margin-right:0cm">Założenia prądowe spełniają wszystkie trzy chipsety. Natomiast ze względu na cenę wybrany zostaje chipset STM32L431KB. Jego główne zalety to:</p> <p style="margin-left:0cm; margin-right:0cm">- ciągły prąd średni w stanie uśpienia jest ok. 1,7 [uA],</p> <p style="margin-left:0cm; margin-right:0cm">- ciągły prąd średni w stanie pracy jest ok. 2,1 [mA],</p> <p style="margin-left:0cm; margin-right:0cm">- ma najwięcej pamięci RAM</p> <p style="margin-left:0cm; margin-right:0cm">- jest tani</p> <p style="margin-left:0cm; margin-right:0cm">- ma bardzo przyjazne dla użytkownika środowisko programistyczno-uruchomieniowe</p> <p style="margin-left:0cm; margin-right:0cm">Uwzględniając wyliczony wcześniej prąd pracy układu radiowego SX1276, całkowity prąd pracy całego urządzenia wynosi: 7,7 + 2,23 = <strong>9,93 [uA]</strong></p> <p style="margin-left:0cm; margin-right:0cm"><span style="color:#333333">WYBÓR CHIPSETU dla NR – doświadczenia wskażą, który ze spełniających założenia chipsetów najlepiej odpowiada końcowym wymaganiom (energooszczędność, możliwość oprogramowania w oczekiwany sposób)</span></p> <p style="margin-left:0cm; margin-right:0cm"><span style="color:#333333">Wybrano najkorzystniejszy chipset, który jest energooszczędny, pracuje w technice Low Power, posiada odpowiednio dużą pamięć stałą dla programu i również odpowiednio dużą pamięć RAM dla przechowywania zmiennych i danych użytkowych. Posiada on mechanizmy, które pozwalają mu trwać w stanie obniżonego poboru mocy i wchodzić w stan aktywny na bardzo krótkie przedziały czasowe i jednocześnie reagować na zewnętrzne zdarzenia w chwili ich wystąpienia.</span></p> </li> </ol>



