Я прочитал документацию по RP1, чтобы вам не пришлось

Основные положения RP1 Титульное изображение

Одной из наиболее заметных особенностей нового Raspberry Pi 5 является включение RP1 - первого кремниевого чипа собственной разработки во флагманском продукте Raspberry Pi. В этой статье я хочу рассказать об основных особенностях RP1 и о том, что делает его таким революционным.

К сожалению, эта статья не может быть эквивалентом статьи "Все о RP1", поскольку полная документация еще не выпущена.

Вместо этого они выпустили 90-страничный проект технического задания в котором рассматриваются некоторые основы RP1.

Компоненты Raspberry Pi 5

Итак, начнем с истории создания RP1.

История

Итак, RP1 - самый продолжительный внутренний кремниевый проект Raspberry Pi. Именно поэтому он называется "RP1“.

В анонсе Raspberry Pi 5 Эбен Аптон написал: "RP1 разрабатывается с 2016 года и с большим отрывом является самой продолжительной, самой сложной и (при стоимости $15 млн.) самой дорогой программой, которую мы когда-либо выполняли в Raspberry Pi".

Это самый продолжительный, наиболее сложныйи самый дорогой программа.

Однако это не первый кремний собственной разработки, выпущенный Raspberry Pi. Для этого необходимо обратиться к RP2040, который является микроконтроллером в моделях Pico и Pico W. Таким образом, RP2040 был выпущен в 2021 году, хотя на самом деле программа началась позже.

Внутри компании Raspberry Pi все называли RP1 "проектом Y".

Итак, давайте разберемся, что же представляет собой RP1.

Характеристики

В предыдущих моделях практически все устройства ввода-вывода были интегрированы в основной процессор.

Итак, основная идея RP1 заключается в отделении ввода/вывода от основного процессора - в данном случае Broadcom BCM2712. Таким образом, подавляющее большинство функций ввода/вывода в Raspberry Pi 5 берет на себя южный мост.

Это имеет ряд последствий - одно из них заключается в том, что для основного процессора предлагаются техпроцессы с меньшей геометрией. BCM2712, как мы уже рассказывали, производится по 16-нм техпроцессу.

При этом сам RP1 находится на 40-нм технологическом процессе.

Это также позволяет основному процессору сосредоточиться на более сложных задачах.

Таким образом, BCM2712 берет на себя самые быстрые интерфейсы, а более медленные оставляет для RP1. Подробнее об этом я расскажу в следующем разделе.

Однако два чипа - RP1 и BCM2712 - работают вместе и подключаются через 4-канальную шину PCIe 2.0. Это быстрое соединение, но между ними неизбежно возникает некоторая задержка.

Дорожки PCIe между RP1 и BCM2712
Дорожки PCIe между RP1 и BCM2712.

Обратимся к внутренним характеристикам RP1.

Ниже я привел рисунок схемы RP1 для справки.

Итак, RP1 содержит два процессорных ядра на базе архитектуры Arm Cortex-M3 (Cortex M3 0 и Cortex M3 1 в красных квадратах в левой верхней части диаграммы).

Также имеется восьмиканальный DMA-контроллер, который позволяет чипу управлять передачей данных для восьми различных периферийных устройств одновременно.

Микросхема содержит три встроенных PLL: 2 дробно-десятичных PLL для формирования независимых видео- и аудиочасов и 1 целочисленный PLL для формирования системных часов.

RP1 также оснащен пятивходовым аналого-цифровым преобразователем с последовательным приближением (АЦП) с разрешением 12 бит, работающим на частоте 500 кС/с, с четырьмя внешними входами и одним внутренним датчиком температуры.

Если вы посмотрите на приведенную ниже схему, то заметите слева внизу желтую рамку с надписью "Shared SRAM 128bit 64kB) 4x 4kx32". Это означает, что часть памяти объемом 64 кБ доступна как мастерам шины BCM2712, так и RP1.

Эта память имеет четыре отдельных блока, каждый из которых состоит из 4 килобайт и предусматривает передачу данных по 32 бита за раз.

Наконец, в RP1 имеются генераторы временной базы, которые можно настроить для синхронизации DMA. Они предназначены в первую очередь для темпа DMA, а также для стабилизации входных событий GPIO.

Вот рисунок внутренней архитектуры RP1 из даташита:

Таким образом, на этом рисунке видно, как работает RP1 в целом, но также видно, какими периферийными функциями он управляет.

Периферийные устройства управления

Справа, начиная снизу, можно увидеть следующее: GPIO, USB 3 PHY, USB 2 PHY, USB 3 PHY, USB 2 PHY, MIPI DPHY, MIPI DPHY, VDAC и RGMII.

Таким образом, RP1 управляет выводами GPIO и связанными с ними периферийными интерфейсами: SPI, UART, I2C, PWM, I2S. Он также управляет аудиовыходом Delta Sigma PWM, но типичного аналогового звука получить не удастся, поскольку у Raspberry Pi 5 нет аудиоразъема.

