|
STM32F4 Discovery + SD micro, Странное поведение |
|
|
|
Feb 25 2018, 01:04
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Здравствуйте форумчане!
Использую отладочную плату 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 на аналоговое и земляное питание, удасться побороть шумы на выходе ЦАП ?
|
|
|
|
|
Feb 25 2018, 06:07
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Возможно, написал непонятно, - бусину конечно же по питанию ставил, после неё кондер керамика+тантал параллельно питанию и земле. Ради интереса взял другую карту, с бусиной она заработала.
Сейчас в активной борьбе с помехами, которые в аудиотракте с ЦАП-а. Удалось лишь уменьшить помехи работы карты путём укорачивания длины проводников питания и земли и подключения их как можно ближе к земляному полигону отладочной платы. И ещё очень сильно помог танталовый конденсатор с космической ёмкостью - 330 мкФ, теперь помеха на выходе ЦАП уменьшилась и стала как бы мягче (более похожа на шум). Вместо бусины ставил индуктивность 100 мкГн стало только хуже - помеха вылезла.
Я не знаю, как можно полностью ликвидировать помеху, которая создается при чтении карты, ЦАП+ДМА в кольцевом режиме и играет непрерывно, карта понятное дело, тоже читается периодически. Оцифровка 12 бит 24 кГц.
Пробовал отдельный стабилизатор на карту памяти. Не помогло, помеха лезет.
Что ещё можно и нужно?
|
|
|
|
|
Feb 25 2018, 07:33
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
что-то не то... Кстати, не забудьте сделать возмождность передегивания питания карты (и обеспесить отсутствие фантомного питания при этом) - тантал там совсем ни для сего не нужен. А вот резистор для обеспечения разряда питания не помешает. Сейчсас применяю для управления питанием карты ключи STMPS2141STR, хотя управляемый стабилизатор тоже ничего... Убедитесьь, что проблема именно в наводках по питанию - пусть звучт программно генерируемый синус, а чтение с карты просто "в никуда" происходит. Я например считаю нужно использовать double buffer а не кольцевой (инче не гарантируется непорча данных при получнии новых). ps: из-за копеешной экономии - чтобы не применять отдельный кодек у которого можно хорошо питание зафильтровать - столько проблем... На плате внизу - ну просто никаких помех в аудио от цифровой части. Во всяком случае они ниже ушма аналоговой.
Сообщение отредактировал Genadi Zawidowski - Feb 25 2018, 07:37
Эскизы прикрепленных изображений
|
|
|
|
|
Feb 25 2018, 07:56
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
В моем устройстве обязательно использовать карту памяти, использование устройства без карты бессмысленно. Таков функционал. А также при попытке включить устройство без карты, контроллер вечно уходит в ресет, при таком раскладе введение карты на горячую, ведёт к запуску устройства. Карта работает только на чтение, запись не нужна. А буфер у меня двойной и кольцевой - пока играет одна половина, заполняется вторая. Прерывание по заполнению половины буфера. Никакой порчи данных нет. Играет непрерывно файл звука. Отдельный кодек нет желания применять, потому что усложняется схема и увеличатся габариты. Интерес использовать встроенный ЦАП от STM32. Удалось избавиться от помех с помощью: 1) тантала параллельно питанию карты 330 мкФ + керамика 0,1 мкф 2) укорочением длин проводников всех макетных плат 3) соединением земель не в одной точке, а в разных точках отладки DISCOVERY 4) применением отдельного LDO на аналоговую часть STM32, пришлось немного переделать отладочную плату Теперь SD карта работает нормально даже с ферритовыми бусинами. Причем обе! Цитата(Genadi Zawidowski @ Feb 25 2018, 07:33)  что-то не то... Кстати, не забудьте сделать возмождность передегивания питания карты (и обеспесить отсутствие фантомного питания при этом) - тантал там совсем ни для сего не нужен. А вот резистор для обеспечения разряда питания не помешает. Сейчсас применяю для управления питанием карты ключи STMPS2141STR, хотя управляемый стабилизатор тоже ничего...
Убедитесьь, что проблема именно в наводках по питанию - пусть звучт программно генерируемый синус, а чтение с карты просто "в никуда" происходит. Я например считаю нужно использовать double buffer а не кольцевой (инче не гарантируется непорча данных при получнии новых).
ps: из-за копеешной экономии - чтобы не применять отдельный кодек у которого можно хорошо питание зафильтровать - столько проблем... На плате внизу - ну просто никаких помех в аудио от цифровой части. Во всяком случае они ниже ушма аналоговой.
|
|
|
|
|
Feb 25 2018, 08:07
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата В моем устройстве обязательно использовать карту памяти, Я вроде ни разу не предлагал... Цитата 1) тантала параллельно питанию карты 330 мкФ + керамика 0,1 мкф И сколько времени будет разряжаться эта связка при проведении power cycle для карты?
Сообщение отредактировал Genadi Zawidowski - Feb 25 2018, 08:09
|
|
|
|
|
Feb 25 2018, 08:38
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(Genadi Zawidowski @ Feb 25 2018, 08:07)  Я вроде ни разу не предлагал...
И сколько времени будет разряжаться эта связка при проведении power cycle для карты? Что есть power cycle? При включении устройства, карта начинает работать менее чем через 1с. И зачем ключ на карте?
Сообщение отредактировал __inline__ - Feb 25 2018, 08:38
|
|
|
|
|
Feb 25 2018, 09:50
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Ещё вопросик по питанию. Использую 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см без слоя земли)
Сообщение отредактировал __inline__ - Feb 25 2018, 09:53
|
|
|
|
|
Feb 25 2018, 10:30
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(__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А Цитата(__inline__ @ Feb 25 2018, 12:50)  Ещё нашёл схему включения SD карты с защитой от бросков питания... В печку её.
|
|
|
|
|
Feb 25 2018, 11:09
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(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
Сообщение отредактировал __inline__ - Feb 25 2018, 11:10
|
|
|
|
|
Feb 25 2018, 11:13
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(__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, разумеется.
|
|
|
|
|
Feb 25 2018, 11:30
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(aaarrr @ Feb 25 2018, 11:13)  Ну, тут меня телепатические способности подвели. Что же это за панель такая прожорливая? При батарейном питании любая экономия имеет смысл, а тут >200мВт в трубу улетают при заряженном аккумуляторе. Это когда все пиксели белые. Даташит на OLED (на его контроллер) приложил.
SEPS525.pdf ( 520.93 килобайт )
Кол-во скачиваний: 49Цитата(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. Аккум от сотового ТЛФ.
Сообщение отредактировал __inline__ - Feb 25 2018, 11:32
|
|
|
|
|
Feb 25 2018, 12:05
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(__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 ловить особо нечего.
|
|
|
|
|
Feb 25 2018, 12:13
|

Местный
  
Группа: Участник
Сообщений: 257
Регистрация: 5-09-17
Пользователь №: 99 126

|
Цитата(aaarrr @ Feb 25 2018, 12:05)  По логике, если LDO на 3V, и падение на нем 0.1V, то при входном напряжении ниже 3.1V он превращается в тыкву перестает выполнять свое основное предназначение. Кроме как напряжение на выходе будет падать, изменятся ещё какие-нибудь характеристики? Схема работоспособна до 2,7V что соответствует входному 2,8V с учетом DROP. LDO не будет стабилизировать, но ток отдачи будет таким же как и в режиме стабилизации? Или это неустойчивый режим LDO, не гарантирующий устойчивой отдачи тока при напряжениях ниже чем DROP+IN ?
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|