Jump to content

    
Sign in to follow this  
AVStech

MicroSD длина дорожек (SDIO)

Recommended Posts

Добрый день!

Прошу сильно не пинать. В общем есть SoM на STM32F4. Задача вынести слот карты памяти подключенной по SDIO на 12 см

MicroSD слот сейчас установлен на плате МК (SoM), через нехитрый переходник хочу вынести слот для карты памяти на другой, отдельной плате. Сейчас длина дорожек равна 118мм. Дорожки все равной длины, равного сопротивления и равной емкости. Интересно то, что данная схема не работает даже со стандартным удлинителем MicroSD для малинки длиной 30см (малинка с ним работает отлично) --> http://dev.festima.ru/docs/45528841/moscow...initel-sd-karty.

Вопрос в чем может быть проблема?

Паразитное питание?

Могу сделать отдельное питание на карту.

Земля МК и платы-удлинителя MicroSD сейчас общая.

Схема подключения: питание карты 3.3V подтягивается к земле через два конденсатора - керамический 0.1uF и тантал 1uF. Конденсаторы максимально приближены к слоту карты памяти.

 

В общем буду рад любому совету, схеме, учебнику и прочему материалу.

 

Спасибо!

 

P.S.: цифровой осциллограф в пути - буду измерять фронты позже. Может есть другое простое решение данного вопроса.

Share this post


Link to post
Share on other sites
Плата своя или что-то покупное? Подтяжки к питанию есть?

 

Если не секрет, зачем там подтяжки к питанию? Интерфейс логический, не диффпары, входов\выходов вида открытый сток там нет.

Вполне возможно задирание вверх частоты клока.

ЗЫ. Насколько помню, удлинители по 30см спецификацией интерфейса не предусмотрены вообще.

Edited by mantech

Share this post


Link to post
Share on other sites
Если не секрет, зачем там подтяжки к питанию? Интерфейс логический, не диффпары, входов\выходов вида открытый сток там нет.

Вполне возможно задирание вверх частоты клока.

ЗЫ. Насколько помню, удлинители по 30см спецификацией интерфейса не предусмотрены вообще.

1. Покупное - карта без удлинителя работает отлично.

2. Подтяжки к питанию есть. Два конденсатора: один 0.1uF керамика, второй 1uF тантал.

3. 30 см - не нужно, достаточно 11,8 см. Да в даташите есть рекомендация, которая звучит как "расположите слот как можно ближе к процу". Я вот поэтому и подумал, что может быть это паразитное питание, м.б. необходимо добавить мощности отдельным питанием на карту?

4. Задирание клоков - сейчас не смогу проверить, осциллограф в пути.

 

На сколько я помню подключение по SDIO требует как раз диффпары, по SPI не нужно. Сейчас МК работает со слотом по SDIO.

Share this post


Link to post
Share on other sites
1. Покупное - карта без удлинителя работает отлично.

2. Подтяжки к питанию есть. Два конденсатора: один 0.1uF керамика, второй 1uF тантал.

3. 30 см - не нужно, достаточно 11,8 см. Да в даташите есть рекомендация, которая звучит как "расположите слот как можно ближе к процу". Я вот поэтому и подумал, что может быть это паразитное питание, м.б. необходимо добавить мощности отдельным питанием на карту?

4. Задирание клоков - сейчас не смогу проверить, осциллограф в пути.

 

На сколько я помню подключение по SDIO требует как раз диффпары, по SPI не нужно. Сейчас МК работает со слотом по SDIO.

Возможно надо заменить номиналы резисторов подтяжки.

 

Share this post


Link to post
Share on other sites
На сколько я помню подключение по SDIO требует как раз диффпары, по SPI не нужно. Сейчас МК работает со слотом по SDIO.

SDIO-подключение отличается от SPI иным форматом передачи команд/данных. Он такой же не дифференциальный.

Схема подключения могла бы снять часть вопросов.

Попробуйте снизить частоту до единиц мегагерц в блоке SDIO, снизить крутизну фронтов GPIO, установить последовательные R,

увеличить (в смысле воздействия, а не номинала) подтяжку для OD-линий интерфейса, ... дождаться скопа.

Share this post


Link to post
Share on other sites
Прошу сильно не пинать. В общем есть SoM на STM32F4. Задача вынести слот карты памяти подключенной по SDIO на 12 см

А без 12см работает?

 

Интересно то, что данная схема не работает даже со стандартным удлинителем MicroSD для малинки длиной 30см

Что значит не работает? В начале по SDIO узнаётся информация о карте на частоте до 400кГц и только потом переходят в режим обмена данными вплоть до 50МГц.

У вас информация о ёмкости и типе карты считывается?

 

Если не секрет, зачем там подтяжки к питанию? Интерфейс логический, не диффпары, входов\выходов вида открытый сток там нет.

Как это нет? Там линия CMD двунаправленная с обязательной подтяжкой как минимум!

Share this post


Link to post
Share on other sites
SDIO-подключение отличается от SPI иным форматом передачи команд/данных. Он такой же не дифференциальный.

Схема подключения могла бы снять часть вопросов.

