FAT/FAT16 tables – finding the data

Having successfully found the root directory on our sd card, we now need to start actually reading the data back from it. This is the last little link in a chain of initialise the sd card find the lba (logical block address) by reading sector zero read the mbr (master...

How SPI works with an SD card

SD cards have two main operating modes.Their default mode is high-speed through 4-bit wide port but we’re going to be working with the “legacy” SPI (two-wire) mode. In SPI mode, the master device (our microcontroller) talks to the slave device (the...

Talking to an SD card from a PIC 16F1825 microcontroller

Following on from our earlier post, we’re continuing with our create-an-audio-module project which reads wav file data from an SD card and plays it through a speaker. So far, we’ve written the basic framework, using Sourceboost C so now it’s time to...

A short interruption for a demo

Here’s a quick movie showing our final audio player actually being used in a final product.The PIC has been programmed to read a value from eeprom, increase it by one, rollover back to zero once a certain value is reached, and use this value to decide which...

SD card clock edge problems?

There’s something still not right with our SD card initialisation routines.We’ve suspected for a while that there’s something going on with the clock edge for reading/writing responses to/from the SD card. Our logic probe appears to be displaying...