Bagaimana cara menarik ke atas atau ke bawah dengan benar saat menghubungkan kartu microSD?

16

Saya telah melihat orang menarik hanya pin CS, sehingga ketika pin mikrokontroler mengambang di power-up, kartu microSD tidak rusak.

Juga, saya telah melihat banyak orang menarik dan menurunkan garis DI, DO dan SCLK.

Beberapa sirkuit yang saya lihat bahkan menghubungkan pin 1 dan 2 ke Vdd / 2 melalui pembagi tegangan yang terbentuk antara Vdd dan Vss.

Pin kartu microSD mana yang harus ditarik atau tinggi ketika menghubungkan mikrokontroler dengan antarmuka SPI yang tertanam dan memiliki level tegangan logika yang sesuai?

Pinout Kartu microSD

abdullah kahraman
sumber

Jawaban:

13

The spesifikasi hanya membuat menyebutkan 50K pull-up internal ke kartu yang digunakan untuk deteksi kartu. Ini berbicara tentang ini mengacu pada perintah yang digunakan untuk menonaktifkannya. Cari "tarik" untuk melihat semua menyebutkannya.Ω

Namun, Manual Produk Kartu SD SanDisk jauh lebih bermanfaat. Dari Bab 3:

2 Saluran DAT yang diperluas (DAT1-DAT3) adalah input saat dihidupkan. Mereka mulai beroperasi sebagai garis DAT setelah perintah SET_BUS_WIDTH. Adalah tanggung jawab perancang host untuk menghubungkan resistor pullup eksternal ke semua jalur data bahkan jika hanya DAT0 yang akan digunakan. Jika tidak, konsumsi arus tinggi yang tidak diharapkan dapat terjadi karena input mengambang DAT1 & DAT2 (dalam kasus mereka tidak digunakan).

3 After power up, this line is input with 50Kohm(+/-20Kohm) pull-up (can be used for card detection or SPI mode selection). The pull-up may be disconnected by the user, during regular data transfer, with SET_CLR_CARD_DETECT (ACMD42) command.

4 The ‘RSV’ pins are floating inputs. It is the responsibility of the host designer to connect external pullup resistors to those lines. Otherwise non-expected high current consumption may occur due to the floating inputs.

So you need to add pull-ups to all unused pins to prevent high-current from occurring due to the inputs being floating.

For the SPI signals that you will be using, pull-ups are not required. However if your traces are long or running through a noisy section on your board, or if you are running a high clock rate, adding pull-up resistors will help to clean up your signals transitions.

embedded.kyle
sumber
1
Thanks for the answer. I am curious why a high current consumption will occur when an input pin is floating.
abdullah kahraman
8
It's because the signal may float into the metastable/transition region for CMOS circuits, where both PMOS and NMOS elements are turned on, and current flows continuously, wasting power and producing heat. During normal operation, signals should move through this region very quickly, so the wasted energy is low. See this TI paper "Implications of Slow or Floating CMOS Inputs"
Ben Voigt
@abdullahkahraman Ben nailed it.
embedded.kyle
Just curious, does pulling up or down matters? Can I pull down DAT1 while pulling up DAT2 or vice-verse?
abdullah kahraman
2
@abdullahkahraman Since SD Cards are CMOS, it shouldn't matter. With TTL you usually want to pull up to avoid wasting power. See this forum post
embedded.kyle