Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
Подключил к STM32C8T6 (платка blue pill) на SPI1 SD карточку и на SPI2 TFT 1,8" 128х160 на ST7735. Поставил FAT [url]https://github.com/alemorf/VinxFS[url]. Инициализирую индикатор, делаю заливку и потом запускаю инициализацию карточку - проходит нормально, возвращает "0" - типа "ОК" - и индикатор подвисает. Шилд для Ардуино (TFT + SD), на нём мелкий стаб 5/3,3В. По питанию шилда поставил ёмкости 0.1 uF + 1 uF + 10 uF керамику + 100 uF электролит + прямо на ножки SD подпаял 100 uF тантал. Что можно ещё сделать чтобы индикатор не подвисал?
Ссылку поправил. Думал, кто по делу что подскажет.
P.S. Если сперва инить SD а потом экран - экран работает, похоже, что при ините SD идёт помеха по питанию индикатора, но как его устранить?
_________________ Хорошему коту и в декабре - март
Последний раз редактировалось Frogfot Пн апр 01, 2019 20:31:39, всего редактировалось 3 раз(а).
1. В Вашем GIT'e что-то не то. Вы утверждаете, что у Вас проект на STM32, но на картинке схема подключения по SPI к ATMega8. 2. Кода с main() так же не видно в стандартных файлах в тех же каталогах.
Если более дельно - проверьте, корректно ли происходит работа с пинами выбора целей - OLED / SD. От этого зависит ОЧЕНЬ многое, вплоть до непонятных глюков в других местах проекта, как-либо зависящих от обмена данными. Если есть осциллограф - просто ткнитесь и посмотрите, есть ли та самая помеха по питанию. Если есть - проверяйте из-за чего. Карта НЕ МОЖЕТ просадить тантал на 100uF до такой степени, чтобы это вылилось в помеху. В моём проекте карта запитывается через банальный полевик и пару блокировочных конденсаторов на 1uF после него. Ни помех, ни сбоев нет. Хотя и плата своя. Далее. Очень рекомендую всё же проверить сигналы логическим анализатором.
Карма: 2
Рейтинг сообщений: 10
Зарегистрирован: Ср окт 19, 2011 08:48:27 Сообщений: 443 Откуда: Мать городов русских
Рейтинг сообщения:0
2 AlanDrakes: У меня проект на STM32F103C8T6 (платка Blue Pill), картинку я не выкладывал - схему ещё не рисовал (не было необходимости). К SPI1 подключена SD, к SPI2 - TFT 1,8" 128х160 на ST7735 - https://www.rcscomponents.kiev.ua/produ ... 13162.html - здесь же и брал.
Сперва собрал всё безпаечными проводами от Arduino - индикатор работал без SD нормально, но зависал при каждом обращении к SD.
Собрал на макетке - Blue Pill через PLS вставил в PBS с одной стороны макетки а с другой - тоже через PBS индикатор с SD. На плате индикатора хилый стабилизатор в SOT-23 и аж 1 кондёрчик 0603.
Нормального осциллографа сейчас у меня нет, проверить питание не могу, вот разве что таким эмпирическим способом - зависает индикатор или нет.
Подобавлял кондёров по питанию, вопрос с зависанием частично решился - экспериментально выявил, что самая мощная помеха идёт при иницилизации SD - если потом инициализировать индикатор и после этого открыть файл то индикатор не зависает. Кстати, классный тест на питание - если пофильтрую питание и индикатор не будет подвисать при инициализации SD, то будет супер.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Надо будет проверить у себя процесс инициализации карты памяти. Но лично у меня с ней были бОльшие проблемы во время записи файлов большими блоками (кажется, были какие-то глюки в моей реализации драйвера карты между файловой системой и железом). Сейчас не наблюдаю подобного.
И, да. На длинных проводах наводка по питанию может получиться довольно большой. Я стараюсь избегать таких вариантов подключения, или принудительно подтягиваю шины к неактивным уровням на дальнем конце, и добавляю емкостей там же. Это помогает. Обычно.
Из грубоватого варианта могу предложить костыль - повторно инициализировать индикатор после инициализации карты. Не перезаписывать его память, а быстро сбросить и снова настроить собственно контроллер. У меня в одной железке подобным образом пришлось поступить - в некоторых случаях при включении внешней нагрузки, от последней по цепям питания может вернуться дополнительный импульс и слегка пошатать периферию. Но в итоге один раз из десятка - подвешивал экран (OLED SSD1307 128*64px). Пришлось именно такой костыль вбить в код.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения