• Nie Znaleziono Wyników

Stanowisko pomiarowe z mikrokontrolerem

W dokumencie Index of /rozprawy2/10812 (Stron 83-86)

Rozdział 5 Eksperymenty rzeczywiste

5.2 Stanowisko pomiarowe z mikrokontrolerem

Na potrzeby eksperymentów rzeczywistych zbudowano stanowisko pomiarowe z mikrokontrolerem. Eksperymenty oparte o to stanowisko umożliwiły przebadanie metody losowego próbkowania przy użyciu tanich podzespołów o stosunkowo słabych parametrach metrologicznych.

Stanowisko zbudowane zostało z 3 elementów:

 Płytka z mikrokontrolerem oraz zewnętrznym przetwornikiem A/C.

 Komputer PC zarządzający transmisją oraz odbierający dane.

 Generator przebiegów (opisany w rozdziale. 5.1.6) Uproszczony schemat stanowiska przedstawiono na Rys. 5-9.

Rys. 5-9 Schemat stanowiska z mikrokontrolerem

5.2.1 Budowa płyty z mikroprocesorem

Najważniejszym elementem stanowiska jest płyta umożliwiająca zaprogramowanie funkcjonalności losowego próbkowania. Do jej budowy zastosowano mikrokontroler rodziny ARM Cortex M3 serii STM32 F107VC firmy STMicroelectronics. Mikrokontroler ten posiada spore możliwość konfiguracji, relatywnie dużą moc obliczeniową i dużo urządzeń peryferyjnych, takich jak układy licznikowe, komunikacyjne, kanały DMA i przetworniki analowo-cyfrowe. Poza tym ma dość dobrze ugruntowaną pozycję na rynku, co powoduje, że dostępna jest do niego dobra dokumentacja oraz duży zbiór bibliotek[67].

W stanowisku zastosowano zestaw prototypowy STM32F107 ARM-CM3 Board firmy Embest. Zestaw zawiera procesor wraz z zasilaniem, złączem do programowania, wyprowadzonymi portami komunikacyjnymi, przyciskami oraz wyświetlaczami. Z uwagi na słabe parametry wewnętrznego przetwornika analogowo-cyfrowego[6] oraz tętnienia napięcia zasilającego płytkę, w stanowisku zastosowano zewnętrzny przetwornik analogowo-cyfrowy Max1162 firmy Maxim. Przetwornik ten jest 16 bitowym przetwornikiem kompensacyjnym pracującym, na szynie SPI. Maksymalna jego częstotliwość próbkowania to 200ksps, a jego

pasmo wejściowe to 4MHz[46]. Przetwornik został wlutowany na osobnej, zaprojektowanej płytce drukowanej z układami formującymi napięcie referencyjne przetwornika.

5.2.2 Współpraca elementów stanowiska

Płyta testowa z przetwornikiem komunikuje się ze sterującym go komputerem. Przesyłane są do niego przetworzone wyniki pomiaru. Z komputera wysyłany jest rozkaz startu pomiaru. Transmisja została zrealizowana w oparciu o port szeregowy. Podczas badań okazało się, że konieczna jest izolacja galwaniczna pomiędzy komputerem a płytką z mikrokontrolerem. Tętnienia pochodzące od zasilacza komputera były na tyle duże, że fałszowały wynik pomiaru. W rozwiązaniu stanowiska zastosowano zaprojektowaną płytkę zewnętrzną ze scalonym modułem komunikacyjnym BTM112 firmy Rayson[68]. Realizuje on konwersję standardu RS232 do standardu bezprzewodowego Bluetooth 2.0 EDR.

Generator, podobnie jak w przypadku poprzedniego stanowiska, jest sterowany za pomocą komputera poprzez interfejs USB. Aplikacja pracująca na komputerze jest funkcjonalnie podobna do aplikacji z rozdziału 5.1.15. Jej struktura wykorzystuje taką samą maszynę stanów. W przypadku tego stanowiska każda estymata wartości skutecznej mierzonego sygnału jest przesyłana od razu bezpośrednio do komputera PC. Rozwiązanie to jest bardziej podatne na błędy, w porównaniu ze stanowiskiem wykorzystującym system PXI, w którym dane były zapisywane na dysku urządzenia mierzącego, a dopiero później przesyłane do komputera PC.

