Skocz do zawartości

Wyświetlacz widma audio – ESP32 i 399 WS2812B


Pomocna odpowiedź

Drobna aktualizacja

Zarzekałem się, że w projekcie będzie integracja z Home Assistant, własny firmware z ESPHome, FPGA i inne fajerwerki i wygląda na to że będzie. Nie każdy projekt udaje się pociągnąć tak daleko, ale wygląda na to, że ten się uda 🙂 

Rozgrzebałem temat ESPHome o którym można poczytać w tym temacie:

i wygląda na to, że nie jest to trudne.

Testowałem też układ FPGA Gowin na płytce Tang Nano 4K od Sipeed i przyznam że ma potencjał! Blink działa bez zarzutów, przykładowy kod z obslugą HDMI też.

IMG_8570.thumb.jpg.b0f0b2b862a03d1cc93ad7f55f2877ed.jpg

Srodowisko Gowin FPGA Designer choć bardzo chińskie jest bardzo przyjazne:

image.thumb.png.de3914d1947bbb7289ef5016b10c48dd.png

Dostępny jest IP Core FFT. Pozostaje nauczyć się Veriloga, podobno da się w tydzień. Znalazłem bardzo ciekawy kurs Verilog na siermiężnej stronie w HTMLu, ale treść zapowiada się super 🙂 

image.thumb.png.6bf40271041e3740b9d785dd6b8edf2b.png

Nie wiem jak wam, ale mi ta strona przypomina grę z amigi. Może przez ognisko na belce po lewej, nadaje jakiś RPGowy charakter.

Także mam plan żeby rozbić to co robi ESP32 na następujące bloki:

  • układ przetwornika ADC 16bit I2C podłączony do FPGA, próbki sa zapisywane i przetwarzane w sprzętowym FFT i wysyłane dalej,
  • ESP32 odbiera wyniki FFT, przetwarza i steruje wyświetlaczem, zajmuje się też obsługą komunikacji z Home Assistant przexz WiFi.

Mam nadzieję, że temat FPGA mnie nie przerośnie 🙂 

 

Jeszcze pozwolę sobie zagadnąć @FlyingDutch Przyznaję się, że na razie temat ten jest mi dość obscy, ale mam czas, nauczę się 🙂 

Mógłbym Cię prosić o podpowiedź co powinienem zrobić, jakie tematy przeczytać, jakie pojęcia. Widziałem temat w którym podałes linki do YT o tworzeniu IP Cores ale to chyba "nie ten lvl".

Patrząc na IP Cores to są te które potrzebuje: FFT i I2C

image.thumb.png.a88e03704df5d5c83eacb1d85dc84af2.png

Nie wiem tylko jak je użyć, może jest to proste, ale zwyczajnie nie ruszyłem tematu bo nie znam podstaw Veriloga.

 

  • Lubię! 2
Link do komentarza
Share on other sites

1 godzinę temu, Gieneq napisał:

Drobna aktualizacja

Zarzekałem się, że w projekcie będzie integracja z Home Assistant, własny firmware z ESPHome, FPGA i inne fajerwerki i wygląda na to że będzie. Nie każdy projekt udaje się pociągnąć tak daleko, ale wygląda na to, że ten się uda 🙂

Srodowisko Gowin FPGA Designer choć bardzo chińskie jest bardzo przyjazne:

image.thumb.png.de3914d1947bbb7289ef5016b10c48dd.png

Dostępny jest IP Core FFT. Pozostaje nauczyć się Veriloga, podobno da się w tydzień. Znalazłem bardzo ciekawy kurs Verilog na siermiężnej stronie w HTMLu, ale treść zapowiada się super 🙂 

image.thumb.png.6bf40271041e3740b9d785dd6b8edf2b.png

Nie wiem jak wam, ale mi ta strona przypomina grę z amigi. Może przez ognisko na belce po lewej, nadaje jakiś RPGowy charakter.

Także mam plan żeby rozbić to co robi ESP32 na następujące bloki:

  • układ przetwornika ADC 16bit I2C podłączony do FPGA, próbki sa zapisywane i przetwarzane w sprzętowym FFT i wysyłane dalej,
  • ESP32 odbiera wyniki FFT, przetwarza i steruje wyświetlaczem, zajmuje się też obsługą komunikacji z Home Assistant przexz WiFi.

Mam nadzieję, że temat FPGA mnie nie przerośnie 🙂

Jeszcze pozwolę sobie zagadnąć @FlyingDutch Przyznaję się, że na razie temat ten jest mi dość obscy, ale mam czas, nauczę się 🙂 

Mógłbym Cię prosić o podpowiedź co powinienem zrobić, jakie tematy przeczytać, jakie pojęcia. Widziałem temat w którym podałes linki do YT o tworzeniu IP Cores ale to chyba "nie ten lvl".

Patrząc na IP Cores to są te które potrzebuje: FFT i I2C

image.thumb.png.a88e03704df5d5c83eacb1d85dc84af2.png

Nie wiem tylko jak je użyć, może jest to proste, ale zwyczajnie nie ruszyłem tematu bo nie znam podstaw Veriloga.

 

Cześć @Gieneq,

