O podwójnym buforze zapomnij w takim przypadku. Przerwanie od końca transmisji i rekonfiguracja. DMA2D?
Nie no maksymalnie to udało mi się osiągnąć transfer 390kB/s ale przy wydłużeniu ramki do 820B. A, że ja chcę to wykorzystać głównie do przesyłania stron NAND flasha to wykorzystałem 512B + mały naddatek. Generalnie korzystając z funkcji API wszystko poszło. Maksymalna prędkość jest już jednak uzależniona głównie od długości ramki, którą wysyłamy. U...
O ile pamiętam dziwaczny bufor SPI w STM32 ma pojemność 32 bitów, więc nawet bez wysłania jednego bitu masz po zapisie 16 bitów do DR od razu przerwanie - bo możesz od razu zapisać następne 16 bitów.
Uwielbiam takie tematy, jak chcesz obsłużyć taką matrycę (10.2":!:) za pomocą STM32 ? Interfejs fizyczny (LVDS), konwersja z równoległego RGB na x7 razy szybszy szeregowy, zegar jaki potrzebny to min. 20MHz (od strony parallel RGB), przechowanie obrazu w jakieś pamięci, jakiś bufor, najlepiej podwójny etc. Jak to się wszystko nałoży, to biedny STM32...
Moim zdaniem konfiguracja DMA jest trochę niepełna, a ponadto brakuje obsługi przerwania od DMA. Przynajmniej w jednym miejscu wpisz jawnie wartość do rejestru sterującego (CR = ...). Na razie wszędzie masz |= lub &=. Zakładając, że pierwszy transfer poleci i przerzucisz 19200 słów, to później DMA się zatrzyma i nic więcej nie prześle. I jak to ma coś...
A może mógłbym zastosować podwójny bufor, jeśli pierwszy bufor jest pełny to do drugiego upychało by dane ? Mógłbyś. Mógłbyś nawet zrobić fifo z prawdziwego zdarzenia, np. 256bajtowe, i dzięki temu potrafić buforować pakiety 'smooth & easy' nie bojąc się o utratę danych jeśli obsługa otrzymanych treści będzie mogła trwać długo.
Ja bym to zrobił na ping-pongu, i rysowanie również przez DMA (jesli wyswietlacz jest pędzony po SPI lub FSMC). Aby chodziło płynnie, jest potrzebna 'trójpolówka': - jeden bufor jest zapychany przez ADC DMA - drugi bufor jest w pogotowiu na zapchanie przez ADC DMA - trzeci bufor jest wysyłany do wyświetlacza przez inne DMA. A jesli miałbym zrobić porządniej,...
Każdy UART ma przynajmniej podwójny bufor, więc przy 230400 mamy max. częstotliwość bajtów 23040, czyli ponad 40 us na bajt, czyli ponad 80 us na obsługę dwóch kolejnych przerwań. Z kasowaniem oczywiście racja. W razie czego jest jeszcze DMA, ale użycie DMA do odbioru UART to dość pokręcona technika.
Karty typu SD zazwyczaj mają bloki po 512 bajtów (czasami 1024) i niestety, po przesłaniu takiej paczki trzeba sprawdzić token/flagi nawet w przypadku CMD25. Ale to nie powód, żeby rezygnować z DMA. Zupełnie inaczej sprawa wygląda dla SDHC, tam bloki są dużo większe i można spokojnie przesyłać więcej danych. Po każdym strzale o wielkości bloku wystarczy...
Na przykład Cypress, kiedyś Spansion: S25FL512Sxxxx to 512Mbit albo 64MB NOR Flash z interfejsem QSPI, Dual line or single line SPI. Inna opcja to N25Q512xxxx. Nie znalazłem pamięci o większej pojemności, które mogą współpracować z kontrolerami QSPI w STM32. Albo są podwójne NCS, ale pojedyncze linie danych, albo są to układy z zupełnie innym interfejsem....
Witam tak się trochę wcisnę w temat. Jak jest z tym sterownikiem do TFT w STMach opłaca się kupić wyświetlacz bez sterownika i wykorzystać ten z STMa ? Właśnie byłem na seminarium ST w tym temacie. Sterownik z 4x9 działa maksymalnie do 800x600. Osiąga szybkości rzędu 3,5mln pikseli na sekundę - przelicz sobie, czy dla tak dużego ekranu to jest jeszcze...
Dlatego właśnie każdy z nas pisze Ci tu o dwóch buforach na dwa komplety próbek, albo o jednym o podwójnej pojemności - czytaj!!! Timer inicjuje przetwarzanie, a potem kolejne przerwanie timera lub przerwanie od zakończenia transmisji DMA z ADC inicjuje transmisję świeżych pomiarów przez UART. W tym czasie ADC już robi następne pomiary do drugiego bufora....
Zaraz będzie, że krytykuję albo się naśmiewam, ale widzę tutaj poważne braki w wiedzy. I właśnie na to liczę, że ktoś mi wytknie braki w wiedzy ;) Wiem, że SSD1289 wypada słabo w porównaniu z konkurencją. Nie mogę się zgodzić natomiast co do zawężania obszaru. Jest to jak najbardziej możliwe w tym układzie. Rejestry 0x44, 0x45, 0x46 umożliwiają zawężenie...
Witam Aplikacja: Próbuję zrobić aplikację która odczytuje plik wav'e z karty sd (przez SPI2) i podaje go na DAC'a (SPI1). Potrafie osobno skorzystać zarówno z DAC'a jak i FatFs. I tak: Ustawiłem przerwanie które jest generowane 44100 razy na sekundę (I tutaj może być problem, za często). Podczas przetwarzania obsługi przerwania pobieram dane z podwójnego...
Witam ;) Od niedawna prowadzę bloga dotyczącego programowania embedded : http://www.embeddeddev.pl/ Przykłady są oparte głównie na mikrokontrolerach STM32, ale przedstawiane tam informacje mogą przydać się także przy programowaniu innych uC. Dotychczas opisałem tam takie zagadnienia jak: - bufor kołowy (zasada działania, implementacja, przykład obsługi...
...nie tylko w STM32. NVIC wygląda zawsze tak samo w dowolnym procku na rdzeniu CM0/CM3. Tyle że na CM0 jest okrojony, ale nazwy sfrów i ich adresy są wszędzie identyczne. Mikrokontroler to nie pecet , więc stosowanie się do nawyków pisania na PC, pisząc na mikrokontroler, jest....uchybieniem. Każdy, piszący na mikrokontrolery napisze szybki i nieźle...
0. Jeżeli słyszysz nie więcej niż 1s dźwięku, to program działa ok. Najpierw otwierasz plik, odczytujesz 31600 bajtów i zamykasz plik. Nic więcej nie odczytasz. Następnie przesyłasz dane do dekodera w paczkach po 32 bajty. Jeżeli masz bitrate rzędu 256kbit/s, to masz tam ~964ms dźwięku. Inna sprawa czy słyszysz ten fragment zapętlony, czy tylko raz...
Mam na stanie kilka sztuk S1D13513 które radzą sobie z FSTN równie dobrze jak z TFT i należytą uruchomieniówkę do niego ;] To tak na marginesie... Oczywiście nie zamierzam się brać za kontroler do matrycy, nie dysponując ARMem z DMA. W sumie w sam raz wykorzystać ficzery STM32F1 w postaci memory mapped FSMC, tyle, że bug w krzemie uniemożliwia sensowny...
(...) gnał, widzę tylko cyfry w debugerze. Z kolei do PCM5102 jeszcze nie pisałem prostego kodu, chociażby sinusoidy, to jest w planach. 7. Połączenia są poprawne. Zasilanie zgodne z dokumentacjami technicznymi, PCM1808 respektywnie ma dostarczone zarówno 5 V jak i 3.3 V, PCM5102A ma dostarczone tylko 3.3V. Dziękuję za dodatkowe informacje i szczegółowy...
Ale żeby zdecydować co wysłać na ekran to jednak rdzeń musi coś policzyć. I niech liczy, tyle, że rdzen może sobie niezależnie liczyć w trakcie wysyłki do wyświetlacza, która dzieje się w tle. Już samo to daje ci fundamentalny dwukrotny wzrost FPSów, jesli wygenerowanie ramki do bufora trwa mniej lub tyle samo, co przesłanie treści bufora na wyświetlacz....
http://obrazki.elektroda.pl/9733504600_1... DIY stacja meteo, a właściwie stacje, bo naprodukowałem już ich kilka, chyba 10 wersji. Dlaczego stacje? Bo lubię statystyki, poza tym to jedna z tych rzeczy, która może nie jest niezbędna do życia, ale fajnie mieć. Tym bardziej jeśli samemu się skonstruowało. Dlaczego ethernet? Bo wygoda...
Zostawiam temat bo uznaję tą bibliotekę za bezużyteczną, a samemu nie będę pisał nowej bo mi się nie opłaca siedzieć tygodniami nad taką głupotą. Może gdzieś znajdę bibliotekę bez buforowania z bezpośrednim ładowaniem danych do wyświetlacza. Z tego co się domyślam ograniczeniem jest prędkość I2C bo nawet na STM32 prędkość "ładowania paska" jest żałośnie...
http://obrazki.elektroda.pl/2948353000_1... Witam! Opisany tutaj projekt jest moją pracą inżynierską na Politechnice Wrocławskiej dlatego nie będzie to opis bogaty w schematy i pliki źródłowe :) Schemat blokowy: http://obrazki.elektroda.pl/9854800900_1... ZASILANIE Całe urządzenie zasilane jest z akumulatora Li-ion,...
http://obrazki.elektroda.pl/2948353000_1... Witam! Opisany tutaj projekt jest był pracą inżynierską na Politechnice Wrocławskiej dlatego w niektórych kwestiach jest trochę niedojrzały (Teraz kilka rzeczy bym poprawił - człowiek całe życie się uczy - o tym poniżej) :) Schemat blokowy: http://obrazki.elektroda.pl/9854800900_1...
Przy UART mamy 3 bity na ramkę, a więc 260 kHz. Przy 16 MHz daje to 62 cykle procesora na przerwanie - wątpię, czy przy programowaniu w C ATmega ma szansę się wyrobić. Podwójny bufort UART tu nie pomoże, chyba, że w przerwaniu dorzucimy aktywne oczekiwanie, co wygląda śmiesznie, ale zmniejsza liczbę przerwań o połowę kosztem w tym przypadku dodatkowych...
BlueDraco Nie mogę się z tym zgodzić. Jakoś w każdym szanującym się RTOS'ie jest dostępna dynamiczna alokacja pamięci. Oczywiście jest to często źródło problemów ale takie ale są sytuacje gdzie bez dynamicznej alokacji nie da się zbyt wiele zdziałać. W rzeczywistości w duzych projektach dzięki dynamicznej alokacji jest więcej dostępnej pamięci ;)....
https://obrazki.elektroda.pl/7834057100_... Dzisiaj zapraszam na teardown i galerię zdjęć ze środka "inteligentnego" odkurzacza Medion 13277. Odkurzacz ten współpracuje z aplikacją przez WiFi i posiada szeroką gamę czujników, w tym czujnik laserowy, który (zdaniem producenta) pozwala stworzyć mu mapę pokojów po których się porusza,...
Witam forumowiczów. Czy mieliście może kontakt z narzędziem bus blaster v2.5? [url=http://dangerousprototypes.com/docs... Jak sprawuje się taki zestaw? Słabo znam angielski i mam zagwozdkę jak to ma działać. Jeżeli dobrze zrozumiałem podwójny układ FTDI na płytce ma dwa porty RS i pozwala pierwszym portem na "dowolne" kształtowanie...
podwójny bufor bufor kołowy stm32 simon podwójny
kabel ethernet przerywa dioda selenowa programator amica kuchenka
łucznik naprężacz sprinter podłączenie webasto
Pułapka p.cz. 10,7 MHz w głowicy UKF – obwód LC, strojenie, GFE-101, selektywność Honda CR-V 2012 P0339 – przerwa obwodu czujnika CKP A, diagnostyka, objawy, naprawa