5.2.3 Oprogramowanie płyty ewaluacyjnej

Oprogramowanie płyty z mikrokontrolerem zostało napisane w języku C, w środowisku uVision firmy Keil. Na płytce z mikrokontrolerem nie jest zainstalowany żaden system operacyjny. W jednej chwili program płytki może wykonywać tylko jedną funkcjonalność. Oprogramowanie płytki obsługuje transmisję z komputerem (nadawanie i odbiór), wyzwalanie przetwornika analogowo-cyfrowego oraz odbieranie z niego danych. Oprócz tego estymuje wartość skuteczną z pobranych próbek. Równoczesna praca wszystkich tych zadań wymagała odpowiedniego ustalenia ich priorytetów.

Komunikacja za pomocą transmisji szeregowej jest realizowana na dwa sposoby. Komunikaty oraz wyniki wysyłane z płytki do komputera zapisywane są w buforze DMA mikrokontrolera a następnie wysyłane. Wysyłanie poszczególnych znaków komunikatu odbywa się bez udziału głównego rdzenia procesora i nie przerywa innych procesów. Komunikaty przesyłane z komputera do płytki podlegają wstępnej analizie. Każdy, przychodzący za pomocą przerwania, znak jest analizowany pod kątem zgodności z szablonem ramki. Komunikat zapisywany jest w strukturze zawierającej pole określające aktualny stan bufora transmisyjnego. Możliwa jest w ten sposób detekcja, czy komunikat jest w pełni przesłany oraz czy nie nastąpiło przepełnienie lub błąd transmisji. Możliwe jest także ustalenie różnych szablonów, które umożliwiają przesyłanie komunikatów różnej długości. Jeżeli przychodząca ramka nie jest zgodna z szablonem jest ignorowana a bufor danych wejściowych czyszczony. Jeżeli ramka komunikatu ma prawidłową składnię bufor oczekuje na przetworzenie.

Schemat głównej maszyny stanów programu przedstawiony jest na Rys. 5-10. Maszyna ta pracuje w pętli głównej programu. W tej pętli pracuje również dekoder ramki transmisyjnej. Jeżeli stan bufora odbiorczego, po wstępnej analizie, wskazuje nadejście pełnej gotowej ramki, następuje jej konwersja. Komunikat, w zależności od bieżącego stanu, może spowodować jego zmianę. Zapisywane wyniki są buforowane. W tym samym czasie wyliczana jest wartość skuteczna z próbek zapisanych w jednym buforze, oraz zapisywane są wyniki z przetwornika do drugiego bufora. Zapis danych odbywa się za pomocą przerwania o priorytecie wyższym niż przerwania transmisji.

Rys. 5-10 Główna maszyna stanów programu mikrokontrolera

Wyzwalanie przetwornika zrealizowane zostało w oparciu o układ licznikowy. Przerwanie pochodzące od tego układu jest przerwaniem o najwyższym priorytecie w systemie. Jest ono tak skonfigurowane, żeby mogło przerywać obsługę innych przerwań. W funkcji obsługi przerwania jest konfigurowany licznik do następnego wyzwolenia przetwornika z pseudolosowym czasem, następnie odbierane są dane z przetwornika i zapisywane do bufora.

Dzięki takiej konfiguracji odstępy pomiędzy kolejnymi przerwaniami, a tym samym próbkowanie sygnału, następują w pseudolosowych chwilach czasu. Do wyznaczenia pseudolosowych chwil czasu zastosowano generator multiplikatywny ze standardowej biblioteki środowiska Keil. Parametry metody zostały dobrane podobnie jak w przypadku stanowiska z platformą PXI: MinCPP = 1ms, MaxCPP = 5ms , RLos = 250, LAP = 800. Zostały one dobrane do badanego zakresu częstotliwości sygnałów wejściowych 1kHz-30kHz

W dokumencie Index of /rozprawy2/10812 (Stron 83-86)

Powiązane dokumenty