Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F4 Discovery + SD micro
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
__inline__
Здравствуйте форумчане!

Использую отладочную плату STM32F4-Discovery на базе микроконтроллера STM32F407VG, организовал обмен по SDIO (4 бита) с картой SD-micro. Карта подключена через переходник SD-micro=>SD, затем разъём SD, затем провода 4 см одинаковой длины. Подтяжки на CMD и D0..D4 использую внутренние pull-up на GPIO.

Частота клоков 24 МГц (USB-шные 48 Мгц пополам). Карта работает только на чтение, запись не требуется. Прикручена библиотека FatFS для чтения файлов AVI или JPEG.

Так вот, проблема в том, что карта памяти прекрасно работает (данные читаются верно) , когда на линии питания конденсаторы впараллель: 0,1 мкф + тантал 10 мкФ.

Но стоит на питание карты повешать ферритовую бусину или даже ферритовую втулку, то данные начинают читаться неправильно - декодирование JPEG вылазит с артефактами (узоры вместо картинки, части картинки битые, видно декодеру JPEG сносит башню). Вместо бусины ставил резистор 100-220 Ом - карта вообще перестаёт правильно читаться.

Желание поставить бусину или резистор по питанию продиктованы нуждой снизить уровень помех по питанию, потому что использую ЦАП+DMA STM32F407 для вывода звука, в момент работы карты слышны наводки с частотой смены кадров JPEG. А разделить питание на цифровое и аналоговое на DISCOVERY невозможно.

Пара вопросов:

1) Почему SD карта начинает сбоить когда на питании феррит или резистор? Связано ли это с отсутствием согласования волновых сопротивлений трасс SDIO ? Ведь провода висят в воздухе, под ними нет слоя земли.

2) Если будет свой дизайн платы, на которой будет отдельно LDO на аналоговое и земляное питание, удасться побороть шумы на выходе ЦАП ?
amiller
Фильтр по питанию должен быт LC или RC.
Просто L или R, а дальше повод на карту приносит скорее вред, чем пользу.
Потребление карты импульсное, а индуктивность в цепи питания гарантирует провалы напряжения питания карты.
Можете полюбоваться осциллографом прямо на контактах карты, что происходит.
Ставьте LC фильтр и проводники минимальной длины до слота карты.
__inline__
Возможно, написал непонятно, - бусину конечно же по питанию ставил, после неё кондер керамика+тантал параллельно питанию и земле.
Ради интереса взял другую карту, с бусиной она заработала.

Сейчас в активной борьбе с помехами, которые в аудиотракте с ЦАП-а. Удалось лишь уменьшить помехи работы карты путём укорачивания длины проводников питания и земли и подключения их как можно ближе к земляному полигону отладочной платы. И ещё очень сильно помог танталовый конденсатор с космической ёмкостью - 330 мкФ, теперь помеха на выходе ЦАП уменьшилась и стала как бы мягче (более похожа на шум). Вместо бусины ставил индуктивность 100 мкГн стало только хуже - помеха вылезла.

Я не знаю, как можно полностью ликвидировать помеху, которая создается при чтении карты, ЦАП+ДМА в кольцевом режиме и играет непрерывно, карта понятное дело, тоже читается периодически. Оцифровка 12 бит 24 кГц.

Пробовал отдельный стабилизатор на карту памяти. Не помогло, помеха лезет.

Что ещё можно и нужно?
Genadi Zawidowski
что-то не то...
Кстати, не забудьте сделать возмождность передегивания питания карты (и обеспесить отсутствие фантомного питания при этом) - тантал там совсем ни для сего не нужен. А вот резистор для обеспечения разряда питания не помешает. Сейчсас применяю для управления питанием карты ключи STMPS2141STR, хотя управляемый стабилизатор тоже ничего...

Убедитесьь, что проблема именно в наводках по питанию - пусть звучт программно генерируемый синус, а чтение с карты просто "в никуда" происходит.
Я например считаю нужно использовать double buffer а не кольцевой (инче не гарантируется непорча данных при получнии новых).

ps: из-за копеешной экономии - чтобы не применять отдельный кодек у которого можно хорошо питание зафильтровать - столько проблем...
На плате внизу - ну просто никаких помех в аудио от цифровой части. Во всяком случае они ниже ушма аналоговой.
__inline__
В моем устройстве обязательно использовать карту памяти, использование устройства без карты бессмысленно. Таков функционал.
А также при попытке включить устройство без карты, контроллер вечно уходит в ресет, при таком раскладе введение карты на горячую, ведёт к запуску устройства.
Карта работает только на чтение, запись не нужна.

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

Отдельный кодек нет желания применять, потому что усложняется схема и увеличатся габариты. Интерес использовать встроенный ЦАП от STM32.

Удалось избавиться от помех с помощью:
1) тантала параллельно питанию карты 330 мкФ + керамика 0,1 мкф
2) укорочением длин проводников всех макетных плат
3) соединением земель не в одной точке, а в разных точках отладки DISCOVERY
4) применением отдельного LDO на аналоговую часть STM32, пришлось немного переделать отладочную плату

