Jump to content

    

AVI-crak

Участник
  • Content Count

    251
  • Joined

  • Last visited

Everything posted by AVI-crak


  1. Это напрямую к производителю. И не 60к за раз, а контракт на 60к в течении года или даже больше. То-есть посылки вам будут от 200 штук в неделю, оплата вперёд за чипы что находятся в производстве (там очень длинный конвейер). И штрафы за просрочку платежей - тоже в стоимости чипов на конвейере + упущенная прибыль от потенциального платёжеспособного клиента. Про запас они ничего не делают.
  2. STM32F7 и USB3300

    Если сами паяли - то первым делом нужно проверить контакты. У меня только с третьего раза получилось, после того как всё бессвинцовое удалил. Исправная USB3300 заметно кушает ток, с небольшим нагревом.
  3. Баг ли stm32

    Тут странность более высокого масштаба - экономия энергии мк на фоне сварочного аппарата.
  4. Что-то мне подсказывает - что ПП получилась красивой и простой, без обилия переходных, всего на двух слоях, и с огромной площадью.
  5. Нет, это болезнь мозга под названием - адруино_мышление. От этой болезни можно вылечиться, если использовать голову по назначению. Xenia - Любая техническая документация печатается в строгой последовательности - всё что раньше важнее того что ниже. Собственно читать её нужно именно в такой последовательности, и на практике применять, и в алгоритмах использовать. Если первым идёт описание команды ресета и сна - то это первое что должно использоваться в обмене с дисплеем.
  6. mantech - В моём понимании ногодрыгом считается всё что не является аппаратным параллельным RGB интерфейсом, или последовательным DSI. В том плане что появляются дополнительные обращения к внешним регистрам девайсов - для управления места, типа операции и данных для изменения. Даже на stm32f107, данные буфера подготовленные для заполнения области экрана - прекрасно переносятся с помощью dma и одного таймера. Кстати без таймера получается лажа - dma работает быстрее возможностей интерфейса экрана. Не ногодрыг - когда слои графики целиком и полностью находятся в линейной области памяти: с полным аппаратным доступом со стороны процессора, dma, dma2d, и ltdc интерфейса. Линейной области памяти - это значит что не требуется дополнительных программных операций по чтению из внешних накопителей данных, всё имеет свой прямой адрес без взаимного перекрытия.
  7. Да что там за код такой, что так туго работает? Ногодрыг на stm32f107 - 60 кадров 320*240 : с песнями и танцами. Ногодрыг для stm32f746 - 60 кадров 480*320 : с песнями, танцами, цыганами и конями. Если в коде есть лишние слои абстракции, а сам код не имеет чёткого разделения на уровни - то получится аналог швейцарского ножа, у которого есть 100500 лезвий. Такой нож в условиях реального боя просто кидают во врага, он как кирпич лучше работает.
  8. Для режима терминал - буфер вообще не нужен, используется аппаратный механизм самого дисплея - скролл на необходимое количество строк. А для вывода текста в произвольное место - нужно знать что там было раньше, иначе будут хвосты оставаться. Для этого "произвольное" место закрепляется в структуре описания экрана, с чётким описанием границ этого "произвольного" места. Для того чтобы в момент печати знать какой кусок экрана нужно очистить. И да, без структуры описания экрана - получится алгоритм рисования экрана. В принципе сгодится, если таких экранов один или два. Но если вариантов больше - то флеша может и не хватить. Гораздо проще один раз написать алгоритм, который будет обрабатывать структуру.
  9. Рисовать в буфере, да ещё и в нескольких слоях - намного приятнее чем перерисовывать все слои программно на самом дисплее. Тем-более что чтение с дисплея за всегда тормозное. Можно не использовать слои и задний фон, но тогда области прорисовки будут иметь фиксированную площадь - для гарантированного уничтожения старого изображения. И всё это будет крутиться через структуру описания выбранного экрана - которую придётся проходить полностью, даже для рисования одной буквы. Это решение для супер-экономии, что-то типа боковой нижней полки в конце вагона поезда. Ехать будем, но без удовольствия.
  10. Ну так и самого флеша может больше терабайта быть, разговор-то про дорогие модели. Один блок для дешмана, десять для фирменного ширпотреба, сотня для топа. А для гиков изолированная память в виде многослойного кеша - очень быстрая флешь малого объёма с высоким ресурсом перезаписи. Пока на флешь карте есть мк - скорость явно зависит от цены девайса.
  11. Ошибся, при выходе за пределы блока записываются все остальные не изменённые сектора этого блока. Если выполнять запись секторов в пределах одного блока, даже если в разнобой (но один раз) - блок будет стёрт один раз. Дорогие и быстрые флешки имеют рам память на несколько сотен блоков, что позволяет им держать открытыми для записи сразу кучу блоков. Дешевые флешки имеют рам память только на один блок (это минимум), и дико тормозят.
  12. Отложенная запись. При выходе за пределы сектора - записываются те блоки, что не изменены но стёрты.
  13. Общается точно так-же как и с внутренней флеш памятью - грузит в рам свою прошивку, запускает её, и подкидывает/забирает данные через буфер обмена в той-же рам памяти. Это к вопросу о том где искать - дык оно там, рядом.
  14. Есть простое решение, нужно снять дамп регистров периферии после всех операций инициализации. Для этого пригодится макрос преобразования имени переменной в строку. Просто печать в отладку, с сохранением в файл, и уже потом проверка. Решение не годится для поиска различий в реализации алгоритмов, но позволяет выявить место косяка, что значительно сокращает время на решение проблемы.
  15. Не совсем корректный вопрос. Выдавать может много, всё зависит от того как к ней обращаются. Начнём с того что sdram бодро читается/пишется линейными блоками, равными размеру одной страницы. Максимальная скорость - чтение всей страницы. А вот на границе страниц, FMC уже спотыкается. Там есть небольшая задержка, которая в идеале полностью поглощается собственным FIFO. В реальности задержка накапливается, и обязательно проявится. При обращении к другому банку - задержка ещё выше. Те самые cas ras. К этим задержкам добавляется до четырёх тактов работы арбитра, он решает кого подключать/отключать от шины. Ещё - FIFO автоматически догоняется после чтения/записи, и если попадает на границу банка - то арбитр не в состоянии быстро подключить новый интерфейс связи. Всё вместе роняет скорость рандомного чтения до уровня плинтуса. Самая дикая задержка может быть следствием "оптимизации" программного обращения к sdram, когда читают линейно в сторону уменьшения адреса. Так умеет только кеш, и быстрая sram. Но GCC упорно "оптимизирует" на обратное чтение/запись вообще весь код, даже там где нельзя.
  16. Что-то много всего написано, но ограничение очень простое - скорость интерфейса FMC.
  17. Возможно физическое повреждение чипа памяти. В частности серия MT имеет очень нежные контакты, +4в уже дохнут. Мой чип памяти на отладке сдох от болтающегося провода дежурки +5в. Для таких ситуаций существует система контроля версий, откатиться назад - посмотреть изменения. Для программного кода есть несколько бесплатных программ, лично мне нравится черепаха TortoiseHg.
  18. Это чтение одного блока сектора. Я уже не помню, но кажется размер блока тоже можно считать. Есть флешки, у которых стоит 2-4 чипа памяти - дык вот для них размер блока почти всегда выше в 2-4 раза.
  19. Ультразвуковая мойка! до пятнадцати вольт без нагрузки с ёмкости 10uF. Но есно киловольты могут появиться только там - где на плату приклеивают пьезокерамику пищалку.
  20. STM32MP1 - bare metal

    Это-же свихнуться можно, если все регистры самостоятельно лопатить.
  21. Ну это как считать, вдоль или поперёк. Если использовать несколько FFT отчётов: то получится динамика (уровень колебаний амплитуды), и средняя относительная энергия не превышающая единицы для каждого отчёта. В звуке энергия не зависит от средств измерения, хотя есть зависимость от рабочего диапазона. Любое колебание можно усилить/ослабить и получить желаемую мощность на выходе. Это как батарейка, без нагрузки мощность в цепи нулевая.
  22. Может я чего путаю... В моём представлении энергетический спектр не зависит от амплитуды сигнала и от фазы - это показатель приближения синуса к меандру на выбранной частоте. То-есть количество и точность совпадения чётных гармоник к выбранной частоте. Частоты гармоник могут (обязаны) складываться в общем FFT спектре. По этой причине посчитать энергию за один проход невозможно. Получается уравнение с бешеным количеством переменных. Проще всего выполнить приближение, когда коэффициенты будут плавно расти. Выбираем частоту, находим все её гармоники, сортируем их по минимальному значению от рассчитанной амплитуды, используем это значение как эталон для пересчёта всех гармоник по амплитуде, и вычитания их значения из основного FFT сектора - с дополнительным коэффициентом приближения примерно 1/10 . Если в процессе вычитания будут получаться отрицательные числа - то весь цикл сбрасывается, и по новой с меньшим коэффициентом приближения. В результате FFT сектор будет иметь минимальные значения на уровне ошибок, энергетический спектр будет содержать коэффициенты наличия гармоник для каждой частоты в отдельности. В результате получается индикация грязного сигнала - буквально. Использовать на музыкальном аналоге совершенно бесполезно - там уже давно ггг... В связи с чем вопрос - где внезапно понадобился подобный инструмент?
  23. Все будут перемножены, но по порядку. Для каждой новой частоты будут свои четные гармоники. Есть готовые решения - голосовые вокодеры.
  24. Перемножать уровень чётных гармоник, уже после бпф. БПФБПФ
  25. Без настроек mpu - оно вообще читаться не должно.