logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Moduły Sipeed Tang Nano/Gowin FPGA - wymiana doświadczeń, dyskusja techniczna

JarekC 23 Maj 2023 21:20 1656 19
REKLAMA
  • #1 20592099
    JarekC
    Poziom 32  
    Posty: 1508
    Pomógł: 231
    Ocena: 397
    Witam,

    W rozwinięciu do dyskusji która została zapoczątkowana w dziale "News"
    https://www.elektroda.pl/rtvforum/topic3979636.html#20592039
    założyłem wątek poświęcony modułem z rodziny Tang Nano opartych o układy FPGA firmy Gowin Semiconductors.

    Rodzina ta obejmuje następujące płytki:

    Tang Nano
    Tang Nano 1k
    Tang Nano 4k
    Tang Nano 9k
    Tang Nano 20k
    Tang Primer 20k

    Płytki 20K bazują na układach GW2A (rodzina Arora) pozostałe na GW1N (rodzina LittleBee).

    Osobiście wykorzystuję moduły
    Tang Nano w projekcie konwertera sygnałów sterownika DMD we flipperach na sygnał VGA z możliwością zmiany palety kolorów
    oraz
    Tang Nano 9K w projekcie nakładki na wyświetlacz PIN2DMD (kolorowy wyświetlacz do flipperów) pozwalającej na podłączenie monitora z wejściem HDMI lub dodatkowego wyświetlacza LCD.

    Jak znajdę wolną chwilę czasu to postaram się dokładnie opisać obydwa te projekty.

    Do dyskusji zapraszam osoby które miały styczność z tymi modułami i chcą się podzielić praktycznymi informacjami na ich temat.

    Pozdrawiam
    JarekC
  • REKLAMA
  • #2 20592143
    leonow32
    Poziom 30  
    Posty: 2027
    Pomógł: 37
    Ocena: 1232
    Obserwuję te scalaki od pewnego czasu i wciąż zastanawiam się czy jest sens. W komercyjnych projektach wykorzystuję chińskie scalaki i zawsze były w nich jakieś babole, błędy, braki w dokumentacji. Z drugiej strony ESP32 jest bardzo rozbudowany i działa całkiem spoko, a przede wszystkim da się go kupić bez żadnych problemów. Zatem jak w praktyce wyglądają chińskie FPGA?
  • REKLAMA
  • #3 20592181
    Armadon
    Poziom 17  
    Posty: 197
    Pomógł: 9
    Ocena: 209
    Ja tam wykorzystuję w komercyjnych projektach, tyle że na razie w stosunkowo niewymagających aplikacjach - na pinach nie mam nic powyżej 30MHz. Ot prosta logika, jakieś nietypowe interfejsy.
    I oczywiście PCB projektuję sam bo te gotowce na papierze wyglądają spoko, ale jak się bliżej przyjrzeć to jednak nie jest to taki poziom który mógłbym zaakceptować powyżej prototypu.
    Po prostu widać w nich charakterystyczny dla chińskiej myśli technicznej stosunek do detali.
    Aczkolwiek powoli pracuję nad PCB w którym zamierzam skorzystać z wbudowanego USB 2.0 Full Speed i pamięci DDR3, a to może być pouczające doświadczenie.
  • #4 20592188
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    leonow32 napisał:
    Obserwuję te scalaki od pewnego czasu i wciąż zastanawiam się czy jest sens.


    Zestawy nie są drogie, kup pobaw się będziesz wiedział. Tutaj wszystko zależy od zastosowań na ile są to krytyczne projekty bo komercja komercji nie jest równa. Inna sprawa to w jednych zastosowaniach mogą się sprawdzić w drugich nie.

    Ja sobie kupiłem jak wspomniałem kilka zestawów i na razie w wolnych chwilach sobie je testuje. Zgodnie z zasadą jak sam nie sprawdzisz to nie będziesz wiedział :)

    leonow32 napisał:

    W komercyjnych projektach wykorzystuję chińskie scalaki i zawsze były w nich jakieś babole, błędy, braki w dokumentacji.


    Ehh, a w których obecnie układach nie ma baboli :) Dokumentacja jak wspomniałem IMHO nie jest zła (widziałem gorsze i to u dużych szanowanych producentów).
  • #5 20592195
    JarekC
    Poziom 32  
    Posty: 1508
    Pomógł: 231
    Ocena: 397
    Dzisiaj trudno znaleźć coś co nie miałoby błędów (erraty na kilkanaście stron).

    Aktualnie zaletą jest dostępność gotowych modułów Tang Nano, nie są może one idealne ale w moje projekty wpasowały się dość dobrze.

    W przeciwieństwie do wielu chińskich firm ta od początku udostępnia dokumentację w języku angielskim.
    Inżynierowie aplikacyjni zarówno na Europę jak i na USA są angielskojęzyczni, nie ma bariery językowej.
    Obserwuję ich rozwój i widać że chcą wykroić sobie kawałek tortu z rynku motoryzacyjnego a tam raczej wymagana jest wysoka jakość.

    Ze znanych mi problemów to poruszony wcześniej problem niestabilności układu w przypadku dużego wykorzystania zasobów.
    Jak na razie Gowin nie odniósł się do tego tematu.

    Kanał dystrybucyjny tych układów też nie jest idealny.
    Mouser ma zaporowe ceny, Rutronik ma lepsze ceny ale niewielkie stany magazynowe, chyba najlepsze ceny ma amerykański Edge Electronics.
    Niestety brak dystrybucji przez tandem LCSC/JLCPCB co ułatwiłoby budowę własnych modułów.
  • #6 20592220
    tplewa
    Poziom 39  
    Posty: 6727
    Pomógł: 222
    Ocena: 991
    JarekC napisał:

    Kanał dystrybucyjny tych układów też nie jest idealny.
    Mouser ma zaporowe ceny, Rutronik ma lepsze ceny ale niewielkie stany magazynowe, chyba najlepsze ceny ma amerykański Edge Electronics.
    Niestety brak dystrybucji przez tandem LCSC/JLCPCB co ułatwiłoby budowę własnych modułów.


    To wynika bardziej z tego że są to jeszcze niszowe układy, z drugiej strony w zabawie hobbystycznej (produkcja jednostkowa) przynajmniej dla mnie cena elementu nigdy nie była jakaś krytyczna. Generalnie już przywykłem że nie jest to tanie hobby, z drugiej strony patrząc na kumpla co ma akwaria morskie to on więcej kasy na rybki wydaje niż ja na elektronikę :)

    Natomiast same te FPGA to dla mnie tak ciekawostka aby pobawić się czymś nowym... Zwłaszcza w czasach gdzie dostępność komponentów innych producentów nie wygląda różowo...
  • #7 20658361
    gkalfail
    Poziom 13  
    Posty: 99
    Pomógł: 2
    Ocena: 29
    >>20592099
    W oryginalnym wątku newsowym pisaliscie, że w TANG NANO 9K nie da się użyć LVDSa. Możecie proszę rozwinąć o co chodzi? Jestem głównie zainteresowany płytka bo chciałbym przetestować właśnie interface po LVDS (4x TX i 4x RX). Bez zrobienia własnej płytki się nie da - bo zasilanie banków?
  • REKLAMA
  • #8 20658462
    JarekC
    Poziom 32  
    Posty: 1508
    Pomógł: 231
    Ocena: 397
    Standardowo przy wykorzystaniu linii LVDS25 zasilanie banku I/O powinno wynosić 2.5V aby otrzymać zgodne ze standardem Voc.
    Żaden z modułów TANG Nano nie oferuje banku IO zasilanego 2.5V

    Natomiast w dokumentacji GW1NR (DS117) można znaleźć informację że przy wyborze trybu pracy portu jako LVDS25 port może być zasilany 2.5V albo 3.3V.
    Aby potwierdzić tą informację napisałem do FAE Gowin i otrzymałem odpowiedź potwierdzającą taka opcję pracy.
    Przy wykonywaniu "Place & Route" zostanie zgłoszone ostrzeżenie ale wg FAE można je zignorować.

    Nie miałem jeszcze czasu w praktyce sprawdzić działania LVDS przy zasilaniu 3.3V.
    Czy jest zachowane poprawne Voc i Vodiff.
  • #9 20658548
    gkalfail
    Poziom 13  
    Posty: 99
    Pomógł: 2
    Ocena: 29
    Wielkie dzięki za odpowiedź - czyli jest szansa, że zadziała no i oczywiście jest szansa, że nie. Całe piękno tak tanich płytek jest to, że można zaryzykować. Najwyżej będe miał zabawkę do pouczenia się o SDRAM/PSRAM. :)
  • REKLAMA
  • #11 20679617
    gkalfail
    Poziom 13  
    Posty: 99
    Pomógł: 2
    Ocena: 29
    Płytka była przyszła (Tang Nano 9k), na pierwszy rzut oka działa (jeden z przykładów skompilowany i wgrany). IDE pierwsze wrażenia spoko - jednak pod linuxem nie działa mi programowanie. Wiecie może jak to rozwiązać? Tymczasem używam "openFPGALoader" i tenże program spoko daje radę.

    IDE darmową (tylko rejestracja potrzebna) licencje dostałem w ~3h ale wersja edukacyjna (bez licencji) chyba też by była OK.

    Jeżeli chciałbym zrobić własną płytkę to w jaki programator (JTAG dongle) powinienem się zaopatrzyć?
  • #12 20679715
    JarekC
    Poziom 32  
    Posty: 1508
    Pomógł: 231
    Ocena: 397
    W sprawie linuxa nie podpowiem bo pracuję pod windows.

    Co do programatora dla przy Tang Primer 20K używany jest zewnętrzny programator "Sipeed RV debugger plus"

    Mam tez oryginalnego "Gowin USB Dongle (U2X)" ale nie miałem jeszcze okazji aby go użyć.
  • #15 20724258
    gkalfail
    Poziom 13  
    Posty: 99
    Pomógł: 2
    Ocena: 29
    Pytanie i podzielenie się doświadczeniem:

    Pytanie: Czy zauważyliście w raportach nieużywane piny, nawet jeżeli BANK IO voltage jest ustawione na 3.3V, są oznaczone jako LVCMOS18. Nie wiem czy to problem? Potencjalnie trochę strachu jest bo taki port skonfigurowany jest na 1.8V a ma zasilanie 3.3V. Da się to jakoś ustawić na LVCMOS33 hurtem?

    Obserwacja: Chińczycy wypuścili plugin do VS Code - nazywa się to "Lushay Code" i ma jedną zaleta - piny można przydzielać na "widoku" płytek tang nano X (generuje plik .cst). Ten plugin też pozwala na wyklikanie syntezy i implementacji za pomocą narzędzi open source. Nie powala ale może być przydatny.
  • #16 20744471
    JarekC
    Poziom 32  
    Posty: 1508
    Pomógł: 231
    Ocena: 397
    Dla przykładu część mojego ostatniego projektu w wykorzystaniem TANG Nano 9K

    Tang Nano 9K + wyświetlacz LCD IPS 800x480

    Bitmapy przechowywane są w zewnętrznej pamięci SPI FLASH, podczas inicjalizacji następuje przepisanie z FLASH
    do wewnętrznej pamięci PSRAM (tryb BURST128).
    Podczas samego wyświetlania dodatkowo wykorzystywany jest bufor wideo w pamięci BRAM (rozmiar dwóch linii obrazowych).

    Wykorzystywane bloki IP:
    - R_PLL
    - SDPB BSRAM
    - PSRAM HS V2.0

    Bitmapy wgrywane do SPI FLASH przy pomocy programu Gowin Programmer.

    Teraz chcę jeszcze zaimplementować odczyt karty SD aby można było łatwo podmieniać bitmapy do wyświetlenia.

    Wyświetlacz LCD IPS 800x480 z podłączonym Tang Nano 9K, wyświetlający obraz animowanej postaci.
  • #17 20746793
    miszcz310
    Poziom 25  
    Posty: 717
    Pomógł: 46
    Ocena: 178
    Super! Czy masz jakieś ciekawe źródła gdzie można się nauczyć takie ciekawe rzeczy robić?
  • #18 20747296
    JarekC
    Poziom 32  
    Posty: 1508
    Pomógł: 231
    Ocena: 397
    Wg mnie najlepiej uczyć się poprzez wykonywanie projektów, zacząć od prostych a potem je rozbudowywać.
    W sieci jest mnóstwo informacji, poradników kursów itp. Nie jestem w stanie wskazać jakiego jednego konkretnego który uważałbym za najlepszy.
    Dobra książka o VHDL lub Verilog też nie zaszkodzi.

    Osobiście piszę w VHDLu, chociaż gdybym dzisiaj jeszcze raz zaczynał naukę to pewnie wybrałbym Verilog.

    Jeżeli chodzi o Sipeed Tang Nano i GowinSemi to warto zaglądać na ich Twittera.
    Dużo informacji jest też na Reddit r/FPGA i r/GowinFPGA.
    Fajny blog poświęcony Tang Nano 9K:
    https://learn.lushaylabs.com/tang-nano-series/
  • #19 20747561
    miszcz310
    Poziom 25  
    Posty: 717
    Pomógł: 46
    Ocena: 178
    Wspaniale! Bardzo dziękuję za szybką (p)odpowiedź.
  • #20 21512817
    arti0
    Poziom 11  
    Posty: 13
    Ocena: 2
    Na stronie Gowin Semiconductors najnowsze oprogramowanie np. Gowin_V1.9.11.01_Education_x64_win.zip wg opinii antywirusa AVG zawiera trojana. W zasadzie każdy .exe. Znalazłem wątek na Reddicie o tym, ale bez rozwiązania.
    Ma ktoś wyrobione konstruktywne zdanie na ten temat?

