Кто любит RISC в жизни, заходим, не стесняемся.
Ответить

Работа с 25qxx

Вт мар 12, 2019 10:14:32

Здравствуйте! Подскажите, мне нужно очень быстро писать данные куда то с АЦП stm32f103 а в дальнейшем F405.
Так как у меня есть несколько 25q32 думаю использовать данную флешь.
Чтение ее ID говорит что это gd25q32 http://www.elm-tech.com/en/products/spi ... d25q32.pdf

Я смотрю там есть 3 режима чтения и 2 записи.
1) Чтение обычное MISO
2) и MISO и MOSI передают данные по 4 бита от байта параллельно.
3) как 2 только добавляются еще 2 линии которые отдают биты байта

Запись либо по 1 линии либо по 4, по 2м почему то нет)


Собственно вопрос, можно ли использовать 2 или 4 линии в МК 103 и 405. Я пытался разораться в даташит 103, там есть 16 битный режим, но я так понял это не то, это все равно по одной линии. Но с другой стороны написано что Dual SPI вроде как, что тогда это значит если не две линии?

Нашел инфу что есть квадро спи в 406 версии, видимо нужно было его заказывать что бы по 4 линиям работало?)

Ну и мне нужно это писать быстро из ацп, по этому планирую использовать дма, можно ли это реализовать?

Еще вопрос в эту же тему)
После включения, на первый опрос флешка не отвечает, это нормально? или я что то делаю не так, то етсь я читаю ее ид, она молчит, второй раз читаю - отвечает. Проверял еще несколько раз подряд, все отвечает. Может ли опять во время простоя какого то, она не ответит первый раз?

Re: Работа с 25qxx

Вт мар 12, 2019 10:59:19

Ну и мне нужно это писать быстро из ацп, по этому планирую использовать дма, можно ли это реализовать?

Ты начал не с того конца, во флеш в принципе нельзя писать быстро, даже если она чистая, то на запись страницы из 256 байт нужно 0.6ms.

Re: Работа с 25qxx

Вт мар 12, 2019 11:11:14

Это сильно меняет дело)) Зачем тогда может быть нужно флешь на 4 мегабайта внешняя если в нее нельзя быстро писать) Проще тогда микросд карточку купить она в сотни раз будет больше и того же размера и с тем же SPI.

Добавлено after 3 minutes 34 seconds:
А может натолкнет кто на мысль, хочу сделать захват ADC хотя бы несколько секунд с максимальной скоростью, и куда то это сохранить, возможно нечто похожее на внешний RAM, читать как раз уже можно медленно, не важно, главное как то поток с АЦП сохранить)
Или в данных камнях это не вариант вообще реализовать?

Re: Работа с 25qxx

Вт мар 12, 2019 12:28:48

А может натолкнет кто на мысль, хочу сделать захват ADC хотя бы несколько секунд с максимальной скоростью, и куда то это сохранить, возможно нечто похожее на внешний RAM, читать как раз уже можно медленно, не важно, главное как то поток с АЦП сохранить)

https://radiokot.ru/forum/viewtopic.php ... 6#p3204246 - ссыль на параллельную тему - подключали SDRAM к STM32.

А изначально память работает по SPI? Не нашёл в ДШ.

Re: Работа с 25qxx

Вт мар 12, 2019 13:20:08

А изначально память работает по SPI? Не нашёл в ДШ.

Если речь о той что я спрашивал в первом посте - тогда да.

Мне не нужна энергонезависимая память) Просто я хочу сделать осциллограф но с памятью, ибо я же не знаю когда на нем будет сигнал и какой длительности, что бы я мог не выключая устройства подвигать синусоиду, мне в целом так то больше лог анализатор даже нужен, но раз уж делать то вдруг синусоида пригодится)

В целом думаю мне внешней памяти надо даже побольше чем в этой флешке есть.
То есть в соседней теме я задал вопрос что бы примерно понять сколько мне нужно этой внешней памяти например на 10 секунд записи.
Я так думаю надо мегабит 1000 минимум брать) Не уверен сколько она будет стоить и где ее взять)

Добавлено after 8 minutes 2 seconds:
Спасибо за тему) Я так понял ан ф103 не стоит заморачиваться даже. Нужно ждать прихода с китая 405, а его еще даже не отправили) Как то медленно али стал работать в этом году)

