roboforum.ru

Технический форум по робототехнике.
Текущее время: 20 май 2025, 21:32

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 22 дек 2010, 11:45 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2010, 13:56
Сообщения: 996
Откуда: Нижний Новгород
прог. языки: С, С++, РНР
Подключаю к своему детищу SD Карту.
Вопросов 3:
1) Схема отлично работает как от 3.3В, так и от 5В. Хотя везде написано, что SD карта от 5В неработает. Есть опасность что она сгорит? Мне нужно чтоб МК питался от 5В. Так ли обязательно делать 3.3 на карту?

2) Т.к. карта подключена к тем же проводкам, что и программатор "5 проводков", то для программирования карту приходится вынимать, иначе идут ошибки при прошивании. Как можно развязать это дело, чтоб не передергивать карту?

3) Без согласования уровней (см пункт 1) все прекрасно работает. Пробую питать мк 5в, карту 3.3в и согласовывать уровни резистором 10к и стабилитроном на 3.3 - получается "ошибка инициализации диска". В чем может быть проблема? и как лучше сделать? Читал форум, некоторые делают просто резистивным делителем 3к+2к.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 22 дек 2010, 12:00 
Не в сети
Аватара пользователя

Зарегистрирован: 06 окт 2004, 18:01
Сообщения: 24218
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов
Схема согласования 3.3В и 5.0В для SD-карт есть тут: http://www.sparkfun.com/products/9802

_________________
Проект [[Open Robotics]] - Универсальные модули для построения роботов


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 22 дек 2010, 12:32 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
HarryStar писал(а):
Есть опасность что она сгорит? Мне нужно чтоб МК питался от 5В. Так ли обязательно делать 3.3 на карту?

да. да.
HarryStar писал(а):
Как можно развязать это дело, чтоб не передергивать карту?

поставить в середину буфер с третьим состоянием (но по-моему дергать карту проще :) )
HarryStar писал(а):
Пробую питать мк 5в, карту 3.3в и согласовывать уровни резистором 10к и стабилитроном на 3.3 - получается "ошибка инициализации диска". В чем может быть проблема?

уменьшите резистор ом до 470
HarryStar писал(а):
Читал форум, некоторые делают просто резистивным делителем 3к+2к.

можно, но
1. слегка ограничивает скорость.
2. из 3.3 сделать 5 не получится (впрочем как и стабилитронами).

Правильно для этих целей использовать специальные микросхемы -
их сейчас многие делают, гуглить "level translator"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 22 дек 2010, 14:57 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
прошивать надо через бутлоадер :)
USB шнурок ну или на крайняк по усарту лить.

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 22 дек 2010, 15:21 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2010, 13:56
Сообщения: 996
Откуда: Нижний Новгород
прог. языки: С, С++, РНР
Michael_K писал(а):
уменьшите резистор ом до 470

Номинал 10к я взял из mmc.h там схема подключения текстом была вот такая
Код:
     _________________
    /  1 2 3 4 5 6 78 |
   / 9                |   1 - CS   (chip select)          <- SS
   |    SD/MMC Card   |   2 - DIN  (data in, card<-host)  <- MOSI
   |                  |   3 - VSS  (ground)               -- ground
   |                  |   4 - VDD  (+3.3V)             -- power
   |                  |   5 - SCLK (data clock)           <- SCK
   |                  |   6 - VSS  (ground)               -- ground
   |                  |   7 - DOUT (data out, card->host) -> MISO
   |                  |    SD card only:
   |                  |    8 - not used in SPI, mode must be pulled up
   |                  |    9 - not used in SPI, mode must be pulled up
   |__________________|
   
   5V logic to 3.3V:
   
5V >-|R1|--+-->  3.3V
           |              R1    - 10k
           ^ VD1          VD1   - BZX55C3V3
           |
          ---
         GND

попробую уменьшить резистор
HarryStar писал(а):
Читал форум, некоторые делают просто резистивным делителем 3к+2к.

Michael_K писал(а):
можно, но
1. слегка ограничивает скорость.
2. из 3.3 сделать 5 не получится (впрочем как и стабилитронами).


1. Почему? Я думал всякие буферные элементы могут ограничивать скорость, но никак не резисторы.
2. Там и не надо, лог 1 от 3.3в мк с питанием 5в отлично понимает, а вот наоборот получается плохо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 22 дек 2010, 16:23 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
0.
HarryStar писал(а):
Номинал 10к я взял из mmc.h там схема подключения текстом была вот такая

Да где вы эти схемы откапываете-то, блин? кто их рисует? голова должна быть или как?