Попробуйте снизить частоту до единиц мегагерц в блоке SDIO, снизить крутизну фронтов GPIO, установить последовательные R,

увеличить (в смысле воздействия, а не номинала) подтяжку для OD-линий интерфейса, ... дождаться скопа.

 

Со стороны МК (схема)

Со стороны удлинителя (от руки), только сейчас вместо 100uF установлен 1uF

 

А без 12см работает?

 

 

Что значит не работает? В начале по SDIO узнаётся информация о карте на частоте до 400кГц и только потом переходят в режим обмена данными вплоть до 50МГц.

У вас информация о ёмкости и типе карты считывается?

 

 

Как это нет? Там линия CMD двунаправленная с обязательной подтяжкой как минимум!

 

Грубо говоря - есть готовый SoM на базе STM32F4. У него на плате есть разъем карты. С родным разъемом без удлинителя все работает (без 12 см) отлично. НО я хотел бы вынести разъем карты в другое место на удаление 12 см. Сделал удлинитель с учетом требований диффпары (длина дорожек, емкость, сопротивление) с ним не работает. Подумал, что накосячил и купил удлинитель для карт от малинки длиной 30 см - также с ним не работает.

 

А если коротко то без удлинителя МК карту видит, с удлинителем МК карту не видит.

 

Про SPI слышал, что можно с длиной дорожек не заморачиваться, так как скорость там не велика, сам с интерфейсом SPI никогда не работал, сказать точно не могу.

post-95076-1515496223_thumb.png

post-95076-1515496233_thumb.png

Edited by AVStech

Share this post


Link to post
Share on other sites
Со стороны МК (схема)

Я бы резисторы уменьшил до 10К.

Они точно подключены к VCC карты (на схеме этого не видно)?

Очень полезно иметь ключик на VCC карты, чтобы делать "повер цикл"

(причем, резисторы должны быть от питания карты, а не от источника, чтоб не было паразитного питания).

 

Я думаю, OD-линии CMD не хватало 100К для работы вверх с текущей емкостью линии.

Share this post


Link to post
Share on other sites

В Вашем случае лучше использовать готовые решения либо закажите у кого нибудь разработку изделия. Сэкономите время.

Edited by hik

Share this post


Link to post
Share on other sites
Я бы резисторы уменьшил до 10К.

Они точно подключены к VCC карты (на схеме этого не видно)?

Очень полезно иметь ключик на VCC карты, чтобы делать "повер цикл"

(причем, резисторы должны быть от питания карты, а не от источника, чтоб не было паразитного питания).

 

Я думаю, OD-линии CMD не хватало 100К для работы вверх с текущей емкостью линии.

 

Попробую, спасибо!

Да они подключены к VCC карты

!!! НО Сейчас ключика нет и питание идет напрямую от камня 3V3 к слоту карты памяти к этой же линии подключены все подтягивающие резисторы и конденсаторы. Это интересно.

1. Уменьшу сопротивление до 10-4,7 кОм

2. Попробую тантал на 100 мкФ

3. Добавлю ка я ключик на питание. А питание карты подведу отдельным источником 3V3. Ключик будет управлять подачей питания от отдельного источника. Верно?

4. Если не заработает буду смотреть осцилом всё.

 

Спасибо!

Share this post


Link to post
Share on other sites
Попробую, спасибо!

Да они подключены к VCC карты

!!! НО Сейчас ключика нет и питание идет напрямую от камня 3V3 к слоту карты памяти к этой же линии подключены все подтягивающие резисторы и конденсаторы. Это интересно.

1. Уменьшу сопротивление до 10-4,7 кОм

2. Попробую тантал на 100 мкФ

3. Добавлю ка я ключик на питание. А питание карты подведу отдельным источником 3V3. Ключик будет управлять подачей питания от отдельного источника. Верно?

4. Если не заработает буду смотреть осцилом всё.

 

Спасибо!

 

 

Начните последовательно (не все скопом), иначе не выясните что было основным.

 

Первый пункт думаю будет решающим.

+ снижение частоты работы шины

 

Вы Матрешку Малинку проверяли, на какой она скорости с удлинителем взаимодействует с SD картой? Хотя да, осца же нет.

Edited by AndreyS

Share this post


Link to post
Share on other sites
Про SPI слышал, что можно с длиной дорожек не заморачиваться, так как скорость там не велика, сам с интерфейсом SPI никогда не работал, сказать точно не могу.

 

Частота-то клока одинаковая. Если не ошибаюсь за двностью лет - по SPI я на 25МГц точно работал. Просто при переходе на SDIO - можно включить как минимум 4 линии данных - вместо одной общей с командами - отсюда ускорение в 4 и более раз.

 

Share this post


Link to post
Share on other sites
3. Добавлю ка я ключик на питание. А питание карты подведу отдельным источником 3V3. Ключик будет управлять подачей питания от отдельного источника. Верно?

Только на вход ключика нужно ещё фильтр добавить. Чтобы не было чудес в работе ПО при вкл. питания карты. Типа такого:

post-38713-1515531229_thumb.png

И если есть отдельный LDO, то часто у них бывает вход "EN" - отдельный ключ не нужен.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this