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

Re: Работа с 25qxx

Чт мар 14, 2019 16:25:17

Причем здесь 103?
В устройстве что измеряет до 36 МГц, используется USB 2.0 со скоростью 480 Мбит/с. Или хотите сказать что в нем STM32F103?

Мы видимо друг друга не поняли. В текущий момент я делаю на 103. Я написал, что прочел на киберфоруме что он оч медленно шлет по ЮСБ.
То что в природе есть USB 2 и 3 я знаю) Речь то я вел про 103, а в дальнейшем жду 405. И, видимо придется закзаать 407 или 429 :D
Но пока отложил заказ) Ибо как я понял с внешним SDRAM толку мало, медленно работает и слать без потери замеров без склеик не вараинт на высоких скоростях, а в SRAM размеры не многим больше чем встроенный РАМ в МК. Даже прирост РАМ в 10 раз ничего мне не даст на мои запросы))

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

наверное надо ОУ распаять на куске текстолита) что бы синусоиду с розетки можно было подключить.

На данный момент надо изучить работу с дисплеем, как быстрей. делать перерисовку всего экрана с помощью ДМА и СПИ. или делать как я делаю сейчас, перерисовываю кусочки только измененные. Думаю весь экран будет быстрей, ибо тут много лишних команд летит и дерганий ножками.

Добавлено after 35 seconds:
вы вообще каого рода сигналы собрались исследовать? по Котельникову при 60Мспс вы можете исследовать сигнал, частотой 30 МГц! ну, в реальности надо хотя бы 5-6 семплов на период, т.е. до 10 МГц сигнал! вам этого мало? соответственно, если сигнал 10 Гц, то при 5-6-семплах вы имеете в 60Кб RAM 1200 секунд записи

Пока не знаю какого. Но хотелось бы иметь максимум что можно выжать))
При 10Гц понятно. Но взять тот же RC522 (13.56MHz) уже не посмотришь что там летит, потому что памяти мк не хватит, пока тыкнул щуп, пока поднес карточку, памяти уже пару секунд как нет)) На ум приходит только как я уже писал выше, делать автозапуск записи, в момент когда сигнал пошел) Но что если он идет всегда?)

если просто с порта захватываешь

ну просто с порта захватывать 0/1 я могу)) я делал чтение DHT11, DHT22, AM2320 с помощью дма и захвата по таймеру.
я не знал что АДЦ можно говорить таймером когда делать замер) это сильно упрощает дело для программного изменения частоты замера)

Re: Работа с 25qxx

Чт мар 14, 2019 16:36:14

На данный момент надо изучить работу с дисплеем, как быстрей. делать перерисовку всего экрана с помощью ДМА и СПИ. или делать как я делаю сейчас, перерисовываю кусочки только измененные. Думаю весь экран будет быстрей, ибо тут много лишних команд летит и дерганий ножками.

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

Re: Работа с 25qxx

Чт мар 14, 2019 16:41:28

С внутренним АЦП получить захват быстрее 8MSPS трудновато, даже с интерливом. И зачем быстрая память тогда? С внешним можно до скорости DCMI подняться,но без таймеров,там своя настройка. И ограничение по внутренней памяти. С внешней SRAM,АЦП и контроллером записи хоть до 300МГц. Каскадируйте SRAM до нужного размера. Ищите компромис.

Re: Работа с 25qxx

Чт мар 14, 2019 16:47:52

Так а на соклько хватит памяти в 100-150кб внутренней при 8 мспс? я думаю даже на 100 мс не хватит)

Добавлено after 1 minute 51 second:
Что значит каскадировать SRAM? ее можно включать последовательно или параллельно? надо посомтреть как вообще с ней работать) Я прсото пока не смотрел ибо и мой 103 и новый 405 с ней не работает)

Re: Работа с 25qxx

Чт мар 14, 2019 16:51:56

С внутренним АЦП получить захват быстрее 8MSPS трудновато, даже с интерливом.

У него на F4 три ADC и больше 8 бит для мелкого экрана не нужно, в интерливе с разгоном будет ~16MSPS.

Re: Работа с 25qxx

Чт мар 14, 2019 16:56:23

Самый простой вариант: 2 микросхемы управляются по /CS старшей линией адреса,например А18. Или для большей емкости ставить простейший дешифратор 2-> 4.

Re: Работа с 25qxx

Чт мар 14, 2019 17:49:40

Не знаю что такое интерлив пока))

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

Re: Работа с 25qxx

Чт мар 14, 2019 18:05:17

DrobyshevAlex писал(а):При 10Гц понятно. Но взять тот же RC522 (13.56MHz) уже не посмотришь
вы не поверите... у меня на работе Tektronix фирменный, и им тоже GSM-сингал нифига не посмотришь... и так всегда и везде... нет в жизни совершенства, все время есть ограничения...
DrobyshevAlex писал(а):Не знаю что такое интерлив пока
чередование. пока один чип работает на запись, дургой на чтение, потом меняются

Re: Работа с 25qxx

Чт мар 14, 2019 18:22:36

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


Ну я не имел ввиду прямо всего :) уж области где просто текст там точно смысла нет.
Я сделал две реализации
1) храню массив предыдущих точек, шлю команду закрасить одну точку уветом бекграунда, потмо шлю команду где нужна новая точка, и ее цветом графика крашу, то етсь на 1 линию из 160 полос на экране уходит много байт, это 6 байт на установку курсора и 3 байта на заливку цветом.
2) рисую весь столбик от верха до низа на высоту графига. тут тоже дофига, команда установки области 6 байт те же, потмо команда отправки данных 1 байт и сами данные 63 * 2 байта вроде бы у меня высота графика

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