Стабилитрон начинает работать при единицах миллиампер
(ну... типичный... а тем более такой... поганенький как bzx55 )
У вас он должен якобы работать при (5V-3.3V)/10k = 170 микроампер...
Это на порядок меньше штатного режима.
Что там на стабилитроне в результате, думаю даже производитель не скажет
(у стабилитронов разбросы параметров огромные).

HarryStar писал(а):
Michael_K писал(а):
1. слегка ограничивает скорость.
Почему? Я думал всякие буферные элементы могут ограничивать скорость, но никак не резисторы.

Потому что емкости между всем и всем никто не отменял.
Пусть у вас на ноге карточки висят паразитные 10 пикофарад... Берете резистор 10 килоом - получаете постоянную времени R*C = 100 наносекунд - то есть про 10 мегагерц сразу забываем...
Буферные элементы вносят задержки, а не валят фронты. Загнал на вход 10 мегагерц - получил с выхода 10 мегагерц, пусть с задержкой, но красивые квадратные (это грубо, но суть такая примерно).

HarryStar писал(а):
2. Там и не надо, лог 1 от 3.3в мк с питанием 5в отлично понимает, а вот наоборот получается плохо.

да ради бога :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 24 дек 2010, 11:15 
Не в сети
Аватара пользователя

Зарегистрирован: 15 ноя 2010, 13:56
Сообщения: 996
Откуда: Нижний Новгород
прог. языки: С, С++, РНР
Michael_K писал(а):
Да где вы эти схемы откапываете-то, блин? кто их рисует? голова должна быть или как?

Ну была бы голова, не спрашивал бы.

Замена резисторов на 510 Ом помогла, все заработало, спасибо.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 24 дек 2010, 15:34 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Да не за что...

HarryStar писал(а):
Michael_K писал(а):
Да где вы эти схемы откапываете-то, блин? Голова должна быть или как?

Ну была бы голова, не спрашивал бы.


Ну, извините, если грубо прозвучало. Это не лично к вам относилось.
Просто "наболело" - это же не в первый раз.
Кто-то рисует кривую схему, и она по инету расползается...
Такое ощущение, что все тупо копируют,
никто даже не пытается проверить или осмыслить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 24 дек 2010, 17:35 
Не в сети
скрытый хозяин вселенной :)
Аватара пользователя

Зарегистрирован: 18 сен 2006, 12:26
Сообщения: 18018
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич
Michael_K писал(а):
никто даже не пытается проверить или осмыслить.

99% интернета именно по аткому принципу и работает :D

_________________
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 24 дек 2010, 18:04 
Не в сети
Аватара пользователя

Зарегистрирован: 07 окт 2009, 00:29
Сообщения: 6028
Откуда: СПб
Ну что тут скажешь - молодцы, так держать. Меньше народу - больше кислороду.
Только не надо потом на форумах плакать, что ничего не работает.

Добавлено спустя 6 минут 2 секунды:
Самое прикольное, что они даже программы так пишут.
И даже "теорию" подвели и умных слов придумали - "реюзибл", типа.
Копируют баги, копируют морально устаревшие и просто ненужные куски.
И гордятся тем, что баги их становятся "кроссплатформенными".

Осознать каждую строчку? Зачем? Этим пусть индусы занимаются.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Согласование уровней / Развязка / SDCard
СообщениеДобавлено: 01 окт 2012, 00:24 
Не в сети
Аватара пользователя

Зарегистрирован: 11 апр 2011, 21:31
Сообщения: 40
Откуда: Россия, Москва, Ярославль
прог. языки: Кроме C# и Basic
Michael_K писал(а):
HarryStar писал(а):
Michael_K писал(а):
1. слегка ограничивает скорость.
Почему? Я думал всякие буферные элементы могут ограничивать скорость, но никак не резисторы.

Потому что емкости между всем и всем никто не отменял.
Пусть у вас на ноге карточки висят паразитные 10 пикофарад... Берете резистор 10 килоом - получаете постоянную времени R*C = 100 наносекунд - то есть про 10 мегагерц сразу забываем...
Буферные элементы вносят задержки, а не валят фронты. Загнал на вход 10 мегагерц - получил с выхода 10 мегагерц, пусть с задержкой, но красивые квадратные (это грубо, но суть такая примерно).

Проезжая мимо магазина вспомнил, что хотел подключить SD-карту. Номиналов резисторов я не помнил, но помнил, что нужны 3.3в. В результате расчета получились резисторы 47к и 91к. В тестовом скетче (arduino) наблюдаю сообщение что карта не найдена. В схеме которая бродит по сети "немного" другие номиналы :oops:
Изображение


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO