di4zerus 0 21 января, 2020 Опубликовано 21 января, 2020 (изменено) · Жалоба Здравствуйте! Хочу в устройство поставить STM32L431CB К устройству будет подключена АЦП по SPI, BLE модуль по LPUART и флешь память по QUADSPI (W25Q64FVSSIG) Перед тем как покупать микроконтроллер заглянул в Errata. Помогите понять документ. В разделе QUADSPI они пишут: Spoiler При quadspi, насколько я понял мне не нужно формировать команды чтения записи и считать адреса вручную. Периферия за меня это сделает? (Впервые буду QUADSPI использовать - не успел ещё всё изучить) Пока не понял что есть косвенный режим. На что тут обратить внимание при работе с внешней памятью? Получиться вообще хоть? Раздел LPUART Spoiler Тут сказано, что не может устанавливаться в выход с открытым стоком. У меня всегда настроен в push-pull. В каких случаях используется open-drain и нужно ли что то добавлять в схемотехнике? Раздел SPI. Spoiler У меня микроконтроллер работает мастером, значит в моём случае актуально только 2.14.4 Тут, как я понял, либо работать медленно либо режим другой? Что за range 1 и range 2 в таблице? Заранее, спасибо за любые советы. Изменено 21 января, 2020 пользователем di4zerus Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlanDrakes 1 22 января, 2020 Опубликовано 22 января, 2020 (изменено) · Жалоба UART - подразумевает возможность наличия на одной шине нескольких местеров. Чисто технически. Если только один мастер и один ведомый, то режим Push-Pull на выходе ничего не изменит. Но если используется только одна двунаправленная линия (такое бывает, если замкнуть TX-RX и обмениваться данными по одному проводу), то этот режим может стать проблемой. Как обходной манёвр - отключать передатчик и переводить пин TX из альтернативного режима в аналоговый или вход. По третьему блоку - Да, только пункт 2.14.4. Первые три относятся к SPI модулю в режиме ведомого. Технически, в этом случае может возникать только дополнительный такт в самом конце передачи. Не целый байт, а один лишний бит. Не совсем понятно, будет ли возникать данная ошибка в случае установки максимальной частоты BR[2:0] = '000' (fPclk/2). Естественно, в этом случае частота SPI шины будет выше и не должно формироваться дополнительного строба (судя по тому, что указано только для fPclk/4). Изменено 22 января, 2020 пользователем AlanDrakes Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 22 января, 2020 Опубликовано 22 января, 2020 · Жалоба AlanDrakes, спасибо за помощь. Вот, кстати, да.По SPI не понятно. Если в тексте указана fpclk/4. То ниже дана таблица, где, насколько я понял, ограничена максимальная скорость. Хотя ХЗ, что такое Range 2... С quadspi флешками кто-нибудь работал? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 22 января, 2020 Опубликовано 22 января, 2020 · Жалоба 30 минут назад, di4zerus сказал: С quadspi флешками кто-нибудь работал? Да. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 22 января, 2020 Опубликовано 22 января, 2020 · Жалоба 5 hours ago, jcxz said: Да. На STM32? Сильно заморочено? Приходилось что-нибудь из Errata преодолевать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 22 января, 2020 Опубликовано 22 января, 2020 · Жалоба 1 минуту назад, di4zerus сказал: На STM32? Сильно заморочено? LPC4370. Нет, там просто. Но если в STM похоже на то, как сделано в LPC, то Вам надо понять разницу между обычным доступом через SPI и memory-mapped режимом (который STM32 тоже похоже начал уметь). Я вижу, что вы не понимаете что именно вам нужно. В LPC в memory-mapped режиме возможно было только чтение. Здесь, подозреваю, аналогично. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 22 января, 2020 Опубликовано 22 января, 2020 (изменено) · Жалоба Нет. Мне нужна память для архивов с 16-ти каналов АЦП записывать в течение длительного периода времени. А птом по этим архивам искать. Память ёмкая micron MT25QL на 128 Мбит. (чтобы хранить все архивы по возможности не стирая память поищу на 1Г). По всему архиву нужно будет осуществлять поиск и чтение. Чем быстрее, тем лучше. Micron предлагает (Supported protocols: Extended, Dual and Quad I/Oboth STR and DTR) вроде бы тот же самый QSPI. Пока взял winbond. Там тоже QUADSPI вот и думаю, почему бы не использовать, раз этот интерфейс позиционируется как интерфейс памяти. Или не стоит заморачиваться? Изменено 22 января, 2020 пользователем di4zerus Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба Не знаю как в L4, но в F7, например, работает только memory mapped read, то есть можно только читать в режиме карты памяти. Если нужна запись, то нужно работать с довольно медленными процедурами записи. Работать одновременно и на запись и на чтение в memory mapped mode не умеет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба 9 минут назад, Segment сказал: Не знаю как в L4, но в F7, например, работает только memory mapped read, то есть можно только читать в режиме карты памяти. Что я и подозревал.... Но ТС может писать в обычном режиме, а когда нужно много читать - переключаться в memory mapped. На LPC4370 у меня так всё и работало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segment 3 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба 2 часа назад, jcxz сказал: Что я и подозревал.... Но ТС может писать в обычном режиме, а когда нужно много читать - переключаться в memory mapped. На LPC4370 у меня так всё и работало. На мой взгляд, пока переключается режим — уже можно прочитать нужный блок. Там операции эти прилично занимают тактов, так что в целом организовывать переключение режимов накладно с точки зрения архитектуры кода. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба 50 минут назад, Segment сказал: На мой взгляд, пока переключается режим — уже можно прочитать нужный блок. Там операции эти прилично занимают тактов, так что в целом организовывать переключение режимов накладно с точки зрения архитектуры кода. Если ТС, как пишет, собирается там хранить какие-то большие архивы, то для поиска в них инфы их очень желательно проиндексировать. Сделать это лучше при старте ПО. Создать таблицу индексов в ОЗУ. Здесь нужно будет много читать (может весь объём). И быстро (чтобы не тормозить запуск ПО). Вот тут и полезен будет memory mapped режим. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
di4zerus 0 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба Благодарю за советы! На сколько я понял из вашей беседы, QUAD SPI режим подходит, по большей части, для для хранения кода или каких то неизменяемых данных? Всё же попробую разобраться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 184 23 января, 2020 Опубликовано 23 января, 2020 · Жалоба 7 минут назад, di4zerus сказал: На сколько я понял из вашей беседы, QUAD SPI режим подходит, по большей части, для для хранения кода или каких то неизменяемых данных? quad-spi - это интерфейс связи с чипом (передачи команд/данных). К хранению данных он не имеет никакого отношения. И мы к тому же говорили не про него, а про memory mapped режим. Хоть почитайте хоть что-то по теме уж наконец-то...... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться