Обзор архитектуры¶
Конфигурации процессоров, памяти и специализированных аппаратных блоков различаются у устройств SF32. В зависимости от блоков, реализованных в выбранном устройстве, задачи с жёсткими временными требованиями или требующие постоянной активности можно передать выделенной подсистеме. Если в устройстве есть подходящий ускоритель, задачи, например обработку графики, также можно выполнять аппаратно. Материалы этого раздела помогают принять пять инженерных решений: где выполнять код приложения; где размещать код и буферы; какие задачи поручить контроллеру беспроводной связи; когда оправдан отдельный механизм выполнения задач; и предоставляет ли выбранное устройство необходимые аппаратные блоки и интерфейсы.
Начните с анализа нагрузки¶
| Что нужно решить… | Начните отсюда | Что разъясняет статья |
|---|---|---|
| Как выполняется прошивка приложения и как она взаимодействует с системой памяти | STAR-MC1 | Модель прикладного процессора, совместимого с Cortex-M33, работа кэша и характеристики нагрузки на соответствующих устройствах SF32. |
| Где размещать код, ресурсы и большие буферы, для которых важна низкая задержка | Сравнение PSRAM с другими типами памяти для встраиваемых систем | Компромиссы между PSRAM, SRAM, DRAM, RRAM и MRAM по ёмкости, задержке, сохранности данных, пропускной способности и энергопотреблению. |
| Какие задачи Bluetooth выполняет контроллер, а какие — прошивка изделия | Bluetooth-процессор | Границы между временными требованиями контроллера, обязанностями хоста и приложения, радиочастотными (RF) аспектами и режимами низкого энергопотребления. |
| Нужен ли программируемый механизм задач для специальной последовательности операций с периферией | PTM Parallel Task Machine | В руководстве по аппаратному проектированию SF32LB57x описан один блок PTM (Parallel Task Machine, машина параллельных задач) с 16 каналами для компактных задач периферии с жёсткими временными требованиями, которые не подходят для периферийного блока с фиксированными функциями. |
| Поддерживает ли выбранное устройство нужную архитектуру и интерфейсы | Семейство SF32 | Выбор зависит от характеристик конкретного устройства, в том числе памяти, интерфейсов, беспроводных функций и доступных ускорителей. |
Практический порядок принятия решений¶
Рассматривайте архитектурные решения в следующем порядке:
- Реализуйте логику изделия, работу пользовательского интерфейса, правила приложения и обычные драйверы в прикладной прошивке. По материалам о STAR-MC1 оценивайте работу процессора и кэша применительно к выбранному устройству и его нагрузке, а не на основе ожиданий от абстрактного бенчмарка.
- Заранее определите, где в памяти будут находиться код и данные. Размещайте код и данные с жёсткими требованиями к задержке на подходящих уровнях выбранной иерархии памяти. Прежде чем окончательно выбрать нагрузку UI, аудио, ИИ или связи, оцените ёмкость внешней памяти, пропускную способность интерфейса и бюджет энергопотребления.
- Разделяйте временные требования контроллера Bluetooth и политику работы изделия. Материалы о процессоре Bluetooth помогают определить границы ответственности контроллера, хоста и приложения, а также аспекты радиочастотной части и энергосбережения, которые необходимо учитывать совместно.
- Для нестандартных задач управления периферией сначала проверьте, подходят ли имеющиеся таймер, DMA, UART, SPI, I2C, аудио-, дисплейные или Bluetooth-механизмы. Для SF32LB57x рассматривайте PTM только тогда, когда задача действительно предъявляет строгие требования к временным параметрам или её нельзя корректно реализовать средствами стандартных блоков.
Для каждого решения сверяйтесь с документацией выбранного устройства, прежде чем считать, что в нём есть соответствующий аппаратный блок или что он программируется пользователем. В руководстве по аппаратному проектированию SF32LB57x описан один блок PTM с 16 каналами. Прежде чем закладывать PTM в проект, проверьте его наличие в документации целевого устройства.
Последнее обновление: