|
Проблема со слотом SD карты. |
|
|
|
Feb 14 2016, 13:38
|
Участник

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

|
Всем привет. Подскажите, может у кого такое было. В общем, есть устройство которое принимает данные с SD карты. Карта вставляется в слот. И вот какая беда. В приложении две фотографии, 1 и 2. 1 - нажал пальцем 2 - в совободном состоянии. Если сравнить фотки, то видно, немного, ход слота. Т.е. при нажатии на слот имеется небольшой ход, порядка 0.2 мм. Если прижать слот чутка пальцем, то флешка отлично читается и проблемы никакой нет. В свободном состоянии, вообще ничего не происходит. Как была ошибка, так и есть. Я подумал, что будет, если уголок зафиксирую капелькой термоклея. Зафиксировал...ничего не поменялось. В смысле не работало. Клей оторвал и опять придал пальцем - работает. Решил прижать не пальцем, а диэлектриком (пластиковым стержнем) - тоже не работает. Потом прижал отвёрткой, держать за ручку (пластиковую) - тоже не работает. Прижал отвёрткой, ухватившись за жало отвёртки - работает. Во время проведения экспериментов, касался рукой только панель, на которой крепятся дисплей, слот sd и клавиатура. Корпуса принтера не касался. Хочу попробовать припаять проводок от слота карты и примотать его к панели Вот такие вот наблюдения. Из-за чего такое может происходить ? Как можно решить проблему ?
Всем спасибо за советы.
|
|
|
|
|
Feb 14 2016, 14:45
|
Участник

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

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

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

|
Цитата(aaarrr @ Feb 14 2016, 19:18)  Хорошо, а какой длины шлейф, и как распределены по нему сигналы? Длина шлейфа 180 мм. Сигналы идут в таком же порядке, как и пины со слота. Пробовали запускать на частоте 1 МГц и 24 МГц, разницы никакой.
|
|
|
|
|
Feb 14 2016, 17:41
|
Участник

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

|
Цитата(aaarrr @ Feb 14 2016, 21:36)  Попробуйте укоротить в качестве эксперимента. Осциллографом тактовый сигнал непосредственно на разъеме не смотрели, в каком виде он доходит до карты? Пробовали укорачивать, ничего вообще не поменялось. Сообщение от разработчика: Цитата Если включить как есть (без надавливания), обмен с картой просто виснет (DMA чтение даже не стартует, и бесконечный цикл ожидания завершения обмена). При заземлении слота картина меняется - обмен данными проходит, но считанные с карты данные неверные. Причем это не зависит от частоты (от 24 до 1 МГц). При этом обмен командами идёт без проблем.
Все сигналы, включая клок, до слота SD доходят без искажений, завалов фронтов и уровней нет, нормальные прямоугольные сигналы. Это если "землю" осциллографа прицепить прямо на слоте. Если "землю" прицепить на самой плате, и мерять сигналы на слоте, искажения, безусловно, есть, что и должно быть на длинных проводах.
Сообщение отредактировал Иванов Сергей - Feb 14 2016, 17:59
|
|
|
|
|
Feb 14 2016, 20:09
|
Участник

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

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

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

|
Цитата(rx3apf @ Feb 14 2016, 23:14)  Ну, 30 mm должно бы работать.. . Тоже так думали, а оно не работает. Вот и голову ломаем.
Сообщение отредактировал Иванов Сергей - Feb 15 2016, 05:08
|
|
|
|
|
Feb 15 2016, 08: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
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|