Eu li a documentação do RP1 para não ter de o fazer

Essenciais de RP1 Título Imagem

Uma das características mais notáveis do novo Raspberry Pi 5 é a inclusão do RP1 - o primeiro chip de silício concebido internamente num produto emblemático Raspberry Pi. Neste artigo, quero abordar os aspectos essenciais do RP1 e dizer-vos o que o torna tão revolucionário.

Infelizmente, este artigo não pode ser o equivalente a um "Tudo sobre o RP1", porque ainda não lançaram a documentação completa.

Em vez disso, lançaram um Projeto de ficha de dados de 90 páginas que aborda alguns dos fundamentos do RP1.

Componentes do Raspberry Pi 5

Comecemos então pela história da RP1.

História

Assim, o RP1 é o projeto interno de silício mais antigo da Raspberry Pi. É por isso que se chama "RP1“.

No anúncio do Raspberry Pi 5, Eben Upton escreveu: "Em desenvolvimento desde 2016, o RP1 é, por uma boa margem, o programa mais longo, mais complexo e (em $15 milhões) mais caro que já realizamos aqui no Raspberry Pi."

É o mais antigo, mais complexoe mais caro programa.

No entanto, não é o primeiro silício desenvolvido internamente que o Raspberry Pi lançou. Para isso, você tem que recorrer ao RP2040, que é o microcontrolador do Pico e do Pico W. Então eles lançaram o RP2040 em 2021, embora o programa tenha começado mais tarde.

Internamente na Raspberry Pi, toda a gente se referia ao RP1 como "Projeto Y".

Vamos então analisar o que é o RP1.

Características

Nos modelos anteriores, basicamente todas as E/S estavam integradas no processador principal.

Assim, a ideia principal por detrás do RP1 é separar as E/S do processador principal - neste caso, o Broadcom BCM2712. Portanto, é um southbridge que assume a grande maioria das funções de E/S do Raspberry Pi 5.

Isto tem uma série de efeitos - um deles é oferecer processos de geometria mais pequena para o processador principal. O BCM2712, como já referimos, está nos nós de processo de 16nm.

Entretanto, a própria RP1 encontra-se em nós de processo de 40 nm.

Isto também permite que o processador principal se concentre em tarefas mais complexas.

Assim, o BCM2712 assume as interfaces mais rápidas, deixando as interfaces mais lentas para o RP1. Explicarei isso melhor na próxima secção.

Mas os dois chips - RP1 e BCM2712 - trabalham em conjunto e ligam-se através de um barramento PCIe 2.0 de 4 vias. É uma ligação rápida, mas existe inevitavelmente alguma latência entre os dois.

As pistas PCIe entre RP1 e BCM2712
As pistas PCIe entre RP1 e BCM2712.

Passemos agora às especificações internas do RP1.

Incluí uma imagem abaixo do diagrama do RP1 para referência.

Assim, o RP1 contém dois núcleos de processador baseados na arquitetura Arm Cortex-M3 (Cortex M3 0 e Cortex M3 1 nas caixas vermelhas no canto superior esquerdo do diagrama).

Também tem um controlador DMA de oito canais, que permite ao chip gerir transferências de dados para até oito periféricos diferentes em simultâneo.

O chip incorpora três PLLs integrados: 2 PLLs de N fracionário para gerar relógios de vídeo e áudio independentes e 1 PLL inteiro para gerar relógios de sistema.

O RP1 também possui um conversor analógico-digital (ADC) com resolução de 12 bits e cinco entradas de aproximação sucessiva, operando a 500kSPS, com quatro entradas externas e um sensor de temperatura interno.

Se olhar para o diagrama abaixo, notará uma caixa amarela no canto inferior esquerdo que diz "Shared SRAM 128bit 64kB) 4x 4kx32". Isto refere-se ao facto de existir uma porção de 64kB de memória acessível tanto pelo BCM2712 como pelo RP1 bus masters.

Esta memória tem quatro blocos separados, cada um dos quais é composto por 4 kilobytes e inclui transferências de dados de 32 bits de cada vez.

Finalmente, o RP1 tem geradores de base de tempo que podem ser configurados para acelerar o DMA. Eles estão lá principalmente para acelerar o DMA, bem como para estabilizar eventos de entrada GPIO.

Eis a imagem da arquitetura interna do RP1 retirada da folha de dados:

Arquitetura da RP1
Crédito: Folha de dados RP1.

Assim, nesta imagem, pode ver em termos gerais como funciona o RP1, mas também pode ver quais as funções periféricas que controla.

Controlos periféricos

Pode ver o seguinte à direita, começando por baixo: GPIO, USB 3 PHY, USB 2 PHY, USB 3 PHY, USB 2 PHY, MIPI DPHY, MIPI DPHY, VDAC e RGMII.

Assim, RP1 controla os pinos GPIO e as suas interfaces periféricas associadas: SPI, UART, I2C, PWM, I2S. Também controla a saída de áudio Delta Sigma PWM, mas não é possível obter o típico áudio analógico, porque o Raspberry Pi 5 não tem uma tomada de áudio.

