Микроконтроллер
Отдельного упоминания заслуживает семейство GD32V от GigaDevice. Этот микроконтроллер представлен на одной из первых микроконтроллерных плат RISC-V, плате разработки GD32 RISC-V от SeeedStudio. Как и Red-V Thing Plus, эта плата имеет очень мало поддерживающих аппаратных элементов вокруг микроконтроллера, так что вы можете работать непосредственно с чипом (рис.2.2).
Эта плата пользуется большой популярностью, потому что она построена на базе микроконтроллера GD32VF103, прямого конкурента микроконтроллеру STM32F103 (который оснащен процессором ARM Cortex M-3). Конкуренция, мягко говоря, интересная, поскольку GigaDevice решила использовать ту же номенклатуру, что и STMicro, что означает, что этот чип имеет те же компоненты, что и STMicro. Одно большое отличие заключается в том, что микроконтроллер GD32VF103 от GigaDevice использует ядро RISC-V, точнее, RV32IMAC. Это тот же процессор, который мы будем использовать в Red-V Thing Plus. Если у вас есть опыт работы с микроконтроллерами семейства STM32, эта плата может стать плавным переходом от ARM к RISC-V.
СнК
На другом конце спектра у нас есть системы высокого класса с кэш-памятью, основной памятью и графическими процессорами, все в одном чипе. Их часто называют СнК, и среди них тоже есть звезды:
- Broadcom BCM 2711, который вы можете найти в Raspberry Pi 4.
- Texas Instruments OMAP 4430, который является ядром известного гаджета Google Glass.
- Семейство SnapDragon от Qualcomm. Очень популярны в устройствах Android.
- Семейство Exynos от Samsung. Неудивительно, что эти СнК лежат в основе смартфонов и планшетов Samsung.
Цель СнК - обеспечить возможность создания пользовательских приложений, работающих под управлением операционной системы (например, Android, Windows или Linux), с использованием как можно меньшего количества чипов. Очевидно, пространство в мобильном устройстве имеет решающее значение, поэтому удобнее иметь все в одном чипе, чем кучу чипов, разбросанных по печатной плате. "Все" означает то, что вы могли бы найти на материнской плате ПК. Вот почему на платах СнК, таких как Raspberry Pi (рис.2.3), так мало микросхем:
Основные характеристики СнК FE310
В Red-V Thing Plus используется СнК Freedom E310-G002. Вот некоторые из его особенностей:
- Комплекс ядер SiFive E31 с частотой до 320 МГц
- Гибкие параметры синхронизации, которые включают внутреннюю ФАПЧ, кольцевой осциллятор со свободным ходом и внешний кристалл с частотой 16 МГц
- Процессор RISC-V RV32IMAC
- Программная память OTP объемом 8 Кбайт
- Кэш команд объемом 16 КБ
- 16 КБ данных SRAM
- 3 независимых ШИМ-контроллера
- Интерфейсы JTAG, SPI I2C и UART
- Флэш-интерфейс QSPI
- 8 КБ ПЗУ с маской
- Требуются источники питания напряжением 1,8 В и 3,3 В
Как вы можете видеть, это больше похоже на MCU, чем на СнК, как описано выше. Однако в этом чипе реализован ряд улучшений производительности, что ставит его на более высокий уровень в категории микроконтроллеров. Эти усовершенствования включают кэш команд, конвейер выполнения, предсказатель ветвлений, интерфейс QSPI для внешней флэш-памяти и тесно интегрированную память данных.
Эти улучшения не получили широкого распространения в популярных микроконтроллерах, и в этом курсе мы, безусловно, используя этот мощный чип в качестве традиционного микроконтроллера, не раскроем его потенциал полностью.
Чип имеет относительно небольшое количество контактов, и он доступен только в корпусе QFN48:

Рис. 2.4. Комплектация FE 310-G002 и распиновка (Изображение из спецификации FE 310-G002, воспроизведенное с разрешения SiFive)
Чтобы узнать больше о функциях микроконтроллера, не стесняйтесь обращаться к техническому описанию FE301-G002.
Принципиальная схема
На рисунке 2.5 представлена принципиальная схема FE 310. Бегло ознакомьтесь с его компонентами и организацией, но не тратьте слишком много времени на то, чтобы разобраться в каждой детали или аббревиатуре. Далее мы рассмотрим несколько из этих модулей.

Рис. 2.5. Принципиальная схема верхнего уровня FE310 (Изображение из руководства пользователя FE 310-G002, воспроизведенное с разрешения SiFive, Inc.)
Пунктирный прямоугольник слева обозначает ядро E31, которое представляет собой усовершенствованный дизайн процессора SiFive. Наиболее важной частью ядра является центральный процессор, который представляет собой процессор RISC-V RV32IMAC. Подробнее об этом вы узнаете позже.
Верхняя правая группа блоков - это комплекс GPIO. GPIO расшифровывается как ввод-вывод общего назначения и относится к цифровым выводам ввода-вывода в микросхеме, которые доступны пользователю. Один из этих блоков называется GPIO, поскольку он относится к возможностям цифрового ввода/вывода этих выводов. Однако эти контакты могут быть перенаправлены для управления отдельными операционными модулями, доступными программисту в режиме отображения памяти (SiFive называет это "Аппаратно-управляемые функции ввода-вывода").
Наконец, в правом нижнем углу пунктирным прямоугольником обозначены модули в домене Always-On, который включает счетчик реального времени, сторожевой таймер, резервные регистры, низкочастотную синхронизацию, а также схемы сброса и управления питанием. Как вы можете понять, домен Always-On включает в себя модули, которые должны быть способны реагировать всегда, даже когда чип находится в спящем режиме.
Чтобы узнать больше о блоках в этой схеме, не стесняйтесь обращаться к руководству FE301-G002.