Например TDA7294

Форум РадиоКот :: Просмотр темы - STM32C8T6 + SD + TFT - подвисает индикатор
Форум РадиоКот
http://radiokot.ru/forum/

STM32C8T6 + SD + TFT - подвисает индикатор
http://radiokot.ru/forum/viewtopic.php?f=59&t=162021
Страница 1 из 1

Автор:  Frogfot [ Пн апр 01, 2019 08:43:26 ]
Заголовок сообщения:  STM32C8T6 + SD + TFT - подвисает индикатор

Подключил к 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 идёт помеха по питанию индикатора, но как его устранить?

Автор:  240265 [ Пн апр 01, 2019 19:55:13 ]
Заголовок сообщения:  Re: STM32C8T6 + SD + TFT - подвисает индикатор

???

Автор:  AlanDrakes [ Вт апр 02, 2019 18:15:25 ]
Заголовок сообщения:  Re: STM32C8T6 + SD + TFT - подвисает индикатор

1. В Вашем GIT'e что-то не то. Вы утверждаете, что у Вас проект на STM32, но на картинке схема подключения по SPI к ATMega8.
2. Кода с main() так же не видно в стандартных файлах в тех же каталогах.

Если более дельно - проверьте, корректно ли происходит работа с пинами выбора целей - OLED / SD. От этого зависит ОЧЕНЬ многое, вплоть до непонятных глюков в других местах проекта, как-либо зависящих от обмена данными.
Если есть осциллограф - просто ткнитесь и посмотрите, есть ли та самая помеха по питанию. Если есть - проверяйте из-за чего. Карта НЕ МОЖЕТ просадить тантал на 100uF до такой степени, чтобы это вылилось в помеху.
В моём проекте карта запитывается через банальный полевик и пару блокировочных конденсаторов на 1uF после него. Ни помех, ни сбоев нет. Хотя и плата своя.
Далее. Очень рекомендую всё же проверить сигналы логическим анализатором.

Автор:  Frogfot [ Ср апр 03, 2019 20:53:59 ]
Заголовок сообщения:  Re: STM32C8T6 + SD + TFT - подвисает индикатор

2 AlanDrakes: У меня проект на STM32F103C8T6 (платка Blue Pill), картинку я не выкладывал - схему ещё не рисовал (не было необходимости). К SPI1 подключена SD, к SPI2 - TFT 1,8" 128х160 на ST7735 - https://www.rcscomponents.kiev.ua/produ ... 13162.html - здесь же и брал.

Использовал чужую VinxFS - FAT на основе Petit FAT Elm Chan - http://we.easyelectronics.ru/Soft/vinxf ... a-avr.html и собственно проект на GitHub - https://github.com/alemorf/VinxFS. Переделал проект с CV AVR на STM32 под Keil.

Сперва собрал всё безпаечными проводами от Arduino - индикатор работал без SD нормально, но зависал при каждом обращении к SD.

Собрал на макетке - Blue Pill через PLS вставил в PBS с одной стороны макетки а с другой - тоже через PBS индикатор с SD. На плате индикатора хилый стабилизатор в SOT-23 и аж 1 кондёрчик 0603.

Нормального осциллографа сейчас у меня нет, проверить питание не могу, вот разве что таким эмпирическим способом - зависает индикатор или нет.

Подобавлял кондёров по питанию, вопрос с зависанием частично решился - экспериментально выявил, что самая мощная помеха идёт при иницилизации SD - если потом инициализировать индикатор и после этого открыть файл то индикатор не зависает. Кстати, классный тест на питание - если пофильтрую питание и индикатор не будет подвисать при инициализации SD, то будет супер.

Кстати, вот перевод статьи Elm Chan - http://microsin.net/programming/file-sy ... cards.html - как раз о питание SD карточки.

Автор:  AlanDrakes [ Вс апр 07, 2019 18:03:06 ]
Заголовок сообщения:  Re: STM32C8T6 + SD + TFT - подвисает индикатор

Надо будет проверить у себя процесс инициализации карты памяти.
Но лично у меня с ней были бОльшие проблемы во время записи файлов большими блоками (кажется, были какие-то глюки в моей реализации драйвера карты между файловой системой и железом). Сейчас не наблюдаю подобного.

И, да. На длинных проводах наводка по питанию может получиться довольно большой. Я стараюсь избегать таких вариантов подключения, или принудительно подтягиваю шины к неактивным уровням на дальнем конце, и добавляю емкостей там же. Это помогает. Обычно.

Из грубоватого варианта могу предложить костыль - повторно инициализировать индикатор после инициализации карты. Не перезаписывать его память, а быстро сбросить и снова настроить собственно контроллер.
У меня в одной железке подобным образом пришлось поступить - в некоторых случаях при включении внешней нагрузки, от последней по цепям питания может вернуться дополнительный импульс и слегка пошатать периферию. Но в итоге один раз из десятка - подвешивал экран (OLED SSD1307 128*64px). Пришлось именно такой костыль вбить в код.

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/