Segriv 0 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Всем привет. Подскажите, может у кого такое было. В общем, есть устройство которое принимает данные с SD карты. Карта вставляется в слот. И вот какая беда. В приложении две фотографии, 1 и 2. 1 - нажал пальцем 2 - в совободном состоянии. Если сравнить фотки, то видно, немного, ход слота. Т.е. при нажатии на слот имеется небольшой ход, порядка 0.2 мм. Если прижать слот чутка пальцем, то флешка отлично читается и проблемы никакой нет. В свободном состоянии, вообще ничего не происходит. Как была ошибка, так и есть. Я подумал, что будет, если уголок зафиксирую капелькой термоклея. Зафиксировал...ничего не поменялось. В смысле не работало. Клей оторвал и опять придал пальцем - работает. Решил прижать не пальцем, а диэлектриком (пластиковым стержнем) - тоже не работает. Потом прижал отвёрткой, держать за ручку (пластиковую) - тоже не работает. Прижал отвёрткой, ухватившись за жало отвёртки - работает. Во время проведения экспериментов, касался рукой только панель, на которой крепятся дисплей, слот sd и клавиатура. Корпуса принтера не касался. Хочу попробовать припаять проводок от слота карты и примотать его к панели Вот такие вот наблюдения. Из-за чего такое может происходить ? Как можно решить проблему ? Всем спасибо за советы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Из-за чего такое может происходить ? Как можно решить проблему ? Например, из-за нарушения целостности сигналов. Попробуйте взяться рукой за шлейф, а не разъем - эффект будет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segriv 0 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Например, из-за нарушения целостности сигналов. Попробуйте взяться рукой за шлейф, а не разъем - эффект будет? попробовал. эффекта никакого Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Хорошо, а какой длины шлейф, и как распределены по нему сигналы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segriv 0 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Хорошо, а какой длины шлейф, и как распределены по нему сигналы? Длина шлейфа 180 мм. Сигналы идут в таком же порядке, как и пины со слота. Пробовали запускать на частоте 1 МГц и 24 МГц, разницы никакой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Длина шлейфа 180 мм. Сигналы идут в таком же порядке, как и пины со слота. Попробуйте укоротить в качестве эксперимента. Осциллографом тактовый сигнал непосредственно на разъеме не смотрели, в каком виде он доходит до карты? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segriv 0 14 февраля, 2016 Опубликовано 14 февраля, 2016 (изменено) · Жалоба Попробуйте укоротить в качестве эксперимента. Осциллографом тактовый сигнал непосредственно на разъеме не смотрели, в каком виде он доходит до карты? Пробовали укорачивать, ничего вообще не поменялось. Сообщение от разработчика: Если включить как есть (без надавливания), обмен с картой просто виснет (DMA чтение даже не стартует, и бесконечный цикл ожидания завершения обмена). При заземлении слота картина меняется - обмен данными проходит, но считанные с карты данные неверные. Причем это не зависит от частоты (от 24 до 1 МГц). При этом обмен командами идёт без проблем. Все сигналы, включая клок, до слота SD доходят без искажений, завалов фронтов и уровней нет, нормальные прямоугольные сигналы. Это если "землю" осциллографа прицепить прямо на слоте. Если "землю" прицепить на самой плате, и мерять сигналы на слоте, искажения, безусловно, есть, что и должно быть на длинных проводах. Изменено 14 февраля, 2016 пользователем Иванов Сергей Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Пробовали укорачивать, ничего вообще не поменялось. Укорачивали до какой длины ? И приняты ли хоть какие-то меры к согласованию (особенно это касается тактировки). Очевидно, что проблема вовсе не в механическом контакте. Вероятнее всего - результат "звона". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segriv 0 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Укорачивали до какой длины ? И приняты ли хоть какие-то меры к согласованию (особенно это касается тактировки). Очевидно, что проблема вовсе не в механическом контакте. Вероятнее всего - результат "звона". До 30 мм. Про меры уточню. А что такое "звон" ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rx3apf 0 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Ну, 30 mm должно бы работать.. "Звон" - это переотражения в несогласованной линии передачи. Самое простое - со стороны передатчика поставить резисторы 60..100 Ohm (зависит от кабеля и выходного сопротивления буферов, но не особенно критично). Между выходом и кабелем. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 14 февраля, 2016 Опубликовано 14 февраля, 2016 · Жалоба Тема переехала. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segriv 0 15 февраля, 2016 Опубликовано 15 февраля, 2016 (изменено) · Жалоба Ну, 30 mm должно бы работать.. . Тоже так думали, а оно не работает. Вот и голову ломаем. Изменено 15 февраля, 2016 пользователем Иванов Сергей Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 10 15 февраля, 2016 Опубликовано 15 февраля, 2016 · Жалоба Тоже так думали, а оно не работает. Вот и голову ломаем. По какому интерфейсу подключена карта (SPI, SDIO)? В статусном регистре должна быть указана ошибка, из-за которой нормальная работа не возможна. Смотрели? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Segriv 0 15 февраля, 2016 Опубликовано 15 февраля, 2016 · Жалоба По какому интерфейсу подключена карта (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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 10 15 февраля, 2016 Опубликовано 15 февраля, 2016 · Жалоба Интерфейс SDIO 4-битный. Последняя команда, которая проходит - CMD17 (Read single block), на неё приходит ответ 0x900. После чего мы заряжаем DMA, стартуем передачу в контроллере SDIO, и ждём окончания транзакции. Но не можем дождаться, так как в статустном регистре мы видим ошибку STBITERR (Start bit not detected on all data signals in wide bus mode) Процессор STM32F407 Ага. А схему показать можете? Подтяжка на линии данных присутствует? Питание на карте в этот момент не проседает? Или уровень земли не подлетает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться