Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

STM32F4-Discovery i 8-bitowy przetwornik DAC

Kubald 02 Wrz 2012 12:51 5055 6
  • STM32F4-Discovery i 8-bitowy przetwornik DAC

    Autor w końcu znalazł nieco czasu, aby poeksperymentować z płytką STM32F4-Discovery, którą kupił jeszcze w zeszłym roku. Jak w przypadku innych mikroprocesorów, naukę dobrze jest zacząć od obsługi pinów GPIO.

    Ponieważ na płytce STM32F4-Discovery wyjścia zorganizowane są w dwu dwurzędowych złączach, nie można jej bezpośrednio wpiąć w płytkę stykową ze względu na zwarcie sąsiednich wyprowadzeń. Dlatego też autor zbudował adapter dla płytki ewaluacyjnej, wyprowadzając na pięć jednorzędowych złącz szpilkowych piny poszczególnych portów, od PORTA do PORTE, zorganizowane następująco:
    3V3 GND P0 P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12 P13 P14 P15 GND 5V0
    Jako że każde złącze ma 20 szpilek, można użyć standardowego kabla IDE do połączenia adaptera z płytką stykową.

    STM32F4-Discovery i 8-bitowy przetwornik DAC

    Aby przetestować działanie układu, autor użył równoległego przetwornika D/A, którego stosunkowo łatwo „okiełznać”. Procesor STM32F4 został połączony z układem AD5330 przy użyciu 8-bitowej szyny danych. Do podstawowej kontroli pracy przetwornika D/A potrzebne jest 9 pinów mikrokontrolera – 8 dla danych i jeden do sterowania układem. Układ AD5330 pracuje z niebuforowanym, ustalonym na napięcie zasilania, napięciem odniesienia Vref i ze wzmocnieniem wyjściowym wynoszącym jeden.

    Poniższy kod pokazuje, jak generować sinusoidę o częstotliwości 60 Hz z 256 próbek, używając metody bit-bang. Ponieważ ze swej natury sinusoida jest symetryczna, wystarczy w pamięci procesora zapisać wartości odpowiadające zakresowi od 0 do π/4. Wartości z zakresu [π/4, 2π] zostaną wygenerowane przez odpowiednie przesuwanie zapisanego fragmentu sinusoidy o π/4.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Jak widać, kod jest całkiem prosty. Ogólnie, aby użyć któregokolwiek pinu GPIO procesora STM32F4, należy najpierw odblokować zegar dla tego portu. Następnie należy ustawić funkcje (wejście/wyjście) dla pinów. Rejestry BSRRH i BSRRL są używane do zmiany stanu pinów. W podprogramie write() dane dla DAC są wystawiane na 8 niższych pinów portu D, a następnie na wejście WR przetwornika jest podawana 1, aby ustalić napięcie na jego wyjściu. W zależności od szybkości użytego przetwornika może być wymagane opóźnienie pomiędzy podawaniem kolejnych danych.

    Wykorzystując 256 próbek, wyjściowa sinusoida jest całkiem „gładka”, jak można zobaczyć poniżej.

    STM32F4-Discovery i 8-bitowy przetwornik DAC

    Źródło


    Fajne! Ranking DIY
    Potrafisz napisać podobny artykuł? Wyślij do mnie a otrzymasz kartę SD 64GB.
  • #2 02 Wrz 2012 20:58
    kocur_90
    Poziom 11  

    No to się zaczęło publikowanie "hello_led'ów" na STM32. Nie widzę nic odkrywczego w tym "projekcie", choć może przyda się zwycięzcą konkursu który niedawno miał miejsce.

  • #3 02 Wrz 2012 22:22
    MrDarkenRahl
    Poziom 13  

    I bardzo dobrze. Dla nas, początkujących, takie artykuły są bardzo cenne, mimo że doświadczonym użytkownikom wydają się śmieszne i oczywiste ;).

  • #4 02 Wrz 2012 22:24
    kocur_90
    Poziom 11  

    Mi jako początkującemu większy problem zrobiło utworzenie projektu w keilu ;)

  • #5 02 Wrz 2012 22:44
    blue_17
    Poziom 32  

    Jakiś czas temu do wygrania były zestawy na tej stronie

    http://www.stm32.eu/node/231

    wystarczyło się zarejestrować i odpowiedzieć na kilka pytań na których odpowiedzi znajdowały się na stronie

    Pomyślałem ze autor właśnie stad ma płytkę :)

  • #6 02 Wrz 2012 22:46
    kocur_90
    Poziom 11  

    Nie ta seria procesorów ;) Autor ma F4 a do wygrania było F0

  • #7 04 Wrz 2012 12:19
    zygfryd.W
    Poziom 20  

    Co nie zmienia faktu że funkcjonalność podobna a ja stałem się posiadaczem jednej sztuki, czekam aż do mnie trafi:)