For a project focused on SD cards in SPI mode, I am looking at the Aardvark I2C/SPI Host Adapter and the Cheetah SPI Host Adapter. To cut costs, I am also looking at using Beagle I2C/SPI Protocol Analyzers instead of oscilloscopes. Looking at the specifications, I want to confirm how the Aardvark adapter works. Based on the article How Do I Set Up SDC or MMC Cards in SPI Mode to Verify Files were Successfully Programmed?, it looks like the Cheetah adapter would do a better job for me, at least for the verification part of the project. When it’s finalized, the verification process will be moved to the production floor, where speed matters.
This project does not require transferring files from an SD card or managing file systems. I need to handle block reads and writes of raw data. Here are my questions:
SPI clock pauses are acceptable for this application. My questions are based on the following SD card specifications:
Thanks for your questions! Based on your project requirements and the SD Card specifications, your plan to use the Aardvark adapter for development and the Cheetah adapter for production should work.
The following sections describe how the Aardvark adapter and the Cheetah adapter transmit data.
The Aardvark adapter supports your requirements for development.
In summary:
The delay between each byte of data sent is due to the characteristics of the Aardvark adapter. For example, you can write two 8-bit bytes, AB CD, in the transaction log of Control Center Serial Software, and submit send: "assert SS, send AB CD, deassert SS". There will be gaps in the middle, but it is still a single transaction with slave select (SS) asserted at the beginning and de-asserted at the end – as specified in your requirements.
For more information, please refer to the Signaling Characteristics section in the Aardvark I2C/SPI Host Adapter User Manual.
The Cheetah adapter actively communicates on the bus, operates at high speeds up to 40+ MHz, can provide gapless shifting, and provides control over the timing of the data that is shifted out.
For creating SPI transactions, the Cheetah Software API differs from the Aardvark Software API, and may provide more benefits for production. For information about the advantages of the Cheetah Software API, please refer to our article about Using Cheetah to Send Multiple SPI Packets with One Transfer.
We hope this answers your questions. Additional resources that you may find helpful include the following:
If you want more information, feel free to contact us with your questions, or request a demo that applies to your application.