Obliczenie FFT na mikrokontrolerze STM32 (3) – Pomiar trzech przebiegów za pomocą niezależnych przetworników analogowo-cyfrowych z wykorzystaniem DMA i trybu Combined regular simultaneous + alternate trigger mode w celu dokładnego pomiaru przesunięcia fazowego na procesorze STM32F103
Przedstawiamy trzeci artykuł Mateusza Pluty i ostatni z serii o FFT. Obliczenia zawarte w dwóch poprzednich wpisach wykonane były za pomocą płytki ewaluacyjnej STM32F401C-DISCO. W docelowym projekcie Mateusz użył procesora STM32F103VET6, który dysponuje trzema niezależnymi przetwornikami analogowo-cyfrowymi. Dobierając ten procesor, upewnił się, że ma on trzy niezależne przetworniki ADC, lecz nie sprawdził, czy każdy z nich dysponuje swoim DMA. W projekcie chciał mierzyć dokładne przesunięcie fazowe między przebiegami prądu i dwoma przebiegami napięcia, dlatego zależało mu na pomiarze przebiegów z wykorzystaniem DMA. Po wykonaniu PCB, konfigurując procesor i dalej podczas zgłębiania dokumentacji dowiedział się, że jeden z przetworników nie posiada DMA. Dalej przeglądając dokumentację, zastanawiał się jak rozwiązać problem. Wyczytał, że jest możliwość pomiaru z wykorzystaniem DMA drugiego przetwornika, kiedy pierwszy przetwornik jest masterem, a drugi slave. W artykule zajmie się implementacją pomiaru z wykorzystaniem DMA w konfiguracji master i slave.
Zachęcamy do przeczytania pierwszej cześci serii: Obliczenie FFT na mikrokontrolerze STM32 (1) – Biblioteka CMSIS, wyciek widma, okna wykorzystywane do FFT, wdrożenie w projekcie
Oraz drugiej: Obliczenie FFT na STM32 (2) – Program realizujący FFT, prezentacja wyników, wyciek widma oraz jego przyczyny
Więcej artykułów na Blog IntHou