реклама на сайте
подробности

 
 
> Проблема со слотом SD карты.
Иванов Сергей
сообщение Feb 14 2016, 13:38
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



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

И вот какая беда.

В приложении две фотографии, 1 и 2.
1 - нажал пальцем
2 - в совободном состоянии.
Если сравнить фотки, то видно, немного, ход слота. Т.е. при нажатии на слот имеется небольшой ход, порядка 0.2 мм.

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

Во время проведения экспериментов, касался рукой только панель, на которой крепятся дисплей, слот sd и клавиатура. Корпуса принтера не касался.

Хочу попробовать припаять проводок от слота карты и примотать его к панели

Вот такие вот наблюдения. Из-за чего такое может происходить ? Как можно решить проблему ?


Прикрепленное изображение

Прикрепленное изображение


Всем спасибо за советы.
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 20)
aaarrr
сообщение Feb 14 2016, 14:37
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Иванов Сергей @ Feb 14 2016, 16:38) *
Из-за чего такое может происходить ? Как можно решить проблему ?

Например, из-за нарушения целостности сигналов. Попробуйте взяться рукой за шлейф, а не разъем - эффект будет?
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 14 2016, 14:45
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата(aaarrr @ Feb 14 2016, 18:37) *
Например, из-за нарушения целостности сигналов. Попробуйте взяться рукой за шлейф, а не разъем - эффект будет?



попробовал. эффекта никакого
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 14 2016, 15:18
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Хорошо, а какой длины шлейф, и как распределены по нему сигналы?
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 14 2016, 16:47
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата(aaarrr @ Feb 14 2016, 19:18) *
Хорошо, а какой длины шлейф, и как распределены по нему сигналы?



Длина шлейфа 180 мм. Сигналы идут в таком же порядке, как и пины со слота.
Пробовали запускать на частоте 1 МГц и 24 МГц, разницы никакой.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 14 2016, 17:36
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Иванов Сергей @ Feb 14 2016, 19:47) *
Длина шлейфа 180 мм. Сигналы идут в таком же порядке, как и пины со слота.

Попробуйте укоротить в качестве эксперимента.
Осциллографом тактовый сигнал непосредственно на разъеме не смотрели, в каком виде он доходит до карты?
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 14 2016, 17:41
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата(aaarrr @ Feb 14 2016, 21:36) *
Попробуйте укоротить в качестве эксперимента.
Осциллографом тактовый сигнал непосредственно на разъеме не смотрели, в каком виде он доходит до карты?


Пробовали укорачивать, ничего вообще не поменялось.


Сообщение от разработчика:

Цитата
Если включить как есть (без надавливания), обмен с картой просто виснет (DMA чтение даже не стартует, и бесконечный цикл ожидания завершения обмена).
При заземлении слота картина меняется - обмен данными проходит, но считанные с карты данные неверные.
Причем это не зависит от частоты (от 24 до 1 МГц).
При этом обмен командами идёт без проблем.



Все сигналы, включая клок, до слота SD доходят без искажений,
завалов фронтов и уровней нет, нормальные прямоугольные сигналы.
Это если "землю" осциллографа прицепить прямо на слоте.
Если "землю" прицепить на самой плате, и мерять сигналы на слоте,
искажения, безусловно, есть, что и должно быть на длинных проводах.


Сообщение отредактировал Иванов Сергей - Feb 14 2016, 17:59
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Feb 14 2016, 19:33
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Цитата(Иванов Сергей @ Feb 14 2016, 20:41) *
Пробовали укорачивать, ничего вообще не поменялось.

Укорачивали до какой длины ? И приняты ли хоть какие-то меры к согласованию (особенно это касается тактировки).
Очевидно, что проблема вовсе не в механическом контакте. Вероятнее всего - результат "звона".
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 14 2016, 20:09
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата(rx3apf @ Feb 14 2016, 23:33) *
Укорачивали до какой длины ? И приняты ли хоть какие-то меры к согласованию (особенно это касается тактировки).
Очевидно, что проблема вовсе не в механическом контакте. Вероятнее всего - результат "звона".



До 30 мм.
Про меры уточню.
А что такое "звон" ?
Go to the top of the page
 
+Quote Post
rx3apf
сообщение Feb 14 2016, 20:14
Сообщение #10


Гуру
******

Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047



Ну, 30 mm должно бы работать.. "Звон" - это переотражения в несогласованной линии передачи. Самое простое - со стороны передатчика поставить резисторы 60..100 Ohm (зависит от кабеля и выходного сопротивления буферов, но не особенно критично). Между выходом и кабелем.
Go to the top of the page
 
