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

Здравствуйте форумчане!

 

Использую отладочную плату 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 на аналоговое и земляное питание, удасться побороть шумы на выходе ЦАП ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Фильтр по питанию должен быт LC или RC.

Просто L или R, а дальше повод на карту приносит скорее вред, чем пользу.

Потребление карты импульсное, а индуктивность в цепи питания гарантирует провалы напряжения питания карты.

Можете полюбоваться осциллографом прямо на контактах карты, что происходит.

Ставьте LC фильтр и проводники минимальной длины до слота карты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Возможно, написал непонятно, - бусину конечно же по питанию ставил, после неё кондер керамика+тантал параллельно питанию и земле.

Ради интереса взял другую карту, с бусиной она заработала.

 

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

 

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

 

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

 

Что ещё можно и нужно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

что-то не то...

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

 

Убедитесьь, что проблема именно в наводках по питанию - пусть звучт программно генерируемый синус, а чтение с карты просто "в никуда" происходит.

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

 

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

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

post-28634-1519544020_thumb.jpg

post-28634-1519544029_thumb.jpg

post-28634-1519544265_thumb.jpg

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В моем устройстве обязательно использовать карту памяти, использование устройства без карты бессмысленно. Таков функционал.

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

Карта работает только на чтение, запись не нужна.

 

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

 

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

 

Удалось избавиться от помех с помощью:

1) тантала параллельно питанию карты 330 мкФ + керамика 0,1 мкф

2) укорочением длин проводников всех макетных плат

3) соединением земель не в одной точке, а в разных точках отладки DISCOVERY

4) применением отдельного LDO на аналоговую часть STM32, пришлось немного переделать отладочную плату

 

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

 

что-то не то...

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

 

Убедитесьь, что проблема именно в наводках по питанию - пусть звучт программно генерируемый синус, а чтение с карты просто "в никуда" происходит.

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

 

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

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Я вроде ни разу не предлагал...

1) тантала параллельно питанию карты 330 мкФ + керамика 0,1 мкф

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

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я вроде ни разу не предлагал...

 

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

 

Что есть power cycle?

При включении устройства, карта начинает работать менее чем через 1с.

И зачем ключ на карте?

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И зачем ключ на карте?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё вопросик по питанию.

 

Использую 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см без слоя земли)

 

post-99126-1519552342_thumb.png

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Птитание сделал так:

С аккумулятора идет питание на:

1) повышающий DC/DC для матрицы OLED дисплея на 12V

2) на LDO 3V для аналоговой части

3) на LDO 3V для цифровой части

 

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

Лучше сделать нормальный импульсный источник для цифровой части на 3.0В, аналоговое

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

требованиями на питание аналоговой части со стороны STM, там свои особенности.

 

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

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

 

Ещё нашёл схему включения SD карты с защитой от бросков питания...

В печку её.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Лучше сделать нормальный импульсный источник для цифровой части на 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

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Ну, тут меня телепатические способности подвели. Что же это за панель такая прожорливая?

При батарейном питании любая экономия имеет смысл, а тут >200мВт в трубу улетают при

заряженном аккумуляторе.

 

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

LDO на 2.8V, разумеется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну, тут меня телепатические способности подвели. Что же это за панель такая прожорливая?

При батарейном питании любая экономия имеет смысл, а тут >200мВт в трубу улетают при

заряженном аккумуляторе.

 

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

SEPS525.pdf

 

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. Аккум от сотового ТЛФ.

Изменено пользователем repstosw

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это когда все пиксели белые

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

 

По логике если LDO на 3V, и падение на нем 0,1V, то при входном 3V будет 2,9V...

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

 

И кстати, при каком напряжении Li-Ion считается разряженным? Гугл говорит неоднозначно: 2,7 - 3,2 V. Аккум от сотового ТЛФ.

Можете снять разрядную характеристику для своих условий. С большой долей вероятности можно сказать, что ниже 3.4V ловить особо нечего.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...