Теперь SD карта работает нормально даже с ферритовыми бусинами. Причем обе!

Цитата(Genadi Zawidowski @ Feb 25 2018, 07:33) *
что-то не то...
Кстати, не забудьте сделать возмождность передегивания питания карты (и обеспесить отсутствие фантомного питания при этом) - тантал там совсем ни для сего не нужен. А вот резистор для обеспечения разряда питания не помешает. Сейчсас применяю для управления питанием карты ключи STMPS2141STR, хотя управляемый стабилизатор тоже ничего...

Убедитесьь, что проблема именно в наводках по питанию - пусть звучт программно генерируемый синус, а чтение с карты просто "в никуда" происходит.
Я например считаю нужно использовать double buffer а не кольцевой (инче не гарантируется непорча данных при получнии новых).

ps: из-за копеешной экономии - чтобы не применять отдельный кодек у которого можно хорошо питание зафильтровать - столько проблем...
На плате внизу - ну просто никаких помех в аудио от цифровой части. Во всяком случае они ниже ушма аналоговой.

Genadi Zawidowski
Цитата
В моем устройстве обязательно использовать карту памяти,

Я вроде ни разу не предлагал...
Цитата
1) тантала параллельно питанию карты 330 мкФ + керамика 0,1 мкф

И сколько времени будет разряжаться эта связка при проведении power cycle для карты?
__inline__
Цитата(Genadi Zawidowski @ Feb 25 2018, 08:07) *
Я вроде ни разу не предлагал...

И сколько времени будет разряжаться эта связка при проведении power cycle для карты?


Что есть power cycle?
При включении устройства, карта начинает работать менее чем через 1с.
И зачем ключ на карте?
aaarrr
Цитата(__inline__ @ Feb 25 2018, 11:38) *
И зачем ключ на карте?

Если карта используется постоянно, то ни к чему. А так - извлекать безопасно и электричество экономить на батарейном питании.
__inline__
Ещё вопросик по питанию.

Использую li-Ion аккумулятор на 3,7 V (номинал) 950 мАч , ток потребления аналоговой части 70 мА, цифровой столько же. Стабилизирую питание двумя LDO на 3V ровно.
Использую LDO TK11230A - выдернул их из старых сотовых телефонов, у них до 150 мА максимум и падение напряжения 0,16V на 60 мА. других лучших по близости не оказалось.

Птитание сделал так:
С аккумулятора идет питание на:
1) повышающий DC/DC для матрицы OLED дисплея на 12V
2) на LDO 3V для аналоговой части
3) на LDO 3V для цифровой части

Стоит ли на SD карту делать отдельный третий LDO или нет?
Боюсь что 150 мА не вытянет, хотя работает всегда, ни разу сбоя не возникало

Посмотрел на схему OLINUXINO на A13, там берется 3,3V с LDO 200 мА. А дока на Kingston SD говорит о пиковых бросках в 400 мА !!!! Где истина?

Ещё нашёл схему включения SD карты с защитой от бросков питания, стоит ли так делать или это костыли, которые в финальной разводке будут не нужны? (сейчас карта болтается на проводах 4см без слоя земли)

Нажмите для просмотра прикрепленного файла
aaarrr
Цитата(__inline__ @ Feb 25 2018, 12:50) *
Птитание сделал так:
С аккумулятора идет питание на:
1) повышающий DC/DC для матрицы OLED дисплея на 12V
2) на LDO 3V для аналоговой части
3) на LDO 3V для цифровой части

Стоит ли на SD карту делать отдельный третий LDO или нет?

Лучше сделать нормальный импульсный источник для цифровой части на 3.0В, аналоговое
питание сделать из цифрового (3.0В->2.8В). Не знаю только, насколько это согласуется с
требованиями на питание аналоговой части со стороны STM, там свои особенности.

Цитата(__inline__ @ Feb 25 2018, 12:50) *
Посмотрел на схему OLINUXINO на A13, там берется 3,3V с LDO 200 мА. А дока на Kingston SD говорит о пиковых бросках в 400 мА !!!! Где истина?

Если карта используется в стандартном режеме (SD 1.01, 25MHz), то 200мА. В остальных случаях - до 65.5А sm.gif

Цитата(__inline__ @ Feb 25 2018, 12:50) *
Ещё нашёл схему включения SD карты с защитой от бросков питания...

В печку её.
__inline__
Цитата(aaarrr @ Feb 25 2018, 10:30) *
Лучше сделать нормальный импульсный источник для цифровой части на 3.0В, аналоговое
питание сделать из цифрового (3.0В->2.8В). Не знаю только, насколько это согласуется с
требованиями на питание аналоговой части со стороны STM, там свои особенности.


А стоит ли игра свеч? В плане экономии каких-то микроджоулей? Тем более максимальный ток OLED матрицы по даташиту и экспериметально выходит 150 мА, и это при 12 V !!! Что даёт ещё больший ток во входной цепи повышающего dc/dc (с 3,7V).

Как будет работать LDO на 3,3V с падением 0,1В , при входном напряжении 3V ? Если будут нормальные 2,9V то меня устроит. Мне главное срезать всё что выше 3,6V (для STM32).

