|
STM32 + параллельная FRAM. |
|
|
|
Dec 14 2011, 12:47
|
Группа: Участник
Сообщений: 12
Регистрация: 8-10-09
Из: СПб
Пользователь №: 52 817

|
Здравствуйте, коллеги.
В проекте необходимо хранить данные, поступающие с датчика (SPI), в энергонезависимой памяти. Планируется использовать параллельную FRAM память и повесить ее на FSMC. С STM32 до этого не работал, поэтому возникли некоторые вопросы. Я сравнил временные диаграммы памяти и FSMC. Судя по диаграммам, их получится подружить, но данная FRAM память медленная - цикл записи 140ns. Где то на форуме встречал, что уже при 70ns люди вводили задержки. Вот возникли вопросы: 1) Можно ли писать во внешнюю память посредством DMA? Т.е. у DMA использовать решим MEM2MEM, а в качестве адреса назначения указать адрес внешней памяти так чтобы данные подхватил FSMC и записал во внешнюю память. 2) Если так можно сделать, то нужно ли будет вводить задержки или DMA и FSMC подружатся сами? (сомневаюсь, но вдруг)
Если позволите, то задам еще несколько вопросов по FSMC: 3) Указанная FRAM память имеет интерфейс SRAM памяти. Только контроллеры со 144 пинами умеют работать с внешней SRAM, хотя FSMC есть у МК со 100 пинами, но он урезанный - работает с NOR памятью в мультиплексном режиме. Я посмотрел на временные диаграммы и возникло подозрение, что SRAM память можно подружить с FSMC работающем в режиме NOR (мультиплексном). Кто нибудь так делал? Как думаете, получится? 4) Кто подключал внешнюю память на FSMC подскажите, какие подводные камни могут возникнуть? 5) Кто нибудь подключал NOR память посредством FSMC? Как получилось?
С уважением, goodvin.
|
|
|
|
|
 |
Ответов
|
Dec 18 2011, 19:19
|
Группа: Участник
Сообщений: 12
Регистрация: 8-10-09
Из: СПб
Пользователь №: 52 817

|
Спасибо, Шаманъ. Я об этом как раз и размышлял. Думаю, что придется организовывать что-то типа контроллера доступа к внешней памяти, т.к. у меня есть данные, которые должны автоматом лететь в нее и будет простое обращение к памяти. Первые данные - периодично появляются и довольно часто остальные реже. Вот планирую освобождать FSMC к моменту появления первых данных, а со вторыми работать в промежутках. Скажите, а в других сериях STM можно работать в режиме "multimaster FSMC access"? К стати, откуда эту фразу взяли, в DataSheet'е ее не заметил? Сейчас мучаюсь с тем, что не могу выбрать какой МК использовать. В МК с 144 пинами полноценный FSMC, а в 100 пиновом нет. Уважаемые люди говорят, что дружили 100 пиновый МК с SRAM памятью (у меня FM28V100), но я сомневаюсь. Вроде по временным диаграммам должно работать, но я все равно сомневаюсь. Ставить МК с 144 пинами расточительно - много места занимает, дороже, куча ног просто висеть будет. Эхх.
|
|
|
|
|
Jun 9 2016, 03:15
|
Гуру
     
Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713

|
Цитата(Goodvin @ Dec 19 2011, 01:19)  Вот планирую освобождать FSMC к моменту появления первых данных, а со вторыми работать в промежутках. Скажите, а в других сериях STM можно работать в режиме "multimaster FSMC access"? К стати, откуда эту фразу взяли, в DataSheet'е ее не заметил? Жесть какая. Костыли. Цитата(Goodvin @ Dec 19 2011, 01:19)  Сейчас мучаюсь с тем, что не могу выбрать какой МК использовать. Используйте что-нить из LPC. Зачем мазохизмом с этим FSMC заниматься если он такой кривой? В LPC таких проблем нет - хоть сколько мастеров с внешней памятью работают и DMA ещё параллельно - нет проблем. Есть проект на LPC1788 с кучей параллельных задач и тяжёлыми вычислениями на больших массивах во внешней SDRAM (одна задача читает/пишет через DMA во внешнюю SDRAM, другая читает через DMA из неё же, третья (декодер MP3) читает/пишет туда-же и ещё несколько задач у которых есть данные там же; и значительная часть кода в это же время выполняется из этой же SDRAM) - даже и не заморачивался никогда ни с какими проблемами доступа. Да и вообще - нужна-ли Вам реально параллельная FRAM? Может достаточно SPI-ной? Если надо быстро - можно повесить на quad-SPI. Если надо чтобы была в адресном пространстве CPU - можно повесить на SPIFI.
|
|
|
|
Сообщений в этой теме
Goodvin STM32 + параллельная FRAM. Dec 14 2011, 12:47 ViKo NOR память подключал, но не работал. Болтается на ... Dec 14 2011, 13:13 Dron_Gus 3) SRAM к 100-ногому цепляли. И еще три NAND'и... Dec 14 2011, 19:20 Goodvin Цитата(Dron_Gus @ Dec 14 2011, 22:20) 3) ... Dec 15 2011, 09:12 Евгений_Юрьевич Цитата(Dron_Gus @ Dec 14 2011, 22:20) 3) ... Jun 8 2016, 21:26 Dron_Gus Снаружи на А20 и А21 навесили 74HC139, ему на вход... Dec 15 2011, 09:38 maksimp Цитата(Dron_Gus @ Dec 15 2011, 12:38) Сна... Dec 15 2011, 10:29 Dron_Gus У многих процессоров так сделано. Разводится на 4 ... Dec 15 2011, 17:31 Goodvin Dron_Gus и все же, какая память у Вас стояла? Хочу... Dec 17 2011, 18:33 Dron_Gus Стояли R1LV1616HSA, K9WAG08U1A х 3. Мультиплексиро... Dec 18 2011, 12:24 Шаманъ Цитата(Goodvin @ Dec 14 2011, 14:47) 1) М... Dec 18 2011, 15:57 Шаманъ Цитата(Goodvin @ Dec 18 2011, 21:19) К ст... Dec 19 2011, 08:15  esaulenka Цитата(jcxz @ Jun 9 2016, 06:15) Использу... Jun 9 2016, 15:56   jcxz Цитата(esaulenka @ Jun 9 2016, 21:56) Уже... Jun 9 2016, 21:04 Dron_Gus Если вы будете ставить демультиплексор на регистра... Dec 18 2011, 20:12 Goodvin А зачем мне ставить демультиплексор? У меня на FSM... Dec 18 2011, 20:47 Dron_Gus Цитата(Goodvin @ Dec 18 2011, 23:47) А за... Dec 19 2011, 08:41 neo333 Цитата(Dron_Gus @ Dec 14 2011, 22:20) Нем... Feb 15 2012, 07:55 jcxz А почему всё-таки не SPI? Там вроде до 40МГц обеща... Feb 18 2012, 07:02 SasaVitebsk В stm32f407 есть BackUp память. Там 4 килобайта от... Jun 10 2016, 07:31 jcxz Цитата(SasaVitebsk @ Jun 10 2016, 13:31) ... Jun 10 2016, 08:45 SasaVitebsk В текущей версии у меня и вариант 1 и вариант 2. Д... Jun 10 2016, 10:25
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|