Também controla as portas USB 2.0 e USB 3.0 - cada controlador anfitrião gere uma porta USB 2.0 e USB 3.0 a jusante. De acordo com a ficha de dados, isto significa que "cada porta a jusante tem uma largura de banda independente e não limitada"

De acordo com Liam Fraser, "devido à largura de banda da ligação PCIe, deveremos ser capazes de executar ambas as portas USB 3 com largura de banda total". Esta é uma grande atualização em relação ao Raspberry Pi 4!

PCIe de RP1 para USB
Que pistas tão bonitas.

O RP1 é responsável pelos transceptores MIPI, que são quatro pistas que suportam DSI e CSI-2.

Dispõe de um conversor analógico-digital de vídeo de 3 canais que suporta PAL/NTSC e VGA.

E, finalmente, é também da responsabilidade do RP1 controlar o MAC Gigabit Ethernet.

Nesta altura, deve estar a perguntar-se sobre a PIO. Infelizmente, há muitas informações que não temos de momento, porque ainda não foi disponibilizada toda a documentação para o RP1.

O que sabemos é que o bloco PIO no RP1 funciona de forma um pouco diferente do RP2040. Portanto, embora haja um bloco PIO com quatro máquinas de estado (como no RP2040), ele tem o dobro da profundidade do FIFO. Veja este comentário de Luke Wren:

Eis o que sabemos sobre os controlos periféricos neste momento.

Fique atento, porque, com o passar do tempo, vão ser divulgadas muitas informações sobre o RP1.

Diminuições

Já falámos de algumas das coisas fantásticas da RP1, mas nem tudo são rosas.

Obviamente, a primeira coisa é que o PIO no RP1 funciona de forma diferente do RP2040. Veja este comentário do Phil:

Outra das desvantagens de separar o controlador de E/S do SoC principal é o facto de introduzir uma certa latência.

De acordo com a ficha de dados, esta latência é "tipicamente de 1μs na largura e velocidade da ligação projectada", o que pode ser um problema "para aplicações que dependem de sequências de escrita rápidas mas atempadas, por exemplo, protocolos bit-bashed, ou aplicações que precisam de responder rapidamente à mudança de estado de um pino".

O que é que o futuro nos reserva?

Uma das grandes questões é se o Raspberry Pi vai ou não vender o RP1 separadamente. Afinal de contas, vendem o RP2040 separadamente. Num comentário há alguns dias, Alasdair Allan, do Raspberry Pi, deu a seguinte resposta:

Claro que isso pode ser um desvio ou pode ser uma resposta genuína de que não devemos esperar um RP1 separado. Com esta pergunta, só o tempo o dirá.

Seria fantástico se vendessem o RP1 separadamente, na minha opinião.

No entanto, uma das alternativas mais interessantes veio de Jeff Geerling:

Talvez o Raspberry Pi nos dê as duas coisas - um chip RP1 separado e uma placa PCIe!

Teremos de esperar para ver.

Concurso e boletim informativo

Sabemos como é frustrante ter de esperar até 23 de outubro por um Raspberry Pi 5.

Por isso, quisemos permitir-lhe brincar com um o mais rapidamente possível.

Por isso, criámos um concurso: Qual é a coisa mais louca que se pode inventar para o Raspberry Pi 5?

Concurso Raspberr Pi 5

Desde que a sua ideia não a destrua, pode enviar-nos a sua ideia e nós vamos pô-la em prática na nossa - e escrever um artigo sobre ela!

O vencedor será anunciado aqui e no buyzero.de a 23 de outubro.

A ideia vencedora (determinada por nós) ganhará um kit completo Raspberry Pi 5 - incluindo uma fonte de alimentação USB-C Power Delivery (PD) de 27W, uma caixa Raspberry Pi 5, um cartão SD e um Raspberry Pi 5. Tudo com envio gratuito dentro da UE.

O segundo classificado ganhará um Raspberry Pi 5 com envio gratuito para a UE.

Por isso, não se esqueça de enviar as suas ideias - para mais informações, consulte a seguinte ligação: GANHE UM RASPBERRY PI 5 GRÁTIS!

Conclusão

Eis os elementos essenciais da RP1.

No entanto, tal como salientei no início, algumas destas informações estão sujeitas a alterações. Iremos publicar um novo artigo assim que a Raspberry Pi lançar uma documentação mais permanente.

Entretanto, não deixe de consultar alguns dos nossos outros artigos sobre o Raspberry Pi 5:

Quer ver a RP1 vendida separadamente? Ou talvez uma placa PCIe como a de Jeff Geerling?

Deixe-nos saber nos comentários abaixo!

1 comentário

  1. Renato em Outubro 15, 2023 às 5:36 pm

    é interessante separar o processador principal de todos os perifericos de E/S do chip principal,
    quizas no desean vender por separado al RP1 por tener solo nucleos M3, y que tendrian que competir con nucleos M4 y M7

Deixe um comentário