Licznik częstotliwości i czasu - montaż i uruchomienie
Podczas montażu należy wybrać, czy wyświetlacze montowane są na złączach i podstawkach, czy wlutowane w płytkę, bo od tego zależy wysokość przycisków i długość gałki enkodera. Montując urządzenie w obudowie, trzeba pamiętać o filtrze – fotografia 3. Zmniejsza on nieco jasność wyświetlacza, ale bez niego treść jest nieczytelna (fotografia 4), zwłaszcza przy silnym oświetleniu zewnętrznym. Jeśli filtr miałby obejmować także diody LED (na przykład filtr na całej obudowie), należy użyć filtru neutralnego, w kolorze szarym (srebrnym), czarnym lub brązowym.
Zwiększa on kontrast, nie tak skutecznie, jak filtr w tej samej barwie jak kolor wyświetlacza (fotografia 5), ale w tym wypadku spełnia swoje zadanie lepiej od niebieskiego, gdzie widać (fotografia 6), że tam, gdzie filtr zakrywa część żółtej diody, nie widać jej świecenia.
W roli filtru nie sprawdzają się folie do przyciemniania szyb samochodowych, ponieważ odbijają światło i zamiast wyświetlacza uzyskamy lusterko.
W moim modelu uzyskałam pomiar częstotliwości 40MHz na wejściu cyfrowym A i B. Niestety nie miałam możliwości sprawdzić wyższych częstotliwości. To, czy pomiar był poprawny, zależało od jakości badanego sygnału, gdy był w miarę dobrej jakości (rysunek 16), pomiar był poprawny. Wszelkie zniekształcenia (rysunek 17) powodowały jego fałszowanie. Zbadałam właściwości wzmacniacza w dwóch konfiguracjach pokazanych na rysunku 18.
Rozwiązanie drugie pracowało lepiej niż pierwsze między innymi dlatego, że pozwala na pomiar bardzo niskich częstotliwości (sprzężenie DC – stałoprądowe), dlatego dalsze próby skupiłam na nim. Zbadałam jego właściwości. Do 1MHz jest całkiem dobrze, choć pomiar czasu impulsu będzie już obarczony błędem ze względu na powolne narastanie sygnału mierzonego – rysunek 19. Żółty przebieg (kanał 1) pokazuje sygnał wejściowy, niebieski (kanał 2) na kolektorze T1.
Kolejne ekrany przedstawiają przebieg 5MHz 800mV – rysunek 20, 10MHz 800mV – rysunek 21 i 15MHz 1V – rysunek 22. Na tym niestety kończą się możliwości mojego generatora, ale widać, że tak prosty wzmacniacz nadaje się do częstotliwości 10...15MHz. Wzmacniacz można pominąć, nie montując T1 i R3, R13, C1, C14, a C15 zastępując zworą. Wtedy to można zastosować wzmacniacz o lepszych parametrach, na przykład przygotowywany do publikacji AVT3277.
Wzmacniacz musi udostępniać sygnał cyfrowy w logice 3,3V. STM32F401 akceptuje sygnał o amplitudzie 5V na wejściu, ale D3 ogranicza go. Gdy dostępny jest sygnał o amplitudzie 5V, należy zastosować konwerter na przykład z rodziny 74LVC albo usunąć D3, rezygnując jednocześnie z ochrony, jaką zapewnia.
Obsługa miernika częstotliwości
Przycisk S2 „Screen” pozwala przełączać się pomiędzy ekranami tak samo jak kręcenie gałką enkodera. Numer ekranu jest widoczny w prawym górnym rogu wyświetlacza OLED. Numer ekranu znika po dwóch sekundach po jego zmianie przyciskiem S2. Pierwszy ekran (fotografia 7) wyświetla zmierzoną częstotliwość. Gdy jest ona mniejsza od 50kHz, mierzony jest czas, który przed wyświetleniem jest przeliczany na częstotliwość.
W takiej sytuacji na wyświetlaczu pojawia się napis „(math)” – fotografia 8. Dzięki temu można uzyskać wysoką rozdzielczość pomiaru, który wykonuje się szybko. Przy pomiarze częstotliwosci 10Hz pomiar trwa tylko 100ms, a rozdzielczość wynosi 10mHz. Gdy częstotliwość przekracza 50kHz, na wyświetlaczu pokazuje się liczba impulsów zliczonych w ciągu sekundy.
W tym przypadku wyświetlany jest napis „(cnt)”. Ponadto na wyświetlaczu OLED pokazana jest informacja o czasie bramkowania (fotografia 9), wybranym wejściu, w tym wypadku „Input A”, czasie trwania stanu wysokiego (6ms), niskiego (5ms), okresie (period 10ms) i współczynniku wypełnienia. Drugi ekran pokazuje zmierzony okres sygnału (fotografia 10) oraz dodatkowo częstotliwość. Podobnie jak w przypadku częstotliwości, granicą jest 50kHz.
Kolejne ekrany pokazują zmierzony czas stanu wysokiego – fotografia 11 i niskiego – fotografia 12. Piąty ekran wyświetla współczynnik wypełnienia sygnału w procentach – fotografia 13. W przypadku ekranów 3, 4 i 5, tak jak w przypadku ekranu 2, wyświetlana jest dodatkowo zmierzona częstotliwość. Następny ekran pokazuje wskazanie licznika częstotliwości – fotografia 14. Jest to faktycznie zliczona liczba impulsów, więc nie ma tu granicy 50kHz, do której wyświetlany był wynik przeliczenia okresu sygnału na częstotliwość.
Ekran szósty (fotografia 15) pokazuje częstotliwość wyliczoną z okresu sygnału. Siódmy – fotografia 16 – zmierzony czas trwania okresu. Kolejny ekran, fotografia 17, pokazuje wartość licznika wejścia B. Wejście to może pełnić funkcję licznika zdarzeń. Ostatni ekran (fotografia 18) pokazuje odchyłkę generatora od precyzyjnego wzorca, ale ze względu na to, że aby ta funkcjonalność działała, potrzebny jest dodatkowy moduł, pominę jej opis.
Przycisk S6 „000” zmienia sposób wygaszania zer nieznaczących z prawej strony. Możliwe są trzy opcje: wyświetlanie zer – fotografia 19, zastąpienie ich spacjami – fotografia 20 lub dosunięcia wyniku do prawej strony – fotografia 21. Na ostatniej fotografii widać cały miernik i okno na wyświetlaczu, które pojawi się na trzy sekundy, informując, jaki sposób wyświetlania został wybrany. Cóż, nie tylko systemy operacyjne mogą używać okienek :-)
Przycisk S3 „Hold” zatrzymuje wyświetlanie, co jest sygnalizowane świeceniem czerwonej diody D1 i miganiem napisu „HOLD”. W tym czasie pomiar jest cały czas dokonywany, co widać w oknie terminala, tylko wartość na wyświetlaczu jest zamrożona. S8 „Rel-” zapamiętuje częstotliwość, po czym odejmuje ją od mierzonej. Fakt pomiaru relatywnego jest sygnalizowany świeceniem diody LED D8 „REL” na zielono. Pozwala to na pomiary „radiowe” z uwzględnieniem częstotliwości pośredniej. S4 „Rel+” działa podobnie, z tym że zapamiętana częstotliwość jest dodawana do wyniku pomiaru. W tej sytuacji dioda „REL” świeci na czerwono.
Trzeba wiedzieć, że funkcja ta działa tylko, gdy wyświetlany jest bezpośredni pomiar z licznika. Gdy częstotliwość jest zbyt niska, dioda „REL” miga. W takiej sytuacji należy przełączyć się na ekran 5 (fotografia 14). Pomiar relatywny można włączyć tylko na ekranie zero (pomiar częstotliwości wejścia A), pięć (zliczone impulsy na wejściu A w ciągu sekundy) i dziewięć (wejście B). Ostatni przypadek nie zadziała, gdy wejście B będzie użyte do zliczania impulsów, a nie pomiaru częstotliwości.
Funkcję licznika na wejściu B uruchamia się po naciśnięciu przycisku S9 „SET”, gdy wyświetlany jest ekran pokazujący częstotliwość zmierzoną na wejściu B (fotografia 17). Wygląd wyświetlacza OLED zmieni się – fotografia 22. Powrót do pomiaru częstotliwości nastąpi po ponownym naciśnięciu „SEL”. W czasie gdy miernik pracuje w roli licznika, naciśnięcie przycisku enkodera zapamiętuje stan licznika i zeruje go. Zapamiętana wartość jest wyświetlana na wyświetlaczu OLED za napisem „LATCH”. Tę samą funkcjonalność uzyska się w czasie opadającego zbocza sygnału na wejściu PC12.
Przechwyconą wartość można sprawdzić w programie terminalu – rysunek 23. Przekroczenie wartości 99999999 licznika powoduje wyświetlenie napisu „OVER”, ale stan licznika nadal można sprawdzić w terminalu. Licznik jest 32-bitowy i po przekroczeniu wartości 4294967296 zacznie liczyć od zera. Gdy wejście B pracuje w trybie licznika częstotliwości, przyciskiem S7 „MENU” można przełączać się pomiędzy pomiarem z wejścia A i B. Jest to tymczasowa funkcjonalność, ponieważ po dołączeniu modułu przełącznika wejść AVAT3277, przycisk będzie pełnił inną funkcję.
S5 „GATE” pozwala wybrać czas bramkowania podczas zliczania częstotliwości. Do wyboru są czasy 10, 100ms oraz sekunda, 10 i 100 sekund. Zmianie czasu towarzyszy pojawienie się okienka z informacją o aktualnym wyborze – rysunek 23. Okienko znika po trzech sekundach od naciśnięcia przycisku „GATE”.
Ustawienia miernika zapamiętywane są w EEPROM po dziesięciu sekundach od naciśnięciu dowolnego przycisku. Podczas startu programu, w terminalu wyświetlane są informacje o odczytaniu pamięci EEPROM – rysunek 24. Ponadto pojawiają się informacje o liczbie resetów mikrokontrolera i zadziałania watchdoga. W tym czasie na wyświetlaczu pojawi się logo (fotografia 3) albo informacje o inicjalizacji EEPROM lub odzyskaniu jej zawartości z backupu. Jeśli w mierniku nie ma zamontowanej pamięci, wszystkie kropki na wyświetlaczu LED są zaświecone, a program przyjmie standardową konfigurację.
Uwagi końcowe na temat miernika częstotliwości i czasu
Opracowanie urządzenia o tak dużej funkcjonalności nie jest zadaniem łatwym. Opracowanie miernika zajęło wiele godzin. Powstały dwa prototypy i jedna użyteczna konstrukcja. W materiałach dodatkowych, oprócz rysunków i fotografii z artykułu, znajdują się fotografie i filmy z kolejnych etapów prac. Widać tam część potrzebnego sprzętu. Poza oscyloskopem i generatorem używany był analizator logiczny oraz skaner 1-Wire zbudowany tylko i wyłącznie do analizowania tej magistrali.
Potrzeba używania skanera wynikała z tego, że uniwersalne analizatory (na przykład SaleAE) przedstawiają informację w niezbyt czytelny sposób, ale są przydatne, aby wykryć nieprawidłowości w zależnościach czasowych, czego skaner nie zrobi. Chwilami pracę prowadzono na trzech monitorach. Nie zarejestrowałam tego etapu prac i na rysunkach 13 i 14 widać obrazy z dwóch monitorów, gdzie ekran analizatora LA2016 jest przykryty oknem terminalu wyświetlającym dane z emulatora-skanera 1-Wire, a wcześniej ekrany te były na osobnych monitorach.
Nie ma jednego przyrządu, który wystarczyłby do pracy elektronika. W tym przypadku, skaner, analizator, oscyloskop generator i debugger, a także program terminalu, co pokazałam na rysunku 13 i 14, dopełniały się funkcjonalnością. Bez debuggera prace pewnie trwałyby dziesięć razy dłużej. Debugger wielokrotnie uświadamiał mi, jak niezwykle zoptymalizowany kod potrafi stworzyć kompilator GCC-ARM. Na przykład potrafi przenieść poszukiwany ciąg bajtów z FLASH do RAM, mimo że został zadeklarowany we FLASH (const).
Robi tak, aby zwiększyć szybkość działania wyszukiwania ciągu, ponieważ dostęp do RAM jest szybszy niż do FLASH. Opcja ta przydaje się, gdy baza danych znajduje się w pamięci FLASH. Przedstawiony moduł nie jest jeszcze kompletnym miernikiem. Będzie nim po dodaniu TXCO AVT3276 i obwodów wejściowych AVT3277. Miernik wraz z dodatkowymi modułami można umieścić w obudowie aparaturowej CP15-34. Do obudowy zaprojektowano atrakcyjny panel, którego dokumentację można znaleźć w materiałach dodatkowych.
Najnowsze wersje softu dostępne są na http://sa-s.prv.pl/fw/. Na Youtube znajdują się relacje z prac nad opisywanym miernikiem oraz jego bardziej zaawansowaną wersją AVT3278
Propozycje modyfikacji oprogramowania i sprzętu najlepiej kierować do redakcji.