EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

multiple SD/SDIO cards on the same bus

Started by Unknown April 10, 2007
Does anyone know if it is possible to design a device that has
multiple SD/SDIO slot
sharing the same SD bus and has two or more cards inserted and
operational at the same time?
How does one resolve the bus contention issue?

Thanks very much.

tantalum73@gmail.com wrote:

> Does anyone know if it is possible to design a device that has > multiple SD/SDIO slot > sharing the same SD bus and has two or more cards inserted and > operational at the same time? > How does one resolve the bus contention issue? > > Thanks very much. >
http://elm-chan.org/docs/mmc/mmc_e.html Use a seperate CS line for each device. Be sure you have enough memory to store all the necessary information for each device/memory. good luck donald
>Does anyone know if it is possible to design a device that has >multiple SD/SDIO slot >sharing the same SD bus and has two or more cards inserted and >operational at the same time? >How does one resolve the bus contention issue? > >Thanks very much. >
We are working with a partner company that offers a dual host controller solution. Their HW combined with our SDIO stack/drivers can give you a good solution to your problem. Stephen Martin Quadros Systems, Inc.
In article <1176216257.996087.33480@q75g2000hsh.googlegroups.com>, 
tantalum73@gmail.com says...
> Does anyone know if it is possible to design a device that has > multiple SD/SDIO slot > sharing the same SD bus and has two or more cards inserted and > operational at the same time? > How does one resolve the bus contention issue? > > Thanks very much.
If you use the MMC bus (NOT the SPI bus), you can have multiple cards on the bus. All SD cards have a unique ID, and can have an address assigned by the host. At startup, all cards on the bus will be idle. The Host sends the ALL_SEND_CID command; this causes all cards on the bus to start sending their unique ID, while monitoring the bus traffic. If a card sees a bit that is not part of its ID, it immediately stops sending its ID. Thus, only one card on the bus will succeed in sending its complete ID. The Host then sets a relative address for that card, at which point the card will no longer respond to the ALL_SEND_CID command. This allows the next card(s) to be identified and addressed, and is continued until no more cards respond. From that point on, the host selects a card via its local address using CMD 7, which places that card in the transfer state. When another CMD 7 is issued, if the address is not that of the currently active card, it automatically goes back to the standby state; thus, only one card can be in the transfer state, so there is no contention. If you control capacitance, you can theoretically have up to 40 cards on the bus at once, though 10 is more typical. --Gene

The 2024 Embedded Online Conference