But I am still left wondering what happens to the sd card with a series of quick power up & down cycles, no matter how they get intercepted. I would rather just pull the plug once.
/** * To enable SD card CRC checking set USE_SD_CRC nonzero. * * Set USE_SD_CRC to 1 to use a smaller slower CRC-CCITT function. * * Set USE_SD_CRC to 2 to used a larger faster table driven CRC-CCITT function. */#define USE_SD_CRC 0
I had heard that simply letting the power to an SD card brown out "slowly", as a fading battery pack would do, was enough to kill a card, even if you did not init the card, or write to it in any way.
BTW I found areference to the 250 uA sleep current on the Sandisk cards: pg 16http://dlnmh9ip6v2uc.cloudfront.net/datasheets/Components/General/SDSpec.pdf
And in another thread, you mention grounding unused lines (rather than pulling them up as the spec sheet suggests), and hinted that perhaps that is what lowered the sleep currents.
However, in order to achieve the lowest sleep current, the host needs to shut down itsclock to the card.
Manufacturer ID: 0X3OEM ID: SDProduct: SD01GVersion: 8.0Serial number: 0XFB5C4F70Manufacturing date: 12/2006cardSize: 1015.81 MB (MB = 1,000,000 bytes)flashEraseSize: 32 blockseraseSingleBlock: true
Manufacturer ID: 0X3OEM ID: SDProduct: SU04GVersion: 8.0Serial number: 0X3F6E5C18Manufacturing date: 6/2012cardSize: 3965.19 MB (MB = 1,000,000 bytes)flashEraseSize: 128 blockseraseSingleBlock: true
Manufacturer ID: 0X3OEM ID: SDProduct: SU04GVersion: 8.0Serial number: 0X4E728B0Manufacturing date: 10/2013cardSize: 3965.19 MB (MB = 1,000,000 bytes)flashEraseSize: 128 blockseraseSingleBlock: true
Manufacturer ID: 0X1BOEM ID: SMProduct: 00000Version: 1.0Serial number: 0X9B541463Manufacturing date: 3/2014cardSize: 16003.89 MB (MB = 1,000,000 bytes)flashEraseSize: 128 blockseraseSingleBlock: true
Because I am using such small cards
The only time SPI clock is active with these libraries is during an actual data transfer. In your case it will be rare for SPI clock to be active."