Przeczytałem dokumentację RP1, więc nie musisz tego robić
Jedną z najbardziej godnych uwagi cech nowego Raspberry Pi 5 jest włączenie RP1 - pierwszego samodzielnie zaprojektowanego układu krzemowego we flagowym produkcie Raspberry Pi. W tym artykule chciałbym omówić najważniejsze cechy RP1 i powiedzieć, co czyni go tak rewolucyjnym.
Niestety, ten artykuł nie może być odpowiednikiem "Wszystko o RP1", ponieważ nie wydano jeszcze pełnej dokumentacji.
Zamiast tego wypuścili 90-stronicowy projekt arkusza danych który omawia niektóre z podstaw RP1.
Zacznijmy więc od historii RP1.
Historia
RP1 to najdłużej działający wewnętrzny projekt krzemowy Raspberry Pi. Dlatego też nosi nazwę "RP1“.
W zapowiedzi Raspberry Pi 5, Eben Upton napisał: "Rozwijany od 2016 roku, RP1 jest z dużym marginesem najdłużej trwającym, najbardziej złożonym i (za $15 milionów) najdroższym programem, jaki kiedykolwiek podjęliśmy w Raspberry Pi".
To najdłużej działający, najbardziej złożonyoraz najdroższy program.
Nie jest to jednak pierwszy opracowany wewnętrznie krzem, który Raspberry Pi wypuściło. W tym celu należy zwrócić się do RP2040, który jest mikrokontrolerem w Pico i Pico W. Tak więc uruchomili RP2040 w 2021 roku, mimo że program faktycznie rozpoczął się później.
Wewnętrznie w Raspberry Pi wszyscy nazywali RP1 "Projektem Y".
Przejdźmy więc do tego, czym jest RP1.
Cechy
W poprzednich modelach w zasadzie wszystkie wejścia/wyjścia były zintegrowane z głównym procesorem.
Główną ideą RP1 jest więc oddzielenie I/O od głównego procesora - w tym przypadku Broadcom BCM2712. Jest to więc mostek południowy, który przejmuje zdecydowaną większość funkcji I/O dla Raspberry Pi 5.
Ma to wiele skutków - jednym z nich jest oferowanie procesów o mniejszej geometrii dla głównego procesora. BCM2712, jak już wspomnieliśmy, jest wykonany w procesie 16 nm.
Tymczasem sam RP1 znajduje się w 40 nm węźle procesowym.
Dzięki temu główny procesor może skupić się na bardziej złożonych zadaniach.
Tak więc BCM2712 przejmuje najszybsze interfejsy, pozostawiając wolniejsze interfejsy dla RP1. Wyjaśnię to bardziej szczegółowo w następnej sekcji.
Oba układy - RP1 i BCM2712 - współpracują ze sobą i łączą się za pośrednictwem 4-pasmowej magistrali PCIe 2.0. Jest to szybkie połączenie, ale nieuniknione są pewne opóźnienia między nimi.
Przejdźmy teraz do wewnętrznych specyfikacji RP1.
Poniżej zamieściłem zdjęcie schematu RP1 w celach informacyjnych.
Tak więc RP1 zawiera dwa rdzenie procesora oparte na architekturze Arm Cortex-M3 (Cortex M3 0 i Cortex M3 1 w czerwonych polach w lewym górnym rogu diagramu).
Posiada również ośmiokanałowy kontroler DMA, który pozwala układowi zarządzać transferami danych dla maksymalnie ośmiu różnych urządzeń peryferyjnych jednocześnie.
Układ zawiera trzy zintegrowane PLL: 2 ułamkowe N PLL do generowania niezależnych zegarów wideo i audio oraz 1 całkowity PLL do generowania zegarów systemowych.
RP1 posiada również pięciowejściowy przetwornik analogowo-cyfrowy (ADC) o rozdzielczości 12 bitów, działający z częstotliwością 500kSPS, z czterema wejściami zewnętrznymi i jednym wewnętrznym czujnikiem temperatury.
Jeśli spojrzysz na poniższy schemat, zauważysz żółte pole w lewym dolnym rogu z napisem "Shared SRAM 128bit 64kB) 4x 4kx32". Odnosi się to do faktu, że istnieje część pamięci o pojemności 64 kB dostępna zarówno dla magistrali BCM2712, jak i RP1.
Pamięć ta ma cztery oddzielne bloki, z których każdy składa się z 4 kilobajtów i zawiera transfery danych po 32 bity na raz.
Wreszcie, RP1 ma generatory podstawy czasu, które można skonfigurować do tempa DMA. Służą one przede wszystkim do przyspieszania DMA, a także do stabilizacji zdarzeń wejściowych GPIO.
Oto zdjęcie wewnętrznej architektury RP1 z arkusza danych:
Tak więc na tym zdjęciu widać ogólnie, jak działa RP1, ale można również zobaczyć, które funkcje peryferyjne kontroluje.
Sterowniki peryferyjne
Po prawej stronie widać następujące elementy, zaczynając od dołu: GPIO, USB 3 PHY, USB 2 PHY, USB 3 PHY, USB 2 PHY, MIPI DPHY, MIPI DPHY, VDAC i RGMII.
RP1 steruje więc pinami GPIO i powiązanymi z nimi interfejsami peryferyjnymi: SPI, UART, I2C, PWM, I2S. Kontroluje również wyjście audio Delta Sigma PWM, ale nie można uzyskać typowego analogowego dźwięku, ponieważ Raspberry Pi 5 nie ma gniazda audio.
Kontroluje również porty USB 2.0 i USB 3.0 - każdy kontroler hosta zarządza portem USB 2.0 i USB 3.0. Zgodnie z arkuszem danych oznacza to, że "każdy port downstream ma niezależną i niezakłóconą przepustowość"
Według Liama Frasera, "[B]ez względu na przepustowość łącza PCIe, powinniśmy być w stanie uruchomić oba porty USB 3 z pełną przepustowością". To ogromny postęp w stosunku do Raspberry Pi 4!
RP1 jest odpowiedzialny za nadajniki-odbiorniki MIPI, które składają się z czterech ścieżek obsługujących DSI i CSI-2.
Posiada 3-kanałowy przetwornik cyfrowo-analogowy wideo, który obsługuje PAL/NTSC i VGA.
I wreszcie, RP1 jest również odpowiedzialny za kontrolowanie Gigabit Ethernet MAC.
W tym momencie możesz zastanawiać się nad PIO. Niestety, w tej chwili nie mamy wielu informacji na ten temat, ponieważ nie udostępniono jeszcze całej dokumentacji dla RP1.
Wiemy natomiast, że blok PIO w RP1 działa nieco inaczej niż w RP2040. Tak więc, chociaż istnieje jeden blok PIO z czterema maszynami stanu (jak RP2040), ma on podwójną głębokość FIFO. Sprawdź ten komentarz od Luke'a Wrena:
Oto, co obecnie wiemy o kontrolerach peryferyjnych.
Bądź na bieżąco, ponieważ w miarę upływu czasu z pewnością ujawnią znaczną ilość informacji na temat RP1.
Wady
Rozmawialiśmy już o niektórych fajnych rzeczach w RP1, ale nie jest to całkowicie usłane różami.
Oczywiście pierwszą rzeczą jest to, że PIO na RP1 działa inaczej niż RP2040. Sprawdź ten komentarz od Phila:
Kolejną wadą oddzielenia kontrolera I/O od głównego SoC jest wprowadzenie pewnej ilości opóźnień.
Zgodnie z arkuszem danych, opóźnienie to wynosi "typowo 1 μs przy projektowanej szerokości łącza i prędkości", co może stanowić problem "dla aplikacji, które polegają na szybkich, ale terminowych sekwencjach zapisu, np. protokołach bit-bashed lub aplikacjach, które muszą szybko reagować na zmianę stanu pinu".
Co przyniesie przyszłość?
Jednym z głównych pytań jest to, czy Raspberry Pi będzie sprzedawać RP1 osobno. W końcu, sprzedają RP2040 oddzielnie. W komentarzu sprzed kilku dni Alasdair Allan z Raspberry Pi udzielił następującej odpowiedzi:
Oczywiście może to być defraudacja lub prawdziwa odpowiedź, że nie powinniśmy spodziewać się osobnego RP1. W związku z tym pytaniem tylko czas pokaże.
Moim zdaniem byłoby fantastycznie, gdyby sprzedawali RP1 osobno.
Jedna z najciekawszych alternatyw pochodzi jednak od Jeffa Geerlinga:
Być może Raspberry Pi da nam w pewnym momencie jedno i drugie - oddzielny chip RP1 i płytkę PCIe!
Będziemy musieli poczekać i zobaczyć.
Konkurs i biuletyn
Wiemy, jak frustrujące jest czekanie na Raspberry Pi 5 do 23 października.
Dlatego chcieliśmy umożliwić ci zabawę z nim tak szybko, jak to możliwe.
Zorganizowaliśmy więc konkurs: Jaką najbardziej szaloną rzecz można wymyślić dla Raspberry Pi 5?
Pod warunkiem, że twój pomysł go nie zniszczy, możesz wysłać nam swój pomysł, a my wprowadzimy go w życie - i napiszemy o nim artykuł!
Zwycięzcę ogłosimy tutaj i na stronie buyzero.de 23 października.
Zwycięski pomysł (określony przez nas) wygra pełny zestaw Raspberry Pi 5 - w tym zasilacz USB-C Power Delivery (PD) 27 W, obudowę Raspberry Pi 5, kartę SD i Raspberry Pi 5. Wszystko z bezpłatną wysyłką na terenie UE.
Zdobywca drugiego miejsca wygra Raspberry Pi 5 z bezpłatną wysyłką na terenie UE.
Zachęcamy więc do nadsyłania pomysłów - więcej informacji można znaleźć pod poniższym linkiem: WYGRAJ DARMOWE RASPBERRY PI 5!
Wniosek
A więc masz to: najważniejsze elementy RP1.
Jak jednak podkreśliłem na początku, niektóre z tych informacji mogą ulec zmianie. Z pewnością opublikujemy nowy artykuł, gdy Raspberry Pi wyda bardziej stałą dokumentację.
W międzyczasie zapoznaj się z innymi naszymi artykułami na temat Raspberry Pi 5:
- Raspberry Pi 4 vs. Raspberry Pi 5
- Pierwsze spojrzenie na Raspberry Pi 5
- Chłodzenie Raspberry Pi 5
- DOOM na Raspberry Pi 5
- Wygraj DARMOWE Raspberry Pi 5
- 5 zaskakujących funkcji Raspberry Pi 5
- Szybkość karty Micro SD w Raspberry Pi 5
- 4 Najczęściej zadawane pytania dotyczące Raspberry Pi 5
Czy RP1 ma być sprzedawany osobno? A może płyta PCIe, jak Jeff Geerling?
Daj nam znać w komentarzach poniżej!
Interesujące jest oddzielenie głównego procesora od wszystkich peryferiów E/S głównego chipa,
quizas no desean vender por separado al RP1 por tener solo nucleos M3, y que tendrian que competir con nucleos M4 y M7