Добавлено after 8 minutes 58 seconds:
Ох... похоже не работает стм32 с сдрам :( 43x серия нужна

Добавлено after 9 minutes 44 seconds:
Ну да единственная из семейства без FSMC это STM32F405RG)) я ее и купил

Re: Работа с 25qxx

Вт мар 12, 2019 13:37:50

DrobyshevAlex писал(а):мне в целом так то больше лог анализатор даже нужен, но раз уж делать то вдруг синусоида пригодится
так может вам надо купить готовый анализатор? клон Saleae Logic стоит 300 рублей, пишет напрямую в компьютер. настоящий Saleae Logic в том числе и аналоговые каналы пишет.

Re: Работа с 25qxx

Вт мар 12, 2019 13:45:45

Я заказал уже его, тоже жду)) Но хотел спаять и сам что нибудь, а не могу придумтаь что спаять) Вот и хочу спаять осцил.
MT46V32M16P-6T вот такая память подойдет например для работы с stm32f407? Что то пишут 15nS время записи. Это долго?
Write Cycle Time - Word, Page 15ns
Но я так понял это целая страница? Тогда это нормально?

Re: Работа с 25qxx

Вт мар 12, 2019 14:16:43

MT46V32M16P-6T вот такая память подойдет например для работы с stm32f407?

Как ты вообще документацию читаешь, F407 не работает с SDRAM, нужен F429, например, причем хотя бы 144-х пиновый. Так же непонятно зачем сохранять 10 сек на максимальной скорости... Для F405 можно сделать буфер ~128КБ, вполне нормально для любительского ЛА или осцилла, меняй скорость захвата и будет тебе 10 секунд :)

Re: Работа с 25qxx

Вт мар 12, 2019 15:21:48

DrobyshevAlex писал(а):Спасибо за тему) Я так понял ан ф103 не стоит заморачиваться даже.
Почему? Начиная с 100 выводного корпуса есть FSMC. Также как в других моделях STM32.

DrobyshevAlex писал(а): 43x серия нужна
В F407 есть FSMC. В Китае платы продают с местом под 1 МБ ОЗУ. https://ru.aliexpress.com/item/STM32F40 ... 49012.html

Re: Работа с 25qxx

Вт мар 12, 2019 16:54:18

Как ты вообще документацию читаешь, F407 не работает с SDRAM, нужен F429, например, причем хотя бы 144-х пиновый.

Ну вот так и читаю) Прочел что нужен FSMC, открыл ДШ,
Изображение
Смотрю, единственный это мой 405 не работает с FSMC :) Решил закзаать 407vet6

Так же непонятно зачем сохранять 10 сек на максимальной скорости... Для F405 можно сделать буфер ~128КБ, вполне нормально для любительского ЛА или осцилла, меняй скорость захвата и будет тебе 10 секунд :)

Вот именно это и планировал, сделать буфер в своей памяти 405, по этому остальные параметры даже не смотрел, а когда заказал, понял, что может не хватить, ну пусть ен 10 сек а хотя бы несколько)

Например вот сенсорный выключатель у меня, я хочу измерить правлиьно ли он работает, синусоида в протеусе раз в 10-20 сек прыгает до 70В вместо 20 которые должны были быть по моей задумке)
Ну тут понятно, мне не нужна максимальная скорость что бы измерить 50гЦ.

А второй момент для чего он бы мог пригодится, у меня етсь старый флай, хочу с него дисплей взять, но не понимаю какие выводя для чего) Вот тут можно было бы хотя бы посмотреть что на них идет, смогу ли я найти что там за протокол, хотя конечно это нужно кучу времени потратить, помню как со снифером приходилось пакеты разгребать что бы понять что когда идет)) тут будет тоже, проще наверное выкинуть дисплей и купить с документацией.
Да и тут хватит лог анализатора, который я и заказал потом на али.

Но суть в том, что мне хочется поковыряться, поделать, вдруг получиться, это мое хобби, я и сижу в свободное время смотрю что есть за микросхема, до сегодняшнего дня я даже ен думал что внешний RAM можно подключить к МК))

Добавлено after 1 minute 52 seconds:
DrobyshevAlex писал(а):Спасибо за тему) Я так понял ан ф103 не стоит заморачиваться даже.
Почему? Начиная с 100 выводного корпуса есть FSMC. Также как в других моделях STM32.

