SDFat and SPI/SoftSPI

Hi all,

I've made a 24x15 LED matrix, which uses the TLC5940 libs, which use the SPI pins, as I understand they are faster than the other ones?

So I was originally coding patterns to display, but have now written some code to play back "video" from an SD card. I've hooked up the SD shield to the SPI pins, and am able to read data, and have also switched to SoftSPI, (using random pins), and that works too. Great.

So, I have 2 questions:

If I use SoftSPI, My SD shield is a tiny little 6 pin gadget. Two of the pins are 5V+ and GND. It would be convenient to just use up an unused stretch of Arduino header real estate. Could I get the effect of 5V+ and GND by setting the digital pins that they go into, HIGH and LOW? Or must I wire from the official 5V+ and GND to those pins?

SoftSPI is perhaps a bit slower than ideal, but I haven't understood any of the SPI tutorials. It seems like I can share the SPI pins by using a cable select feature... but that's as far as I got. Will this be faster than SoftSPI? And if so, how is it done?

At the moment, (on a Mega board), my LED display uses pins 51 (MOSI) and 52 (SCK). The SD shield has MOSI, MISO, SCK and SS.

So what do I have to do, other than connect the SD to 50, 51, 52 and 53?

Thanks in advance!

SD cards can require 200mA+ for power; you can't supply that from an IO pin. Connect to real power & gnd.
SPI is the fastest serial transfer type there is, 8 Mbits/second, nearly 1 Mbyte/second.
Anything else is slower. It gets that speed by using special hardware. A byte is clocked into a register, then transferred out with that special hardware.
SoftSPI works by using the IO ports under sofware control:
set the output High or Low for the current bit to transfer
set the clock high
clear the clock low
repeat for next bit.