Как правильно выбрать SPI flash для конкретного микроконтроллера (pic32mx795f)?

Меня интересует, как правильно выбрать SPI flash для микроконтроллера.

характеристики:

Высокопроизводительный 32-битный RISC-процессор:

  • 32-разрядное ядро ​​MIPS32® M4K® с 5-этапным конвейером
  • • Максимальная частота 80 МГц
  • • Производительность 1,56 DMIPS/МГц (Dhrystone 2.1) при нулевом состоянии ожидания Доступ к флэш-памяти
  • • Однотактное умножение и высокопроизводительное устройство деления
  • • Режим MIPS16e® для уменьшения размера кода до 40 %
  • • Два набора из 32 файлов основных регистров (32-разрядных) для уменьшения задержки прерывания.
  • • Модуль Prefetch Cache для ускорения выполнения из Flash.

Ниже приведены некоторые из ключевых особенностей модуля SPI:

  • Поддержка режимов Master и Slave
  • Четыре разных формата часов
  • Расширенная поддержка протокола Framed SPI
  • Настраиваемая пользователем 8-битная, 16-битная и 32-битная ширина данных
  • Отдельные буферы SPI FIFO для приема и передачи
  • Буферы FIFO действуют как 4/8/16-уровневые FIFO на основе 32/16/8-битной ширины данных.
  • Программируемое событие прерывания при каждой передаче 8-битных, 16-битных и 32-битных данных
  • Работа в режимах ожидания и ожидания ЦП
  • Быстрая обработка битов с использованием регистров CLR, SET и INV.

Полное техническое описание

мои опасения:

  1. Сколько бит/выводов интерфейса SPI будет наиболее оптимальным (32, 16, 8)?

  2. Какую максимальную скорость я могу получить для чтения/записи?

  3. Должен ли я рассматривать любые другие интерфейсы (PMP, Serial, I^2C и т. д.) или типы памяти для лучшей производительности?

    Назначение: возможное выполнение кода, хранение аудиофайлов (продавливание из сети). Искал около 256-512 мб Спасибо.

Каковы характеристики модуля SPI MCU?
я добавил ссылку на таблицу данных, страница 143 описывает SPI
Какова цель этого флэш-устройства? Хранение кода? Хранение параметров? Хранение данных большого объема? Каков необходимый размер? Для хранения и выполнения кода вы скорее подключаете устройство к шине данных/адреса, SPI, поскольку последовательная шина будет иметь большое влияние на скорость выполнения вашей программы.
Я не уверен, что мне понадобится дополнительная память для выполнения кода, я полагаю, что если мне нужно только 1-4 МБ, я должен использовать pmp с параллельной памятью, которые дороже. Мне определенно понадобится память для хранения файлов. И я хочу, чтобы они минимально влияли на скорость процессора. Меня больше всего беспокоит то, что процессор имеет 5-ступенчатый конвейер, поэтому фактическая тактовая частота составляет 16 МГц. Так что не думаю, что смогу читать быстрее этого.

Ответы (1)

  1. Сколько бит .... если вы используете SPI Flash IC, то внутренняя ширина данных не имеет значения с точки зрения вашего MCU.
  2. Насколько быстро... прочтите соответствующий раздел технического описания вашего микроконтроллера; информация о синхронизации для PIC I/O и периферийных устройств находится в технических спецификациях в конце документа.
  3. Должен ли я рассматривать другие интерфейсы... зависит от ваших требований; для большинства требований к энергонезависимой памяти SPI вполне подходит и имеет много преимуществ (ключевыми примерами являются небольшой физический размер и минимальное использование контактов ввода-вывода микроконтроллера).
Итак, вы говорите, что независимо от того, использую ли я 16 или 32 бит, я могу читать и писать с минимальным тактовым циклом?
@vveliev, похоже, вы не понимаете, что spi - это последовательный интерфейс шириной 1 бит.
Согласен.... Спутал с параллельным....