Причем здесь 103? В устройстве что измеряет до 36 МГц, используется USB 2.0 со скоростью 480 Мбит/с. Или хотите сказать что в нем STM32F103?
Мы видимо друг друга не поняли. В текущий момент я делаю на 103. Я написал, что прочел на киберфоруме что он оч медленно шлет по ЮСБ. То что в природе есть USB 2 и 3 я знаю) Речь то я вел про 103, а в дальнейшем жду 405. И, видимо придется закзаать 407 или 429 Но пока отложил заказ) Ибо как я понял с внешним SDRAM толку мало, медленно работает и слать без потери замеров без склеик не вараинт на высоких скоростях, а в SRAM размеры не многим больше чем встроенный РАМ в МК. Даже прирост РАМ в 10 раз ничего мне не даст на мои запросы))
Сейчас пока жду уже заказанный 405, буду ковырять 103, набрасывать код для вывода на экран реалтайм графика.
наверное надо ОУ распаять на куске текстолита) что бы синусоиду с розетки можно было подключить.
На данный момент надо изучить работу с дисплеем, как быстрей. делать перерисовку всего экрана с помощью ДМА и СПИ. или делать как я делаю сейчас, перерисовываю кусочки только измененные. Думаю весь экран будет быстрей, ибо тут много лишних команд летит и дерганий ножками.
вы вообще каого рода сигналы собрались исследовать? по Котельникову при 60Мспс вы можете исследовать сигнал, частотой 30 МГц! ну, в реальности надо хотя бы 5-6 семплов на период, т.е. до 10 МГц сигнал! вам этого мало? соответственно, если сигнал 10 Гц, то при 5-6-семплах вы имеете в 60Кб RAM 1200 секунд записи
Пока не знаю какого. Но хотелось бы иметь максимум что можно выжать)) При 10Гц понятно. Но взять тот же RC522 (13.56MHz) уже не посмотришь что там летит, потому что памяти мк не хватит, пока тыкнул щуп, пока поднес карточку, памяти уже пару секунд как нет)) На ум приходит только как я уже писал выше, делать автозапуск записи, в момент когда сигнал пошел) Но что если он идет всегда?)
ну просто с порта захватывать 0/1 я могу)) я делал чтение DHT11, DHT22, AM2320 с помощью дма и захвата по таймеру. я не знал что АДЦ можно говорить таймером когда делать замер) это сильно упрощает дело для программного изменения частоты замера)
На данный момент надо изучить работу с дисплеем, как быстрей. делать перерисовку всего экрана с помощью ДМА и СПИ. или делать как я делаю сейчас, перерисовываю кусочки только измененные. Думаю весь экран будет быстрей, ибо тут много лишних команд летит и дерганий ножками.
Перерисовку всего экрана делать точно не быстрее, нужно уменьшать количество переключений при отрисовке линий, потому что часто их рисуют по точкам и для каждой приходится отправлять кучу команд, хотя достаточно задать окно для каждого горизонтального или вертикального фрагмента линии и потом просто забить его данными.
С внутренним АЦП получить захват быстрее 8MSPS трудновато, даже с интерливом. И зачем быстрая память тогда? С внешним можно до скорости DCMI подняться,но без таймеров,там своя настройка. И ограничение по внутренней памяти. С внешней SRAM,АЦП и контроллером записи хоть до 300МГц. Каскадируйте SRAM до нужного размера. Ищите компромис.
Так а на соклько хватит памяти в 100-150кб внутренней при 8 мспс? я думаю даже на 100 мс не хватит)
Добавлено after 1 minute 51 second: Что значит каскадировать SRAM? ее можно включать последовательно или параллельно? надо посомтреть как вообще с ней работать) Я прсото пока не смотрел ибо и мой 103 и новый 405 с ней не работает)
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Самый простой вариант: 2 микросхемы управляются по /CS старшей линией адреса,например А18. Или для большей емкости ставить простейший дешифратор 2-> 4.
Про микросхемы надо изучить вопрос, я даже не знаю пока протокол по которому они работают, и собвенно мой 103 и 405 их не поддерживают, по этому и не изучал) ибо не знаю какой барть срам или сдрам... а там видимо разные реализации, количество ног еще пугает)
При 10Гц понятно. Но взять тот же RC522 (13.56MHz) уже не посмотришь
вы не поверите... у меня на работе Tektronix фирменный, и им тоже GSM-сингал нифига не посмотришь... и так всегда и везде... нет в жизни совершенства, все время есть ограничения...
DrobyshevAlex писал(а):
Не знаю что такое интерлив пока
чередование. пока один чип работает на запись, дургой на чтение, потом меняются
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Перерисовку всего экрана делать точно не быстрее, нужно уменьшать количество переключений при отрисовке линий, потому что часто их рисуют по точкам и для каждой приходится отправлять кучу команд, хотя достаточно задать окно для каждого горизонтального или вертикального фрагмента линии и потом просто забить его данными.
Ну я не имел ввиду прямо всего уж области где просто текст там точно смысла нет. Я сделал две реализации 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 тактов например, и это позволит удвоить скорость АЦП. Но я это пока не тестировал)
Я сделал две реализации 1) храню массив предыдущих точек, шлю команду закрасить одну точку уветом бекграунда, потмо шлю команду где нужна новая точка, и ее цветом графика крашу, то етсь на 1 линию из 160 полос на экране уходит много байт, это 6 байт на установку курсора и 3 байта на заливку цветом. 2) рисую весь столбик от верха до низа на высоту графига. тут тоже дофига, команда установки области 6 байт те же, потмо команда отправки данных 1 байт и сами данные 63 * 2 байта вроде бы у меня высота графика
Для заливки всей области 160x63 нужно 20КБ, но если взять произвольный сигнал, то в среднем сколько точек будет закрашено в одном столбце? Думаю вряд ли больше 10, а это 160 * (7 + 10 * 2) = 4320 байт, т.е. можно пройтись по старому графику закрашивая его цветом фона, потом нарисовать новый и все равно получится быстрее более чем в 2 раза.
ну нужно еще старый закрасить) к тому же если это лог уровень, то линия верх низ полная выходит надо хранить старое значение как я и делал в первом варианте.
но тогда с дма смысла не вижу ибо там по 2 байта всего будет, хочу завтра или когда оплучится, проверить, замерить скорость так и так то есть если была точка ввреху а стала внизу то надо слать две команды, а если была линия то может и одну, но расчетов будет больше на мк все равно нагрузка нужно тестить
Я так и написал, иначе было бы в 4.5 раза быстрее.
Цитата:
к тому же если это лог уровень, то линия верх низ полная выходит надо хранить старое значение как я и делал в первом варианте.
Если логический уровень, то после полной линии будут идти такие где всего одна точка рисуется, причем все они сложатся в одну горизонтальную линию. И хранить нужно только по две координаты на столбец в худшем случае, а может даже по одной, т.к. вывод идет линиями, суммарно выйдет 320 байт, а с DMA нужен буфер на 20КБ.
я сразу тое решил что буфер 20кб, как и написал выше, но потом понял, что не обязательно) можно же сделать буфер на 63 байта, или в пару раз больше, кратно 63, нужно расчитывать скорость отправки и генерации буфера, шлем буфер, ждем прерывания по окончанию отправки, а тем временем заполняем следующие 63 точки. вариантов море, сложно сказать как будет оптимальней) прямую линию тоже нужно рассчитать сколько она, с учетом того что может где то скачек быть на 1-2 пикселя и тд. линия вертикальная же будет не разрывная, будь то 1 точка или 63, значит можно заюзать по 2 байта, это номер минимального пикселя, то есть Ymin и длину линии вверх, то есть Ymax - Ymin.
можно тогда хранить 159 байт * 2 структуру с этими данными, и можно знать высоту линии всегда, тогда на отрисовку будет длинна между минимальным и максимальным значением старых и новых графиков. что бы закрасить что было отрисовано и отрисовать новое. можно конечно еще сравнивать что уже закрашено) и повторно не красить) но это уже мне кажется перебор) и ресурсы мк начнут тормозить по сравнению со spi.
можно копнуть в сторону матриц, и хранить в виде бит 63 бита это 8 байт на линию * 160 линий, тогда мы можем старые биты знать какие уже закрашены. но думаю тут не будет прироста скорости вычислений что стереть а что закрасить) да и расход памяти увеличится)
Сейчас этот форум просматривают: HardWareMan и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения