Hi!
My plan is to monitor a AVR based heater control system using Arduino. The controller has a SD card slot and live data is written to the SD card every 5 seconds. I've soldered wires on the data, clock and chip select pins and now I'm trying to capture the data written using an Arduino in slave mode. The signal looks like this:
Clock signal from SD card
Data signal from SD card
(from pratical reasons I've only used one channel on the oscilloscope)
As you can see the signals are just below 3V. I've tried to feed them directly to the 5V Arduino and some data is recieved but the data loss is significant and the data is more or less garbage - about 1% of the data is ok.
I've tried to adjust the 3V signals to 5V using a 7400 NAND connected as a buffer, but when I connect the data and clock lines to one of the NAND inputs the signal changes:
Clock signal when connected to NAND input, 7400 powered with 5V:
Data signal when connected to NAND input, 7400 powered with 5V:
It seems like if the SPI clock and data lines are not strong enough to drive a NAND input? Or is there another reason to why the signal does not drop to ground level? As far as I can understand the circuit is properly grounded and signal wires are very short, max 10 cm. Any suggestions on how to build a simple level shifter from 3.3V to 5V? Maybe a pull-up / pull-down resitor and/or some capacitors are enough to adjust the signal and I can still use the 7400 as level shifter?
I would be thankful for any help on solving this issue!
Regards,
Torgil