jeśli chodzi o samego Veriloga, to pytaj postaram się odpowiedzieć (nie powinno być z tym problemu). Natomiast jeśli chodzi o IPCores firmy Gowin to muszę się z nimi zapoznać, ale także pytaj. Zamiast I2C wybrałbym SPI (jest dużo szybsze i jego implementacja w FPGA nastręcza mniej kłopotów). Szkoda, że jeszcze nie przyszła do mnie ta wersja układu Sipeed Lichee Tang Nano 4K Gowin (myślę, że to potrwa jeszcze jakieś 2 tygodnie), ale samo środowisko "Gowin EDA" mam aktualne i będę mógł w nim sprawdzić kod. Najgorsze jest to, że nie ma możliwości symulacji IP Cores firmy Gowin - dużo ludzi na Świecie na to narzeka i trzeba będzie testować na docelowej płytce FPGA. W układach FPGA Xilinx'a do transferu danych pomiędzy IP Cores i pamięcią RAM jest używana magistrala AXI, na razie nie wiem, czy jest jakiś odpowiednik dla układów firmy Gowin, ale postaram się dowiedzieć,

Pozdrawiam

  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

(edytowany)

Po wielu godzinach montażu ulepiłem pamiątkowy film. 2 miesiące po terminie, ale jest 🥳 Długi bo długi, jak kogoś ciekawi to obejrzy, starałem się nie lać wody i mówić w miarę sprawnie, bez "eee ii yyy" https://youtu.be/PN5DR060APM

Oraz kolejny filmik z efektem pracy: https://www.youtube.com/watch?v=Vy4BbQ_T4lo

Edytowano przez Gieneq
  • Lubię! 2
Link do komentarza
Share on other sites

(edytowany)

Może ktoś coś podpowie 😞 Chcę porządnie zaprojektować filtr pasywny i jak już się zagłębiłem w temat to zgodnie z oczywistą prawdą dowiedziałem się, że tak naprawdę nic nie wiem.

Chcę dodać filtr górnoprzepustowy żeby odfiltrować składową stałą z wyjścia mikrofonu MAX9813 którego parametry to:

image.thumb.png.04aa8d6cf27ac2a2c2d3a39c3f866123.png

Napięcia faktycznie pokrywają się z rzeczywistością:

image.thumb.png.5dabed4a974b30c8ec403423e9e64129.png

Nie rozumiem jak interpretować obciążenia i prąd wyjściowy.

Zakładam częstotliwości od 20 do 20kHz, z dokumentacji: "BW = 20Hz to 20kHz". URMS składowej zmiennej to 1.22V/sqrt2 = 0.86

1) 200pF równolegle do wyjścia to reaktancja max 250k, stąd prąd do masy to AC: 3.44uA RMS. Nie rozumiem dlaczego maximum to 200pF, to nie jest wyjście cyfrowe żeby liczył się czas propagacji. Większa pojemność źle wpływa na stabilność układu?

Biorę wzór Q=CU, dzielę przez czas ładowania T/4 = 12,5us, stąd I = 200pF*2*1.22V/12.5us = 39uA - to znowu nie jest dużo.

Np gdybym podłączył to do ATmegi8:

image.thumb.png.c3dc89da3af87ef83bfa1b458891ede7.png

To dla 20kHz (wiem max 15kHz dla Atmegi) impedancja to 100k-j570k. Moduł impedancji 580k, czyli ok można podłączyć. Rezystancja wyjściowa mikrofonu jest mała więc też nie ma co na to patrzeć.

Jeżeli chciałbym przefiltrować sygnał z mikrofonu  czy oznacza to, że najpierw muszę podać go na bufor?

 

2) Przy dodaniu rezystancyjnego oporu 5k mam DC: 0.25mA i AC:0.17mA RMS - dlaczego jest to minimum obciążenia rezystancyjnego skoro prąd jest daleki od typowego poboru prądu 1mA? Dalej jest test (no właśnie typowo przy źle dobranym oporze?) przy 500R czyli kierując się tzw. rule of thumb 10x większa od impedancji źródła aby nie uzyskać dużego spadku napięcia - ok rozumiem. To jakoś celowo że dali 100x większą rezystancje jako minimum?

 

Edit: chyba się wyjaśniło. Najwyraźniej chodzi o stabilność układu. W nocie katalogowej LM324 jest podany wykres marginesu wzmocnienia i fazy, które z tego co pamiętam z wykładów są związane z rozkładem zer i biegunów transmitancji obiektu

image.thumb.png.26e94a16ea4f0caca60d988879bcda26.png

Patrząc na to: https://www.analog.com/en/analog-dialogue/articles/ask-the-applications-engineer-25.html

Cytat

Q. How does capacitive loading affect op amp performance?

A. To put it simply, it can turn your amplifier into an oscillator. Here's how:

Op amps have an inherent output resistance, Ro, which, in conjunction with a capacitive load, forms an additional pole in the amplifier's transfer function.

Tak też jest. Co dalej z tą wiedzą? W sumie nie wiem. Muszę się douczyć 🙂

Jak ktoś ma jakąś wiedzę w tym temacie chętnie się zapoznam.

 

Edytowano przez Gieneq
  • Lubię! 1
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.