Перейти к содержанию
    

TViT

Участник
  • Постов

    80
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о TViT

  • Звание
    Частый гость
    Частый гость
  • День рождения 14.02.1981

Старые поля

  • Vkontakte
    Array

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

1 532 просмотра профиля
  1. Задумка сделать более менее умное устройство которое будет подстраиваться динамические под поступающий сигнал и давать разные режимы работы компрессора. Агрессивная компрессия легкая компрессия. Плюс просто вкл\откл одной кнопкой компрессора. И в режиме без компресссии возможности выбирать разные пороги усиления помимо потенциометра - GAIN. Плюс индикация светодиодом разных режимов работы. Задержку тинька почти не дает. Тем более там задержку искусственно нужно добавлять при оцифровке и слежении за сигналом, потому что по мгновенному значению амплитуды сигнала ничего не поймешь. Только если следишь за сигналом 10-20мс тогда становится понятно что это уже периодически повторяющаяся амплитуда и уже точно ясна огибающая.
  2. Всем привет. Нужно сделать аналогово-цифровой гитарный предусилитель\компрессор. Усилением управляю ШИМ сигналом с контроллера tiny25 через JFET в цепи обратной связи ОУ TL072. С выхода ОУ смотрю за амплитудой и подстраиваю усиление. Но вот не могу придумать алгоритм как быть когда струна затухает и усиление автоматически поднимается чтобы на выходе держать нужную амплитуду сигнала. И например при макс усилении происходит удар по струне что приводит на выходе к всплеску сигнала выше максимума и обрезанию, ограничению, клиппированию сигнала с последующим постепенным снижением усиления до нужного среднего уровня. Но все равно эффект крайне негативно слушается при игре. Что можно сделать. Как выйти из положения?
  3. Ну постараюсь, что-то отладка на китайце не заводилась.
  4. Как же одновременно если построчно стирается? (" на строку подают напряжение стирания, весь заряд сбрасывается на всей строке" ) Иначе почему процесс стирания такой долгий. Тогда бы вся страница параллельно стерлась бы? А если построчно, то что сделает контроллер когда определенная строка не стерлась? Идет дальше стирает остальные строки и уже потом на верхнем уровне функция стирания проверяет регистр состояния и выкидывает ошибку? Типа там где-то при стирании не дотерлось... И тогда при таком раскладе действительно можно предположить что FF везде кроме сбойных мест.
  5. В STM32F103RET6 - 16, 32, 64 бита #define FLASH_TYPEPROGRAM_HALFWORD 0x01U /*!<Program a half-word (16-bit) at a specified address.*/ #define FLASH_TYPEPROGRAM_WORD 0x02U /*!<Program a word (32-bit) at a specified address.*/ #define FLASH_TYPEPROGRAM_DOUBLEWORD 0x03U /*!<Program a double word (64-bit) at a specified address*/ Там все это в алгоритме надежного сохранения делается и не только это, кучу всего дополнительного еще. Просто заинтересовал вопрос именно в железе. Что будет если флеш начинает сыпаться и ф-я стирания выдает ошибку. Что будет физически во флеш памяти. Можно ли надеятся что там везде будет FF, кроме сбойного бита или байта или слова.
  6. Как это поймать побыстрее и полегче? Где при настройке чего проблема затаилась которой вроде как и не должно быть?
  7. Это почему, объясните? Страница 2048 байт, кол-во стираний 10000. Если нужно сохранять в этой странице одну переменную максимального размера 4 байта то при одном стирании ее можно записать 512раз. Умножаем на 10000 циклов получаем больше 5 млн записей. Ошибка, разумеется)) Да причем тут ошибка? Это на верхнем уровне я ее получу от ф-ции стирания. Что будет физически во флеш FF везде? Ну кроме например сбойного бита или байта не важно. Алгоритм обхода просматривает память перед записью и пишет туда где FF.
  8. Да каюсь спешил... Миллионы циклов записи данных. Стирание страницы то скорее всего будет заявленные 10000циклов * на количество страниц. Так не я управляю стиранием, это делает контроллер памяти. Вот в этом и вопрос как он стирает? Что будет если бит не сотрется мне функция выдаст ошибку, что процесс стирания прошел неудачно. А вот что будет во флеш памяти при этом? Контроллер сотрет до сбойного бита, и выйдет с ошибкой. Или вся страница будет стерта, а потом контроллер сам делает проверку и если там не FF уже мне на верхний уровень выдаст ошибку. При этом не стертым будет один сбойный бит? И я уже своим алгоритмов этот бит буду обходить и читать и писать дальше в другие области страницы. И так пока Флеш не сдохнет и не начнет сбоить?
  9. Народ при создании файловой системы и алгоритма размазывания и надежного сохранения и восстановления данных, чтобы была возможность оперировать миллионами циклов записи и стирания, появился вопрос... Кто знает что будет в STM32 при стирании страницы если например 1 бит на странице битый, поврежденный. Функция до этого бита сотрет память и выкинет ошибку и какие-то области будут не стертыми? Или вся страница стирается и проверяется на FF после чего выдается ошибка? Можно ли потом работать и записывать в другие области этой недотертой страницы, обходя сбойные биты. Например после собственной проверки на FF, до этого сбойного бита и после где по идее должны быть единицы? Или страница помечается как битая при первом сбойном бите и дальше не стирается? Как можно промоделировать отказ Флеш памяти. Что происходит при стирании, какой алгоритм самого контроллера флеш-памяти.
  10. Может есть у кого-то возможность простой проект создать для работы с CAN и у себя проверить наверняка есть такие процы у многих, если работает я проверю ваш проект у себя. Может у меня чип сбойный... Вот мой проект, только без драйверов, форум не дает больше 4Мб прикрепить TEST_CAN.7z
  11. Да у меня такое и на STM32 было )) Год назад примерно осваивал какой-то модуль, так вот пока в определенный порядок не выставил функции инициализации не работало. Но сейчас, что-то никак все перетасовал. Да и тасовать то особа нечего... Вы про эти функции имели ввиду? HAL_Init(); SystemClock_Config(); MX_GPIO_Init(); MX_CAN_Init();
  12. Могут конечно. Но я их не вижу. Все ноги задействованы в этом МК. Даже SWO-pin для отладки хотелось бы иметь, но и его пришлось задействовать. Все пины работают и порты ввода вывода лампочки мигают по UART с правильнами скоростями все передается и принимается. Частота тоже 72МГц иначе бы все тайминги уплыли, там и FreeRTOS и опрос каждые 10мс по CAN разных устройств и все четко работает. Кроме приема по CAN. Даташит смотрел, на сколько хватает моих познаний не увидел больших отличий. Поэтому и прошу помощи и наставлений у опытных людей.
  13. Спасибо большое, но мне скорее нужно на базе текущей реализации проекта на базе HAL lib понять в чем различия в настройке CAN. Например какой-то бит не так настроен, чем отдельно на базе GD32 lib или регистров портировать весь проект. Может есть соображения на этот счет, буду рад любой информации )) Ткните носом где различия CAN модуля. Чтобы было понятно что вкл или откл при настройке CAN в текущем проекте через HAL lib.
  14. Это невозможно и бессмысленно (не настолько нужно чтобы рисковать целым проектом открывая его). Проект большой, платы под него тоже не 100х100мм. Плюс проект не мой, я его улучшаю дорабатываю и исправляю глюки. Просто сейчас на всякий случай появились мысли наперед действовать переходить на другие контроллеры. Поэтому нет так нет... Может еще кто-то сталкивался с такими проблемами время терпит, подожду еще помощи...
×
×
  • Создать...