Skocz do zawartości

Premiera: Raspberry Pi Pico (za 4$) z nowym układem RP2040


Pomocna odpowiedź

Nie widzę dla siebie zastosowania dla takiej płytki (super proste rzeczy AVR/Arduino, a ostatnio i tak wszystko podpinam pod domową sieć, a więc ESP z WiFi), ale rzeczywiście te układy PIO to dla mnie całkowita nowość i wydaje się, że dają duże pole do popisu. Oczyma wyobraźni widzę niezłą bibliotekę wspierającą masę protokołów i innych funkcji, które w ogóle nie zaprzątają głównych rdzeni i tu widzę chyba największą przewagę Pico - czy słusznie, czas pokaże.

  • Lubię! 1
Link to post
Share on other sites

Obawiam się, że możliwości PIO są jednak nieco zbyt ograniczone jak na "niezłą bibliotekę wspierającą masę protokołów i innych funkcji" - z tego co widziałem w dokumentacji mamy do dyspozycji pamięć na 32 instrukcje "asemblera", w dodatku ta pamięć jest dzielona przez 4 maszyny stanowe. Nie zmienia to jednak faktu, że nawet przy tak małych zasobach na pewno uda się ciekawe zastosowania dla PIO znaleźć.

Taka elastyczność PIO może być też interesująca dla osób chcących nieco dokładniej poznać działanie protokołów - więc do nauki to może być super rozwiązanie.

  • Lubię! 2
Link to post
Share on other sites

Ja czytałem, że 32 bity to ma kolejka FIFO, nic o 32 instrukcjach nie trafiłem, ale fakt, nie przedzierałem się przez całą dokumentację, a jedynie przeczytałem krótki opis z paroma przykładami. Ale może jeśli takie PIO się przyjmą, to w kolejnych iteracjach zobaczymy wersje rozbudowane.

  • Lubię! 1
Link to post
Share on other sites

Może mi się coś przewidziało, wczoraj na szybko przeglądałem dokumentację. Wydawało mi się, że pamięć programów dla PIO jest bardzo ograniczona, ale teraz tego nie widzę.

Link to post
Share on other sites

Jestem ciekaw jakie będą zastosowania tego RPi. To coś pomiędzy STM32F0/1/2/3/4 a STM32F7 lub ESP32/RPi0.

Może to jakiś początkowy etap współpracy fundacji Raspberry z ARM czyli Nvidia. I za jakiś czas zobaczymy RPi na autorskim chipie posiadającym CUDA. Takie RPi Jetson - połączenie dokumentacji i wsparcia Raspberry z możliwościami Nvidii.

  • Lubię! 1
Link to post
Share on other sites
Dnia 22.01.2021 o 15:42, Elvis napisał:

Może mi się coś przewidziało, wczoraj na szybko przeglądałem dokumentację. Wydawało mi się, że pamięć programów dla PIO jest bardzo ograniczona, ale teraz tego nie widzę.

Nie przewidziało ci się, z drugiej strony na tych 32 instrukcjach da się sporo zdziałać. 
PIO nie są dodatkowymi rdzeniami ogólnego przeznaczenia, dużo lepiej jest myśleć o nich jak bardziej zaawansowanej wersji USART czy USI (tak to chyba nazywało się u atmela) ot bardzo elastyczny blok komunikacyjny. Z drugiej strony jeżeli społeczność pokaże pazur w tej kwestii a fundacja postanowi wypuścić nowy układ z tej seri, to myśle że spokojnie możemy oczekiwać w nim PIO o większych możliwościach.

  • Lubię! 1
Link to post
Share on other sites
(edytowany)

Super sprawa jeżeli skopiowany plik kodu można edytować, 133 Hz  to juź coś w porównaniu z esp32 80hz, też na plus. 3 wejścia alogowe to trochę mało, ale zawsze można rozszerzyć. Łatwiej na pewno zacząć z micropytchonem dlatego zamawię. Podejrzewam że te dwa rdzenie to lipa marketingowa jak w esp32. Ciekawe czy te 133hz jest osiągalne przy jednym rdzeniu. Bo większość programów bedzie pisana pod jeden rdzeń.

Edytowano przez rafalmrok
Link to post
Share on other sites

@rafalmrok witam na forum 🙂 Dla formalności - oczywiście w Twoim poście chodzi wszędzie o MHz, a nie Hz - domyślam się, że to literówka, ale "prostuję", aby nie wprowadzać innych w błąd.

  • Lubię! 1
Link to post
Share on other sites
2 godziny temu, rafalmrok napisał:

Super sprawa jeżeli skopiowany plik kodu można edytować, 133 Hz  to juź coś w porównaniu z esp32 80hz, też na plus. 3 wejścia alogowe to trochę mało, ale zawsze można rozszerzyć. Łatwiej na pewno zacząć z micropytchonem dlatego zamawię. Podejrzewam że te dwa rdzenie to lipa marketingowa jak w esp32. Ciekawe czy te 133hz jest osiągalne przy jednym rdzeniu. Bo większość programów bedzie pisana pod jeden rdzeń.

Według dokumentacji "RP2040 Datasheet":

  • Dwa rdzenie to nie lipa.
  • Część peryferiów jest bezkonfliktowa (podpięta pod AHB, pamięci, flash, PIO, USB, DMA), część jest konfliktowa (podpięta pod APB, praktycznie wszystkie peryferia). Magistrala AHB ma 4 mastery (C0, C1, DMA-Read i DMA-Write) i jak długo dobierają się do różnych urządzeń, tak długa pracują całkowicie równolegle - między innymi dlatego RAM jest pocięty na małe kawałki (po 64kB), żeby każdy master mógł chodzić na swoim "banku" bez konfliktów. [str 14, rozdział 2.1. Bus Fabric].
  • Rdzenie spięte są fajnym interfejsem SIO (2x jednokierunkowe FIFO 32x32, 32 spinlocki do synchronizacji, rejestr zwracający numer rdzenia czytającego ten rejestr plus parę dodatkowych modułów obliczeń asynchronicznych) [str 24, rozdział 2.3.1. SIO]
  • Firmware zbudowany jest tak, że po włączeniu rdzeń 0 normalnie działa, a rdzeń 1 natychmiast usypia. Jak jest potrzeba, to za pomocą FIFO (zapis do FIFO generuje przerwanie, które z kolei budzi rdzeń) C0 wysyła do C1 bazę przerwań, wskaźnik stosu i adres programu do wykonania i C1 rusza od wskazanych ustawień. [str 152, 2.8.2. Processor Controlled Boot Sequence]

@Elvis@Marooned - Tak, każdy z dwóch PIO ma własną pamięć instrukcji (32 słowa 16-bitowe) współdzieloną przez własne 4 maszyny stanów. I dużo i mało. Na pewno pojawi się szybko duża biblioteka implementacji różnych protokołów (mnie najbardziej ucieszyła "sprzętowa" implementacja protokołu LEDów WS-xxxx). Biorąc pod uwagę, że fundacji Raspberry dała plik SVD do tego procesora, pewnie szybko pojawią się biblioteki do Rusta i implementacja języka PIO jako makro DSL.

  • Lubię! 1
Link to post
Share on other sites
5 godzin temu, rafalmrok napisał:

ipa marketingowa jak w esp32

Czemu uważasz że to lipa? Natknąłeś się na wersję z jednym rdzeniem (bo takie istnieją i wyraźnie jest to w dokumentacji zaznaczone)?

Link to post
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

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.