вот и выходит что во втором варианта проще 1 раз задать область всего графика это 160 * 63 точек, один раз для всего графика. это 6 байт. а дальше данные слать уже ДМА. но это 20кбайт.
можно уменьшить до 10 думаю если дисплей принимает 8 битные цвета, пока не проверял.

ну то есть я сейчас шлю больше чем 20кбайт ибо на 159 линий из 160 приходится лишнюю убласть задавать это 159 * 6 байт

Добавлено after 1 minute 50 seconds:
Про чередование чипов не совсем понял. каких чипов?
я читал АЦП мк может работать в режиме, когда 1 ацп уже отдал данные а второй на том же канале начал читать со смещением в 7 тактов например, и это позволит удвоить скорость АЦП. Но я это пока не тестировал)

Re: Работа с 25qxx

Чт мар 14, 2019 18:50:19

ну ладно, не чипы... но все равно - чередование :)))

Re: Работа с 25qxx

Чт мар 14, 2019 19:02:32

ну так это то чередование о котором я написал выше? или есть еще какое то?
я просто подумал может речь о чередовании чипов памяти)

Re: Работа с 25qxx

Чт мар 14, 2019 19:34:13

Я сделал две реализации
1) храню массив предыдущих точек, шлю команду закрасить одну точку уветом бекграунда, потмо шлю команду где нужна новая точка, и ее цветом графика крашу, то етсь на 1 линию из 160 полос на экране уходит много байт, это 6 байт на установку курсора и 3 байта на заливку цветом.
2) рисую весь столбик от верха до низа на высоту графига. тут тоже дофига, команда установки области 6 байт те же, потмо команда отправки данных 1 байт и сами данные 63 * 2 байта вроде бы у меня высота графика

Для заливки всей области 160x63 нужно 20КБ, но если взять произвольный сигнал, то в среднем сколько точек будет закрашено в одном столбце? Думаю вряд ли больше 10, а это 160 * (7 + 10 * 2) = 4320 байт, т.е. можно пройтись по старому графику закрашивая его цветом фона, потом нарисовать новый и все равно получится быстрее более чем в 2 раза.

Re: Работа с 25qxx

Чт мар 14, 2019 20:20:50

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

но тогда с дма смысла не вижу ибо там по 2 байта всего будет, хочу завтра или когда оплучится, проверить, замерить скорость так и так
то есть если была точка ввреху а стала внизу то надо слать две команды, а если была линия то может и одну, но расчетов будет больше на мк все равно нагрузка
нужно тестить

Re: Работа с 25qxx

Чт мар 14, 2019 20:46:08

ну нужно еще старый закрасить)

Я так и написал, иначе было бы в 4.5 раза быстрее.

к тому же если это лог уровень, то линия верх низ полная
выходит надо хранить старое значение как я и делал в первом варианте.

Если логический уровень, то после полной линии будут идти такие где всего одна точка рисуется, причем все они сложатся в одну горизонтальную линию. И хранить нужно только по две координаты на столбец в худшем случае, а может даже по одной, т.к. вывод идет линиями, суммарно выйдет 320 байт, а с DMA нужен буфер на 20КБ.

Re: Работа с 25qxx

Чт мар 14, 2019 21:59:59

я сразу тое решил что буфер 20кб, как и написал выше, но потом понял, что не обязательно) можно же сделать буфер на 63 байта, или в пару раз больше, кратно 63, нужно расчитывать скорость отправки и генерации буфера, шлем буфер, ждем прерывания по окончанию отправки, а тем временем заполняем следующие 63 точки.
вариантов море, сложно сказать как будет оптимальней) прямую линию тоже нужно рассчитать сколько она, с учетом того что может где то скачек быть на 1-2 пикселя и тд.
линия вертикальная же будет не разрывная, будь то 1 точка или 63, значит можно заюзать по 2 байта, это номер минимального пикселя, то есть Ymin и длину линии вверх, то есть Ymax - Ymin.

можно тогда хранить 159 байт * 2 структуру с этими данными, и можно знать высоту линии всегда, тогда на отрисовку будет длинна между минимальным и максимальным значением старых и новых графиков. что бы закрасить что было отрисовано и отрисовать новое.
можно конечно еще сравнивать что уже закрашено) и повторно не красить) но это уже мне кажется перебор) и ресурсы мк начнут тормозить по сравнению со spi.

можно копнуть в сторону матриц, и хранить в виде бит 63 бита это 8 байт на линию * 160 линий, тогда мы можем старые биты знать какие уже закрашены.
но думаю тут не будет прироста скорости вычислений что стереть а что закрасить) да и расход памяти увеличится)

Re: Работа с 25qxx

Пт мар 15, 2019 13:53:56

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


http://tomeko.net/miniscope_v2c/ - 103
http://tomeko.net/miniscope_v2d/ - 303
http://tomeko.net/miniscope_v2f/ - 042

Re: Работа с 25qxx

Пт мар 15, 2019 15:22:16

Спасибо, посмотрю, но вроде уже выяснили что скорости под максимальную скорости не хватает
Ответить