Вот тут вообще на 3,3V LDO ставят.
http://forum.easyelectronics.ru/viewtopic....=10&t=19047
пост от oxford
aaarrr
Цитата(__inline__ @ Feb 25 2018, 14:09) *
А стоит ли игра свеч? В плане экономии каких-то микроджоулей? Тем более максимальный ток OLED матрицы по даташиту и экспериметально выходит 150 мА, и это при 12 V !!! Что даёт ещё больший ток во входной цепи повышающего dc/dc (с 3,7V).

Ну, тут меня телепатические способности подвели. Что же это за панель такая прожорливая?
При батарейном питании любая экономия имеет смысл, а тут >200мВт в трубу улетают при
заряженном аккумуляторе.

Цитата(__inline__ @ Feb 25 2018, 14:09) *
Как будет работать LDO на 3,3V с падением 0,1В , при входном напряжении 3V ? Если будут нормальные 2,9V то меня устроит. Мне главное срезать всё что выше 3,6V (для STM32).

LDO на 2.8V, разумеется.
__inline__
Цитата(aaarrr @ Feb 25 2018, 11:13) *
Ну, тут меня телепатические способности подвели. Что же это за панель такая прожорливая?
При батарейном питании любая экономия имеет смысл, а тут >200мВт в трубу улетают при
заряженном аккумуляторе.


Это когда все пиксели белые. Даташит на OLED (на его контроллер) приложил.
Нажмите для просмотра прикрепленного файла

Цитата(aaarrr @ Feb 25 2018, 11:13) *
LDO на 2.8V, разумеется.


А на 3V нельзя ставить? По логике если LDO на 3V, и падение на нем 0,1V, то при входном 3V будет 2,9V, и при дальнейшем понижении входного напряжения будет падать выходное на величину DROP Voltage. Но при питании от 3,1V и выше будет 3V стабильно, что опять не так? Мне главное обеспечить напряжение питания контроллера на интервале [2,8 .... 3,6 V ].

И кстати, при каком напряжении Li-Ion считается разряженным? Гугл говорит неоднозначно: 2,7 - 3,2 V. Аккум от сотового ТЛФ.
aaarrr
Цитата(__inline__ @ Feb 25 2018, 14:30) *
Это когда все пиксели белые

Значит, если не использовать экран как фонарик, потребление остальной части схемы будет уже существенным.

Цитата(__inline__ @ Feb 25 2018, 14:30) *
По логике если LDO на 3V, и падение на нем 0,1V, то при входном 3V будет 2,9V...

По логике, если LDO на 3V, и падение на нем 0.1V, то при входном напряжении ниже 3.1V он превращается в тыкву перестает выполнять свое основное предназначение.

Цитата(__inline__ @ Feb 25 2018, 14:30) *
И кстати, при каком напряжении Li-Ion считается разряженным? Гугл говорит неоднозначно: 2,7 - 3,2 V. Аккум от сотового ТЛФ.

Можете снять разрядную характеристику для своих условий. С большой долей вероятности можно сказать, что ниже 3.4V ловить особо нечего.
__inline__
Цитата(aaarrr @ Feb 25 2018, 12:05) *
По логике, если LDO на 3V, и падение на нем 0.1V, то при входном напряжении ниже 3.1V он превращается в тыкву перестает выполнять свое основное предназначение.


Кроме как напряжение на выходе будет падать, изменятся ещё какие-нибудь характеристики? Схема работоспособна до 2,7V что соответствует входному 2,8V с учетом DROP. LDO не будет стабилизировать, но ток отдачи будет таким же как и в режиме стабилизации? Или это неустойчивый режим LDO, не гарантирующий устойчивой отдачи тока при напряжениях ниже чем DROP+IN ?

AVI-crak
На STM32F4-Discovery стоит немощный стаб 3,3в, и отвратительная разводка силовых цепей. Эта плата годится для мигания светодиодом, и не более. Хотите получить нечто работающее -делайте собственную плату, со всеми плюшками.
Помехи в цифровых системах почти всегда проходят по линии земли, вам просто необходимо выбрать точку подключения земли - чтобы не возникало токовой петли.
Проще всего это выглядит на бумаге: одна точка для всех, линия с поочерёдным подключением нагрузки, изолированная земля. Как рисуется - так и должно проектироваться, в этом нет ничего сложного. Главное вовремя вспомнить товарища Кирхгофа.
aaarrr
Цитата(__inline__ @ Feb 25 2018, 15:13) *
Кроме как напряжение на выходе будет падать, изменятся ещё какие-нибудь характеристики? Схема работоспособна до 2,7V что соответствует входному 2,8V с учетом DROP. LDO не будет стабилизировать, но ток отдачи будет таким же как и в режиме стабилизации? Или это неустойчивый режим LDO, не гарантирующий устойчивой отдачи тока при напряжениях ниже чем DROP+IN ?

Стабилизировать не будет, естественно. Шумов, соответственно, прибавится. Остальное зависит от конкретного типа LDO.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.