After stepping away from this for a few days, I decided to try Voltage Dividers to get the signal voltages for MOSI and the SPI clock down to the 3.3V range. My gut feeling was that the Sparkfun Logic Level board was outputting too low of voltages for the SCA3000.
I then took a look at the SCA3000 Datasheet, not the Manual, to discover the SCA3000 really prefers to operate at 2.5V, not 3.3V. If using 3.3V as with Sparkfun’s SCA3000 Breakout, it appears as if the I/O voltages should be within ~10% of the 3.3V.
Below is my attempt to get the I/O voltages correct so the devices can communicate. If you notice any gross errors or if you have suggestions to reduce the required operating power, please let me know. :roll:
I am now getting continuous output values instead of 0’s. I now have to work through the register shifts that Michastro suggested. Thank you Michastro!
Arduino Duemilanove (5V) SCA3000 Breakout (3.3V)
------------------------ ------------------------- -----------------------
Pin 10 (SS or CS) --> Diode (NTE110, ~1.5k/40kohm), CSB
10kohm to 3.3V *
Pin 11 (MOSI) --> Voltage divider - 20kohm, MOSI
66kohm to Ground **
Pin 12 (MISO) <-- Used Sparkfun Logic Level MISO
converter, BOB-08745, to
boost voltage via TX circuit
Pin 13 (SPI clock) --> Voltage divider - 33kohm, SCK
66kohm to Ground
3.3V VIN
* A voltage divider using a 1k & 10kohm (to 3.3V) resistor did not work since the CSB on the SCA3000 is normally high at 3.256V. I used NTE Electronics diode #NTE110 since I was able to buy it locally.
** This voltage divider was adjusted from 33kohm and 66kohm since the MOSI pin on the SCA3000 breakout had ~143k ohm resistance to ground, so I had to adjust the divider. I chose these high resistances since the SCA3000 only needs 10 - 50 micro-amps per logic circuit.