+Quote Post
Herz
сообщение Feb 14 2016, 22:10
Сообщение #11


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Тема переехала.
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 15 2016, 05:06
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата(rx3apf @ Feb 14 2016, 23:14) *
Ну, 30 mm должно бы работать.. .


Тоже так думали, а оно не работает. Вот и голову ломаем.

Сообщение отредактировал Иванов Сергей - Feb 15 2016, 05:08
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 15 2016, 06:30
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Иванов Сергей @ Feb 15 2016, 08:06) *
Тоже так думали, а оно не работает. Вот и голову ломаем.

По какому интерфейсу подключена карта (SPI, SDIO)?
В статусном регистре должна быть указана ошибка, из-за которой нормальная работа не возможна.
Смотрели?
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 15 2016, 08:14
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата(adnega @ Feb 15 2016, 09:30) *
По какому интерфейсу подключена карта (SPI, SDIO)?
В статусном регистре должна быть указана ошибка, из-за которой нормальная работа не возможна.
Смотрели?


Цитата
Интерфейс SDIO 4-битный.
Последняя команда, которая проходит - CMD17 (Read single block),
на неё приходит ответ 0x900. После чего мы заряжаем DMA, стартуем передачу в
контроллере SDIO, и ждём окончания транзакции.
Но не можем дождаться, так как в статустном регистре
мы видим ошибку STBITERR (Start bit not detected on all data signals in wide bus mode)
Процессор STM32F407

Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 15 2016, 08:42
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата
Интерфейс SDIO 4-битный.
Последняя команда, которая проходит - CMD17 (Read single block),
на неё приходит ответ 0x900. После чего мы заряжаем DMA, стартуем передачу в
контроллере SDIO, и ждём окончания транзакции.
Но не можем дождаться, так как в статустном регистре
мы видим ошибку STBITERR (Start bit not detected on all data signals in wide bus mode)
Процессор STM32F407

Ага. А схему показать можете? Подтяжка на линии данных присутствует?
Питание на карте в этот момент не проседает? Или уровень земли не подлетает?
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 16 2016, 12:41
Сообщение #16


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Проблема решилась переходом с 4 битной шины на 1 битную.
Всем спасибо за внимание и помощь !
Go to the top of the page
 
+Quote Post
adnega
сообщение Feb 16 2016, 12:59
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Цитата(Иванов Сергей @ Feb 16 2016, 15:41) *
Проблема решилась переходом с 4 битной шины на 1 битную.
Всем спасибо за внимание и помощь !

Но это сложно назвать решением.
Я думаю, на плате со слотом не хватает подтягивающих резисторов и керамики по питанию.
Кста, и ключик по питанию тоже не забываем.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 16 2016, 13:25
Сообщение #18


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата
Подтягивающие резисторы 10 кОм есть на всех линиях, кроме SDIO_CK.
Конденсатор керамический 0,1 мкФ запаян прямо на ного разъёма SD.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 16 2016, 14:00
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Сдается мне, тут все же проблема в контактах. Прозвонить со вставленной картой не пробовали?
Go to the top of the page
 
+Quote Post
Иванов Сергей
сообщение Feb 16 2016, 15:47
Сообщение #20


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 15-04-11
Пользователь №: 64 402



Цитата(aaarrr @ Feb 16 2016, 17:00) *
Сдается мне, тут все же проблема в контактах. Прозвонить со вставленной картой не пробовали?



Цитата
Линии прозванивались до контактов SD-карты.
После подачи команды чтения блока (CMD17) на всех линиях D0-D3 вижу
прямоугольный сигнал, очевидно, его формирует карта, притягивая линии к GND.
Но контроллер SDIO упорно маячит "Start bit not deyecyed on all lines in wide bus mode"
Пробовал сначала подать CMD17, потом включить DMA+SDIO data path, и наоборот.
Go to the top of the page
 
+Quote Post
bureau
сообщение Jan 5 2017, 17:35
Сообщение #21


Знающий
****

Группа: Свой
Сообщений: 625
Регистрация: 22-02-07
Пользователь №: 25 593



Аналогичная проблема вывалилась. С железом все в порядке. Данная проблема возникает при повторной инициализации (вытянули - вставили SD карточку в разьем). При первичной инициализации (после MCU reset ) -- все считывается верно
*Иванов Сергей* была ли найдена причина появления ошибки STBITERR ?
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 29th June 2025 - 20:20
Рейтинг@Mail.ru


Страница сгенерированна за 0.01509 секунд с 7
ELECTRONIX ©2004-2016