SD Adapter schematics question

I'm not Paul, but here's what I think he wanted to accomplish:

The SD adapter you linked to is a legacy of the Teensy 2 series, i.e. When the MCU was likely to operate at 5V.

SD cards operate at 3.3V so Paul used buffer chips as voltage translators for the outgoing SPI signals (MOSI, CLK, CS). The returning signal (i.e. MISO) has a logic high of 3.3V that is high enough to register as "high" on a 5V MCU. The pull-up on MISO is presumably there to give MISO a well defined state when it is not in use. The buffer chip cannot be used in "reverse" as the VCC is only 3.3V on the chip. That's why Paul presumably tied the fourth buffer into a well defined state and called it a day.

For the Teensy 3 or LC series, the buffer is not needed (but it does no harm). You can use the bypass pads to supply 3.3V from the MCU to the SD card but given how much power a SD card can consume, I would take advantage of the SD adapter's Voltage Regulator when possible. It gives you more margin re the amount of peripheries you can attach to the Teensy.

This adapter was likely one of the first on the Arduino market that addressed the issues associated with faster SD cards, i.e. it was a huge step up over the legacy Arduino designs that relied on voltage divider circuits.
 
Last edited:
I'm not Paul, but here's what I think he wanted to accomplish:

The SD adapter you linked to is a legacy of the Teensy 2 series, i.e. When the MCU was likely to operate at 5V.

SD cards operate at 3.3V so Paul used buffer chips as voltage translators for the outgoing SPI signals (MOSI, CLK, CS). The returning signal (i.e. MISO) has a logic high of 3.3V that is high enough to register as "high" on a 5V MCU. The pull-up on MISO is presumably there to give MISO a well defined state when it is not in use.

The buffer chip cannot be used in "reverse" as the VCC is only 3.3V on the chip. That's why Paul presumably tied the fourth buffer into a well defined state and called it a day

Yes, I understand the level shifting issue and, as have already used one of these sd adaptor on T3.1, I know that hey are working.
This leaves the question open on the MISO pullup. Could this be also protocol requirement that slaves indicate that they are not ready by pulling MISO up, or simply good engineering practice, as you suggest?
 
Oh, this PCB was recently revised to add a 2nd pullup resistor on the SS pin. Otherwise, it's the same.

coming back to the MISO pull-up in the SD card.
My slowly increasing understanding of the SPI protocol is that any slave that is not participating in the data exchange must not drive MISO. As the SD Adaptor has a pull-up the adaptor is always driving MISO.

Is therefore my understanding correct that the SD Adaptor cannot be used in parallel to other SPI slaves?
 
Yes, if a slave device's CS is false (high, usually) it must ignore MOSI and not assert MISO. Also, each time CS goes false, the slave device reestablishes the bit-sync of SPI data unit boundaries, e.g., 8 bit mode for byte sized data as is the norm.

Some time reading a tutorial on SPI makes sense. Google found this one for me... (there are some on YouTube as well)
https://embeddedmicro.com/tutorials/mojo/serial-peripheral-interface-spi

Read up on PJRC's "SPI Transactions" code library and why it is valuable in controlling one at a time use of one SPI port. Most 32 bit ARM micros have 2+ SPI ports.

We're happy to answer more - but it would speed up your work to read and get a baseline of knowledge.
 
Last edited:
Yes, if a slave device's CS is false (high, usually) it must ignore MOSI and not assert MISO. Also, each time CS goes false, the slave device reestablishes the bit-sync of SPI data unit boundaries, e.g., 8 bit mode for byte sized data as is the norm.

Some time reading a tutorial on SPI makes sense. Google found this one for me... (there are some on YouTube as well)
https://embeddedmicro.com/tutorials/mojo/serial-peripheral-interface-spi

Read up on PJRC's "SPI Transactions" code library and why it is valuable in controlling one at a time use of one SPI port. Most 32 bit ARM micros have 2+ SPI ports.

We're happy to answer more - but it would speed up your work to read and get a baseline of knowledge.

Yes, I know that, but the question was, can PJRC SD adapter be used together with other slaves, at it has a 10k pull-up, indicating that MISO is set to high and is not floating!
Is therefore my understanding correct that the SD Adaptor cannot be used in parallel to other SPI slaves?
I would be happy if someone tells me that I can.
 
Yes, I know that, but the question was, can PJRC SD adapter be used together with other slaves, at it has a 10k pull-up, indicating that MISO is set to high and is not floating!

I would be happy if someone tells me that I can.

Sure, you can. The slave pulls it down - like the SD-card does.
 
can PJRC SD adapter be used together with other slaves,

Yes, it can be used with other SPI devices.

at it has a 10k pull-up, indicating that MISO is set to high and is not floating!

The 10k pullup is very weak compared to the MISO output on other SPI slave devices. It does not substantially interfere with other SPI devices which need to drive MISO.

I would be happy if someone tells me that I can.

Yes, you can.

Further, I can tell you have I personally tested this SD adaptor used together with numerous other SPI devices. They do indeed work together in practice.
 
Yes, it can be used with other SPI devices.

The 10k pullup is very weak compared to the MISO output on other SPI slave devices. It does not substantially interfere with other SPI devices which need to drive MISO.

Yes, you can.

Further, I can tell you have I personally tested this SD adaptor used together with numerous other SPI devices. They do indeed work together in practice.

Thanks Paul,
So I can get Frank's mem card, and use the SDcard adapter and Teensly LC I have to develop/test a SRAM augmented SD card adapter.
 
Back
Top