Перейти к содержанию
    

Помогите понять errata на STM32L431CB

Здравствуйте!

Хочу в устройство поставить STM32L431CB

К устройству будет подключена АЦП по SPI, BLE модуль по LPUART и флешь память по QUADSPI (W25Q64FVSSIG)

Перед тем как покупать микроконтроллер заглянул в Errata. Помогите понять документ.

В разделе QUADSPI они пишут:

Spoiler

ErrataQUADSPI.thumb.png.291047dcfc9da8f19149e6f194214946.png

При quadspi, насколько я понял мне не нужно формировать команды чтения записи и считать адреса вручную. Периферия за меня это сделает? (Впервые буду QUADSPI использовать - не успел ещё всё изучить)

Пока не понял что есть косвенный режим. На что тут обратить внимание при работе с внешней памятью? Получиться вообще хоть?

Раздел LPUART

Spoiler

ErrataLPUART.thumb.png.5a3e78681a60d6c45e68128219d30b3d.png

Тут сказано, что не может устанавливаться в выход с открытым стоком. У меня всегда настроен в push-pull. В каких случаях используется open-drain и нужно ли что то добавлять в схемотехнике?

 

Раздел SPI.

Spoiler

ErrataSPI.thumb.png.30d2c29e0603c66f564cd7417f34367c.png

У меня микроконтроллер работает мастером, значит в моём случае актуально только 2.14.4

Тут, как я понял, либо работать медленно либо режим другой? Что за range 1 и range 2 в таблице?

Заранее, спасибо за любые советы.

Изменено пользователем di4zerus

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

UART - подразумевает возможность наличия на одной шине нескольких местеров. Чисто технически. Если только один мастер и один ведомый, то режим Push-Pull на выходе ничего не изменит. Но если используется только одна двунаправленная линия (такое бывает, если замкнуть TX-RX и обмениваться данными по одному проводу), то этот режим может стать проблемой. Как обходной манёвр - отключать передатчик и переводить пин TX из альтернативного режима в аналоговый или вход.

 

По третьему блоку - Да, только пункт 2.14.4. Первые три относятся к SPI модулю в режиме ведомого.

Технически, в этом случае может возникать только дополнительный такт в самом конце передачи. Не целый байт, а один лишний бит. Не совсем понятно, будет ли возникать данная ошибка в случае установки максимальной частоты BR[2:0] = '000' (fPclk/2). Естественно, в этом случае частота SPI шины будет выше и не должно формироваться дополнительного строба (судя по тому, что указано только для fPclk/4).

Изменено пользователем AlanDrakes

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

AlanDrakes, спасибо за помощь.

Вот, кстати, да.По SPI не понятно. Если в тексте указана fpclk/4. То ниже дана таблица, где, насколько я понял, ограничена максимальная скорость. Хотя ХЗ, что такое Range 2...

 

С quadspi флешками кто-нибудь работал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 hours ago, jcxz said:

Да.

На STM32? Сильно заморочено? Приходилось что-нибудь из Errata преодолевать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 минуту назад, di4zerus сказал:

На STM32? Сильно заморочено?

LPC4370. Нет, там просто. Но если в STM похоже на то, как сделано в LPC, то Вам надо понять разницу между обычным доступом через SPI и memory-mapped режимом (который STM32 тоже похоже начал уметь).

Я вижу, что вы не понимаете что именно вам нужно. В LPC в memory-mapped режиме возможно было только чтение. Здесь, подозреваю, аналогично.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нет. Мне нужна память для архивов с 16-ти каналов АЦП записывать в течение длительного периода времени. А птом по этим архивам искать. Память ёмкая micron MT25QL на 128 Мбит. (чтобы хранить все архивы по возможности не стирая память поищу на 1Г). По всему архиву нужно будет осуществлять поиск и чтение. Чем быстрее, тем лучше. Micron предлагает (Supported protocols: Extended, Dual and Quad I/Oboth STR and DTR) вроде бы тот же самый QSPI. Пока взял winbond. Там тоже QUADSPI вот и думаю, почему бы не использовать, раз этот интерфейс позиционируется как интерфейс памяти.

Или не стоит заморачиваться?

Изменено пользователем di4zerus

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю как в L4, но в F7, например, работает только memory mapped read, то есть можно только читать в режиме карты памяти. Если нужна запись, то нужно работать с довольно медленными процедурами записи. Работать одновременно и на запись и на чтение в memory mapped mode не умеет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 минут назад, Segment сказал:

Не знаю как в L4, но в F7, например, работает только memory mapped read, то есть можно только читать в режиме карты памяти.

Что я и подозревал....

Но ТС может писать в обычном режиме, а когда нужно много читать - переключаться в memory mapped. На LPC4370 у меня так всё и работало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 часа назад, jcxz сказал:

Что я и подозревал....

Но ТС может писать в обычном режиме, а когда нужно много читать - переключаться в memory mapped. На LPC4370 у меня так всё и работало.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

50 минут назад, Segment сказал:

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

Если ТС, как пишет, собирается там хранить какие-то большие архивы, то для поиска в них инфы их очень желательно проиндексировать. Сделать это лучше при старте ПО. Создать таблицу индексов в ОЗУ. Здесь нужно будет много читать (может весь объём). И быстро (чтобы не тормозить запуск ПО). Вот тут и полезен будет memory mapped режим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Благодарю за советы!

На сколько я понял из вашей беседы, QUAD SPI режим подходит, по большей части, для для хранения кода или каких то неизменяемых данных?

Всё же попробую разобраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 минут назад, di4zerus сказал:

На сколько я понял из вашей беседы, QUAD SPI режим подходит, по большей части, для для хранения кода или каких то неизменяемых данных?

quad-spi - это интерфейс связи с чипом (передачи команд/данных). К хранению данных он не имеет никакого отношения. И мы к тому же говорили не про него, а про memory mapped режим.

Хоть почитайте хоть что-то по теме уж наконец-то......

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...