Jump to content
    

my504

Свой
  • Posts

    534
  • Joined

  • Last visited

Reputation

0 Обычный

About my504

  • Rank
    Знающий
    Знающий
  • Birthday 09/24/1959

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

2,739 profile views
  1. Добрый день! В одном из топиков прочитал, что вы имеете некоторый опыт перехода с STM32F103 на AT32. Не могли бы вы поделиться им? Я решаю такую же проблему после того, как уперся в нехватку RAM и FLASH на F103. Как лучше поступить: 1. Переделать проект с F103 (Cortex-M3) на какой-либо ближайший к AT32F403AVGT7 STM32F405VGT6, а затем с F405 переходить в AT32 Studio. Или можно как-то сразу готовый проект модернизировать до Cortex-M4 и опять же интегрировать его в AT32 Studio? Я просто не могу оценить риск смены ядра MCU при таком переходе.

    Исходный проект написан к сожалению в CubeMX, поэтому падать до AT32 библиотек очень бы не хотелось по кр мере в этом проекте. Максимум что я надеюсь придется переписать - это систему тактирования. Вообщем, буду признателен за любую помощь...

    1. my504

      my504

      Я практически не использую библиотеки, поэтому переход с STM32F407 на AT32F407 произошел совершенно легко. Функции (в том числе и драйверы) пишу сам. Иногда смотрю реализацию аналогичных в библиотеках вендоров, но чисто из соображений рационального подхода - чтобы минимизировать вероятность ошибок.

      Все проекты для ARM делаю в Кейле. Ну и поскольку Кейл поддерживают и ST и Artery, а библиотеки Standart Peripherals Library (SPL) у ST и Board Support Package (BSP) у Artery функционально идентичны с учетом особенностей периферии каждого производителя, то переход не вызывает никаких трудностей. Подавляющая часть всх проектов написана на CMSIS и вообще не отличается. Правится только синтаксис битовых структур, которые в АТ описаны несколько иначе. Дефайны констант легко находятся в файлах производителя простым поиском по проекту.

  2. Прикольные выводы... 😄 С какого перепуга вы решили, что если у них очередь длиною в полтора года, то они ничего не выпускают? Только комплектация автопрома чипами может создать дефицит апокалиптического масштаба, я уже не говорю про разного рода PLC, частотники и, не к обеду упомянутые, беспилотнеги... В этой обстановке мелкая розница идет густым непроходимым лесом. https://www.electronicsweekly.com/news/business/st-makes-12-76bn-doubles-capex-2022-01/
  3. Открываем первый попавшийся под руку даташит и читаем: Какие нужны дополнительные объяснения?
  4. По моим расчетам должно получится примерно 2,778 кГц. Tad у вас в 50 раз больше системного периода - 80/50=1,6 МГц. Преобразование с учетом окна захвата - 36*Tad (12 - преобразование и 24 - захват). Ну и 16 преобразований на одно прерывание. Из чего следует, что скорее всего, флаг вы не сбрасываете. Включите дебаг и поставьте брекпойнт в обработчике. ЗЫ. Я полагаю вы в курсе, что есть ЧЕТЫРЕ регистра флагов одного домена: IFS1, IFS1CLR, IFS1SET и IFS1INV. То есть для сброса нужно писать ЕДИНИЦУ в соответствующий бит регистра IFS1CLR.
  5. Вы запускаете преобразование в режиме автосемплирования, то есть по завершении предыдущего. Этот способ для фиксированной и точно выбранной частоты никуда не годится. В этом контроллере для такой цели заточен TMR3. Ну или внешним источником частоты дискретизации через INT0.
  6. Один из вариантов происхождения проблемы. При переходе с STM32 на AT32 я обнаружил, что в таймерах у которых нет регистра CTRL2, запись в этот несуществующий регистр ведет к отключению всех прескалеров таймера и он начинает работать на входном тактировании шины. Есть вероятность, что какая то из функций HAL в силу универсальности может писать якобы в пустоту то, что изменит работу периферийного модуля. Собственно в этом и состоит проблема HAL, где реальная работа с регистрами зарыта в недрах капусты функций.
  7. Нет никакой разницы между битовыми инструкциями реальных регистров адресного пространства ОЗУ и виртуальным регистром INDF. Поэтому легко применяйте те же способы понуждения компилятора к генерации битовых инструкций и в случае с косвенной адресацией. bsf INDF, 0
  8. В момент выхода версии 6.0 среды плагин МСС для нее еще не вышел. В результате МСС на эту версию не устанавливался. Через примерно неделю все сделали. Такшта никакого шаманства нет.
  9. Спасибо за толчок, а то я чего то затупил, хотя знал. Перегорел, что ли... ))) В общем, чудес на свете не бывает и результат оказался предсказуемым. Половина окна Хемминга дает АЧХ без пульсаций проходящую по вершинам лепестков прямоугольного окна. Зеленый - прямоугольное Желтый - Хемминг Красный - половина Хемминга (растянута на все окно)
  10. Скорость УАРТа несоразмерна скорости SPI. Поэтому событие опустошения буфера УАРТа может быть реквестом запуска передачи по SPI, а событие приема по SPI генерирует реквест для передачи по УАРТу. Кольцо будет работать автоматически и без буфера до тех пор, пока счетчик ДМА в SPI передатчике не завершит процесс.
  11. Имеется синусоида с экспоненциальной огибающей на фоне помех. Начало окна всегда когерентно с этой синусоидой и некогерентно с помехами. При выборе любого окна кроме прямоугольного имеется заметная потеря энергии полезного сигнала. Напрашивается сдвиг начала сигнала в центр окна. Это эквивалентно использованию половины оконной функции. Никак не могу сообразить что будет с АЧХ.
  12. Что возвести в квадрат? Я так и делаю. Но ПОСЛЕ вычитания базы (комплексного значения сигнала после медианного фильтра) из элементов массива. Все элементы возвожу в квадрат, суммирую и делю на длину массива. Для нахождения СКЗ напряжения шума из результата извлекаю кв. корень.
  13. Повторил ИСХОДНЫЙ вопрос с исправлением в терминологии.
  14. И что я должен делать с информацией об универсальности линейной фильтрации? Я это и так знаю. И ДО нелинейного фильтра КАЖДАЯ из точек получена линейной фильтрацией с окном Хемминга отдельно по синусной и косинусной компоненте входного сигнала (точнее сигнала со смесителя, а еще точнее, окно сразу умножено на квадратурные гетеродины). Некоторая определенность относительно помехи у меня есть. Основная энергия помех эффективно вырезается медианным фильтром с длиной окна всего в 11 точек. Только причем тут мой второй вопрос?
  15. Все так, пока речь идет о ЛИНЕЙНОЙ фильтрации. Я же говорю о нелинейной. Линейная фильтрация не способна эффективно подавить помеху с перекрываемым сигнал спектром. Поскольку меня интересует энергетическое представление помехи, то получается, что по вопросу №2 я не ошибаюсь...
×
×
  • Create New...