Да, я уже разобрался) Как я написал выше, я сегодня только узнал что можно подключить RAM и о том что есть FSMC :) Я еще пока не разобрался даже что точно надо, сколько на нем выводов, в этот разу решил вначале изучить вопрос, а потом заказывать детали))

Re: Работа с 25qxx

Вт мар 12, 2019 22:04:31

Для SDRAM нужен FMC, а не FSMC.
FSMC работает с SRAM.

Re: Работа с 25qxx

Ср мар 13, 2019 08:29:32

омг) а какая разница между sdram и sram?) мне не пойдет sram?
где то есть список всех мк стм с описанием возможностей? как мне например найти все мк которые с поддержкой FMC?

Добавлено after 37 minutes 1 second:
Я так понял SRAM медленней, дороже, и меньше объемом.

Re: Работа с 25qxx

Ср мар 13, 2019 08:39:35

омг) а какая разница между sdram и sram?) мне не пойдет sram?

Возьми свой F103, подключи к ПК по USB или USART, передавай туда оцифрованные данные из встроенной RAM и как-то их отображай. Уверен уже на этой стадии ты столкнешься с огромными проблемами и с большой вероятностью желание самому что-то собирать пропадет так же быстро, как и появилось :) Если же вдруг все заработает, то переделать под большие скорости и размер буфера не составит особых проблем, в любом случае я бы не стал начинать все с жирного мк и SDRAM...

Re: Работа с 25qxx

Ср мар 13, 2019 09:55:46

омг) а какая разница между sdram и sram?) мне не пойдет sram?

Возьми свой F103, подключи к ПК по USB или USART, передавай туда оцифрованные данные из встроенной RAM и как-то их отображай. Уверен уже на этой стадии ты столкнешься с огромными проблемами и с большой вероятностью желание самому что-то собирать пропадет так же быстро, как и появилось :) Если же вдруг все заработает, то переделать под большие скорости и размер буфера не составит особых проблем, в любом случае я бы не стал начинать все с жирного мк и SDRAM...

Я читал что МК эти, по крайней мере 103 с USB не работают, или работают через костыли)
По этому я даже не пробовал. По UART конектил.

Вот вопрос с как то отображай) Я кодю либо веб, либо серверные приложения консольные под линукс) Это нужно еще убить кучу лишнего времени что бы закодить окна)) Я как то на WinAPI в начале 2000х начинал делать окна)) мне не понравилось)

Почему бы не вывести сразу на дисплей по спи на медленной скорости?) под дисплей 1.8 дюйма я уже смог полосочки порисовать :D

Просто на соседнем форуме прочел что етсь DMA2D крутая штука) вот и заказал в торопях 405) Я так понимаю как раз Alex с этой темы там и писал о этом)

Добавлено after 1 minute 26 seconds:
Пока у меня все на этапе отдельно DMA складывает 1кБ в озу 103 с АЦП. И отдельно вывожу без ДМА на экран по SPI линии и текст))
Сегодня вечером может попробую на ДМА дисплей перевести.

Re: Работа с 25qxx

Ср мар 13, 2019 10:30:54

Я читал что МК эти, по крайней мере 103 с USB не работают, или работают через костыли)

У F0/F1/F3 и т.д. практически одинаковый USB, вот и подумай везде работает через костыли или кто-то не умеет с этим USB нормально обращаться :)

Вот вопрос с как то отображай) Я кодю либо веб, либо серверные приложения консольные под линукс) Это нужно еще убить кучу лишнего времени что бы закодить окна)) Я как то на WinAPI в начале 2000х начинал делать окна)) мне не понравилось)

Это уже кто как умеет и привык, я делал на C#.

Почему бы не вывести сразу на дисплей по спи на медленной скорости?) под дисплей 1.8 дюйма я уже смог полосочки порисовать :D

Во-первых, если в идеале хочется большой буфер еще и для ЛА, то на мелком дисплее наблюдать за такими сигналами не очень удобно. Во-вторых, с моей точки зрения, это еще и сложнее нормально реализовать. К тому же рассматривая сигнал на ПК, особенно в цифровом виде, можно отловить больше ошибок...

Просто на соседнем форуме прочел что етсь DMA2D крутая штука) вот и заказал в торопях 405)

