Go Down

Topic: I2C to SPI (Read 1 time) previous topic - next topic

Gibson486

Any ever use those I2C to SPI bridges? I have an a multiplying DAC (8bits)...actually 5 of them, but none of them seem to come in I2C only in SPI. I can use another arduino and have it convert it. If I do this, do I need to wrote code, or will the hardware do it for me? Would the the code be easy? The best thing about the arduino is that one chip can do all 5 instead of one chip each or 2 chips to service 5. The other option is to use a NXP SC18IS602. My worry with this is that the NXP device uses a 3.3V supply. I think my other I2C signals are 5V to 0. Will the 3.3V have the same logic high threshold as the 5V? With this option I will need two chips or simply have one chip for each DAC.

The other thing I found was this...

http://www.latticesemi.com/documents/rd1094.pdf and I found something from Cypress also.

I am confused though....are those just a out of the box solutions? Or do they require additional programming?

What i am looking for is the easiest solution that will have the least amount of bugs.

Thanks!

dhenry

Quote
What i am looking for is the easiest solution that will have the least amount of bugs.


That means you deal with the spi devices directly, without a bridge.

Far-seeker


Quote
What i am looking for is the easiest solution that will have the least amount of bugs.


That means you deal with the spi devices directly, without a bridge.


To expand on what dhenry posted...  The Arduino can interface with multiple SPI devices.  It will require 3+n (where n is the number of SPI devices), so in your case it would be 8 pins.  Further information on how to use the built-in SPI library is here.

KeithRB

You could use a 3-8 bit decoder and expand that to 8 devices with 3 SS pins.

Gibson486

i have no more space for additional pins for the select pins....

kg4wsv

I think we're about due for a schematic here.  We don't know if we should be pointing out that you can use analog inputs as digital outputs, or point out you're using some oddball Maxim SPI devices that can be daisychained, or something else we can't spot because we don't know what you're doing.

One possible solution is to use an I2C I/O expander to drive the select lines of the SPI peripherals.

-j

CrossRoads

Or just use a board with 10 more IO pins.
Bare boards available for $5 mailed to US locations.
Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.

Go Up