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

 
 
 
Reply to this topicStart new topic
> Две SD карты на один SDIO порт, STM32
MiklPolikov
сообщение Nov 21 2014, 22:22
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Задался вопросом, как повесить две SD карты на один SDIO интерфейс процессора (STM32).
Нашёл документ
http://www.altera.com/literature/an/an509.pdf
из которого следует, что надо всего лишь на всего мультиплицировать линию клока, что бы подавать его то на одну карту, то на другую.

Вопрос к тому, кто это делал : неужели всё действительно так просто ? И нет никакого подводного камня ? Где бы почитать поподробнее ?


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 22 2014, 07:07
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(MiklPolikov @ Nov 22 2014, 00:22) *
Где бы почитать поподробнее ?
Думаю, что достаточно одного предложения из описания SDIO STM32:
Цитата
SDIO_CK is the clock to the card: one bit is transferred on both command and data lines with each clock cycle.
Нет SDIO_CK - ни команды, ни данные не передаются. Разумеется, переключать его надо в тот момент, когда обмен уже закончен. Возможно, тонкости могут быть в определении этого момента.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Nov 22 2014, 09:17
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Цитата(Сергей Борщ @ Nov 22 2014, 11:07) *
Думаю, что достаточно одного предложения из описания SDIO STM32: Нет SDIO_CK - ни команды, ни данные не передаются. Разумеется, переключать его надо в тот момент, когда обмен уже закончен. Возможно, тонкости могут быть в определении этого момента.

Сергей, всю эту теорию я знаю и понимаю. Вопрос "а какие будут сложности ?" задаю тому, кто это делал


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post
MiklPolikov
сообщение Feb 22 2015, 03:43
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702



Сделал. Работает.

У SD карты есть т.н. Relative Card Address , RCA . Это уникальны номер, который нужен для адресации карт, сидящих на одной шине. При этом шина ни как не мультиплицируется, карты просто включены параллельно. Но при инициализации к картам нужно обращаться физически по очереди, что бы получить от каждой её RCA, попросить её о смене RCA если он оказался не уникален. Для этого достаточно мультиплицировать линия клока. Я это делаю следующим образом: клок поступает на вход каждой из карт через отдельный резистор 200 Ом. Помимо линии клока, ко входу клока карты идёт линия от ноги процессора в режиме обычного порта. Когда нужно отключить клок карты, эта линия подтягивается к земле, когда нужно включить, переходит в 3е состояние.
Может быть, даже есть алгоритм для инициализации карт и вовсе без мультиплицирования клока. Не пытался разобраться, и так замечательно работает.


--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 28th July 2025 - 03:05
Рейтинг@Mail.ru


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