DMA2D нет ни у F405, ни у F407.

Re: Работа с 25qxx

Ср мар 13, 2019 11:25:41

Зачем тогда в рефренс мануале на 405 написано много пунктов о dma2d?)

а по поводу вывода на пк, ну я заказал готовый анализатор логический для пк как раз. не знаю есть ли смысл делать опять для пк)

Добавлено after 1 minute 37 seconds:
блин выходит от 405 ток один выигрышь, это встроенный рам чуть больше чем у 103))
нафиг я купил да еще сразу 2 штуки...

Re: Работа с 25qxx

Ср мар 13, 2019 11:46:25

Зачем тогда в рефренс мануале на 405 написано много пунктов о dma2d?)

Потому что это RM не для одного 405, о чем в самом верху первой страницы и написано.

Re: Работа с 25qxx

Ср мар 13, 2019 18:25:56

Согласен, что написано, но где в нем можно понять в каких мк он есть я не нашел) Почему не подписать сразу в скобочках only ....
я не понимаю как мне искать нужный мк по параметрам))

Добавлено after 2 hours 11 minutes 34 seconds:
а такие функции как memcpy можно юзать? думаю как выводить ан экран пока без дма график, мне надо сдвиг делать) думаю memcpy заюзать

Добавлено after 6 minutes 5 seconds:
что то я не пойму как я с помощью дма могу слать данные в спи... у меня ж будет всего лишь по несколько байт.
то есть я шлю команду 1 байт, дальше мне надо переключить ногу что я шлю данные, выходит слать 1 байт с помощью дма нет смысла. дальше я шлю два байта, потмо опять команда значит ногу переключить...
Видимо смысла в ДМА для дисплея нет?

Добавлено after 1 hour 10 minutes 49 seconds:
Начало положено :D

Добавлено after 1 minute 20 seconds:
было бы клево если б еще у меня был генератор синусоиды)) но это вообще прям супер корявые наброски) делаю 1000 замеров и выводу каждый 10)

Добавлено after 1 hour 7 minutes 27 seconds:
честно говоря не понимаю что я вообще должен на экран выводить :D
выводить со скоростью замера все равно не получится.

моя логика была простой) дма пишет в память мк, второй канал пишет во внешнюю, замерили, а дальше навигация энкодером влево вправо по шкале

а как выводить в реалтаме не понимаю)

ни глаз ни экран не успеют обработать инфу со скоростью АЦП.

Re: Работа с 25qxx

Ср мар 13, 2019 18:40:42

DrobyshevAlex писал(а):а какая разница между sdram и sram?
Статическая память с произвольным доступом
https://ru.wikipedia.org/wiki/SRAM_(память)
Синхронная динамическая память с произвольным доступом
https://ru.wikipedia.org/wiki/SDRAM
Если в двух словах - ячейки статической памяти собраны из нескольких транзисторов представляющих собой RS триггер. Потребление во время хранения минимальное, но на каждый бит требуется несколько транзисторов.
Ячейки динамической памяти представляют собой конденсаторы небольшой емкости, которые нужно периодически подзаряжать что называется регенерацией памяти. Из-за этого потребление обычно выше чем у статической памяти. Кроме этого организация работы с памятью обычно сложнее, а не простая как у многих моделей статической памяти.

Re: Работа с 25qxx

Ср мар 13, 2019 19:44:37

Да, спасибо, я в целом прочитал уже где то в гугле об этом.

Меня SRAM устроила бы если скорости хватит, она вроде как чуть медленней) И по цене пока не смотрел, пока разбираюсь с заданием которые дал рефлектор)) пытаюсь с тем что есть работать))

Но хотя, как я уже писал ранее, мой вариант с памятью был проще и я понимал как его сделать) но теперь задача интересней)) вывести как то на экран то что есть в паре КБ)

Добавлено after 56 minutes 6 seconds:
Сделал шим сигнал что б хоть что то потестить.

Изображение

Стыки конечно получились)) при копировании видимо надо делать буфер больше и кучками пополам копировать например, через флаг середины)
Но все таки считаю такой осциллограф бесполезной штукой если нельзя полистать хотя бы несколько секунд в стороны)


Добавлено after 57 seconds:
Ну то есть я паузы специально в прошивке сделал что бы посмотреть что там рисует)
Ответить