Он также управляет портами USB 2.0 и USB 3.0 - каждый хост-контроллер управляет нисходящими портами USB 2.0 и USB 3.0. Как сказано в техническом описании, это означает, что "каждый нижележащий порт имеет независимую и неограниченную пропускную способность".

По словам Лиама Фрейзера, "благодаря пропускной способности канала PCIe мы сможем задействовать оба порта USB 3 с полной пропускной способностью". Это огромный шаг вперед по сравнению с Raspberry Pi 4!

PCIe от RP1 к USB
Какие красивые дорожки.

RP1 отвечает за трансиверы MIPI, которые представляют собой четыре полосы, поддерживающие DSI и CSI-2.

Он оснащен 3-канальным цифро-аналоговым преобразователем видеосигнала с поддержкой PAL/NTSC и VGA.

И, наконец, в обязанности RP1 также входит управление Gigabit Ethernet MAC.

На данный момент вы, возможно, задаетесь вопросом о PIO. К сожалению, на данный момент мы не располагаем достаточной информацией, так как они не выпустили всю документацию по RP1.

Известно, что блок PIO в RP1 работает несколько иначе, чем в RP2040. Так, хотя здесь имеется один блок PIO с четырьмя машинами состояний (как и в RP2040), глубина FIFO в нем вдвое больше. Посмотрите этот комментарий Люка Рена:

Итак, вот что мы знаем о периферийных устройствах управления на данный момент.

Следите за новостями, потому что со временем о RP1 обязательно появится много информации.

Недостатки

Мы уже рассказывали о некоторых положительных сторонах RP1, но не все так радужно.

Очевидно, что в первую очередь PIO на RP1 работает иначе, чем на RP2040. Посмотрите этот комментарий от Фила:

Еще одним недостатком отделения контроллера ввода-вывода от основной SoC является появление некоторой задержки.

Согласно техническому описанию, эта задержка "обычно составляет 1 мкс при расчетной ширине и скорости канала связи", что может стать проблемой "для приложений, которые зависят от быстрой, но своевременной записи, например, протоколы с побитовой разбивкой, или приложений, которые должны быстро реагировать на изменение состояния вывода".

Что ждет нас в будущем?

Один из главных вопросов - будет ли Raspberry Pi продавать RP1 отдельно. В конце концов, они продают RP2040 отдельно. Несколько дней назад в комментариях на сайте Raspberry Pi Аласдэр Аллан дал следующий ответ:

Конечно, это может быть отговоркой, а может быть и искренним ответом, что отдельного RP1 ждать не стоит. Что из этого получилось, покажет только время.

На мой взгляд, было бы просто замечательно, если бы они продавали RP1 отдельно.

Однако одна из наиболее интересных альтернатив исходила от Джеффа Гирлинга:

Может быть, Raspberry Pi в какой-то момент даст нам и то, и другое - отдельный чип RP1 и плату PCIe!

Нам остается только ждать и смотреть.

Конкурсы и рассылка

Мы знаем, как обидно ждать Raspberry Pi 5 до 23 октября.

Поэтому мы хотим, чтобы вы как можно скорее смогли поиграть с ним.

Поэтому мы организовали конкурс: Какую самую безумную вещь можно придумать для Raspberry Pi 5?

Конкурс Raspberr Pi 5

Если ваша идея не разрушит его, вы можете прислать нам свою идею, а мы воплотим ее в жизнь - и напишем об этом статью!

Мы объявим победителя здесь и на сайте buyzero.de 23 октября.

Победитель конкурса (его определим мы) получит полный комплект для Raspberry Pi 5, включающий блок питания USB-C Power Delivery (PD) мощностью 27 Вт, корпус для Raspberry Pi 5, SD-карту и Raspberry Pi 5. Все это с бесплатной доставкой по ЕС.

Победитель конкурса получит Raspberry Pi 5 с бесплатной доставкой по ЕС.

Так что не забудьте прислать свои идеи - более подробную информацию можно получить по следующей ссылке: ВЫИГРАЙТЕ БЕСПЛАТНЫЙ RASPBERRY PI 5!

Заключение

Вот и все: основные положения RP1.

Как я уже отмечал в начале статьи, некоторые из этих сведений могут измениться. Мы обязательно опубликуем новую статью, как только Raspberry Pi выпустит более полную документацию.

Тем временем ознакомьтесь с другими нашими статьями о Raspberry Pi 5:

Хотите ли вы, чтобы RP1 продавался отдельно? Или, возможно, плату с интерфейсом PCIe, как у Джеффа Гирлинга?

Сообщите нам об этом в комментариях ниже!

1 комментарий

  1. Renato Октябрь 15, 2023 в 5:36 пп

    интересно отделить главный процессор от всех периферийных устройств E/S главного чипа,
    quizas no desean vender por separado al RP1 por tener solo nucleos M3, y que tendrian que competir con nucleos M4 y M7

Комментировать