Podsumowanie tematu

✨ Dyskusja dotyczy modułów FPGA z rodziny Sipeed Tang Nano opartych na układach Gowin Semiconductors, w tym modeli Tang Nano, Tang Nano 1k, 4k, 9k, 20k oraz Tang Primer 20k. Moduły 20K bazują na układach GW2A (rodzina Arora), pozostałe na GW1N (rodzina LittleBee). Użytkownicy dzielą się doświadczeniami z zastosowań w projektach hobbystycznych i komercyjnych, wskazując na pewne ograniczenia, takie jak niestabilność przy dużym wykorzystaniu zasobów oraz problemy z dokumentacją i dystrybucją. Poruszono temat zasilania banków IO dla interfejsu LVDS, gdzie standardowo wymagana jest wartość 2.5V, której moduły Tang Nano nie oferują, jednak możliwe jest zasilanie 3.3V z akceptacją ostrzeżeń w narzędziach projektowych. Wspomniano o problemach z programowaniem pod Linuxem, gdzie alternatywnie używa się openFPGALoader. Do programowania stosowane są programatory oparte na układzie FT2232H, natomiast nie jest potwierdzona kompatybilność z FT232H. Użytkownicy opisują implementacje projektów z wykorzystaniem pamięci SPI FLASH, PSRAM i BRAM, a także korzystanie z bloków IP takich jak R_PLL i SDPB BSRAM. Wskazano na dostępność narzędzi i pluginów, m.in. "Lushay Code" do VS Code, oraz źródeł nauki, takich jak blogi, Twitter Gowin, Reddit r/FPGA i r/GowinFPGA. Na koniec poruszono kwestię bezpieczeństwa oprogramowania Gowin IDE, które według antywirusa AVG może zawierać trojana, co budzi obawy wśród użytkowników.
Wygenerowane przez model językowy.
REKLAMA