Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Advice about a board for the aquisition and the elaboration of signals

Status
Not open for further replies.

NIKI90

Newbie level 1
Newbie level 1
Joined
Dec 12, 2014
Messages
0
Helped
0
Reputation
0
Reaction score
0
Trophy points
0
Activity points
16
Hi, I’m Nicola! Good morning to everyone!!

I have to design a board to acquire analog signals continuously (6 ch, resolution min 14bit, sample rate 20KSps for channel, input range:+- 5V). The acquired data must be store in a memory. It should preferably be an SD card.
After that the signal must be elaborated, that is to say signal processing such as FFT, IFFT, convolution…
All the operation must be do on the board!!!!
My idea is use the following architecture:
-A/D module
- DSP / DSC
- SD card
I think about SPI or I2C to interface the devices.
I would ask you some advice about the most appropriate architecture, the best brand for the device and if it is possible an example of the device.
Ask to more information.
Thanks for your attention.
 

I would not bet my life on this but I thinks that:
SPI: capable of greater speed as well as full-duplex(read and write at the same time)
whereas I2C: lower speed, halv-duplex(first read then write then read etc etc).
Although I2C simplifies tings by allowing to used addresses instead of CC/SS signal to enable SPI device.
SPI seems to be more versatile and possibly higher performans... anyone?
 
  • Like
Reactions: NIKI90

    NIKI90

    Points: 2
    Helpful Answer Positive Rating
Which is the more appropriate brand for this aim?
Thanks for yours time.
 

I have seen many SD breakout boards that connects through SPI but I have never seen one with I2C, I2C seems more complex to set up if you don't use a mcu with inbuilt support/library.
If you would compare the two using a arduino the I2C is simpler, just include the Wire library and its not much more difficult than that. But SPI is not just to connect 4(or more. It depends) wires and go, you have to configure the communications with few parameters, its not hard at all but it is more to do than I2C.
I2C standard speed is 400kHz, while SPI is 1-4MHz.
Using I2C each slave has a address, communication begins with the master sending out the address. Then the slave who's address was called starts listening and all others goes deff, then the communication works as:
Master sends one byte(address), slave send an acknowledgment, master sends more commands, slave sends acknowledgment or if the slave has been directed to send data it does that.

While SPI uses a clock signal and one line for transmit, one line for receive and one slave select line. Each slave needs its own slave select(SS) line, when the master wants to talk to a slave it pulls that slaves SS line low(its set high for idle, most often I think but it can vary)
when the slave notices the SS line going low the communication start, and on each clock cycle(ether on rising or falling edge, it depends on specific chip) both transmit and receive lines send data.

After writing this I would say that SPI is the one for you, my specs is quite different but I am currently working on the same thing. I have a arduino Due which I will build around before replacing it with a stand alone SAM3 or SAM4 mcu, I have had my eyes on a quad channel 16bit simultaneously sampling ADC(SPI) from TI. It can ether send the result from the 4 ADCs on one line or it can send the result of each channel on its own line, could you elaborate on the 6 channels?
Where or from what does the come?

- - - Updated - - -

from some site:
I2C requires only two wires, while SPI requires three or four.

SPI supports higher speed full-dulex communication while I2C is slower.

I2C draws more power than SPI.

I2C supports multiple devices on the same bus without additional select signal lines through in-communication device addressing while SPI requires additional signal lines to manage multiple devices on the same bus.

I2C ensures that data sent is received by the slave device while SPI does not verify that data is received correctly.

I2C can be locked up by one device that fails to release the communication bus.

SPI cannot transmit off the PCB while I2C can, albeit at low data transmission speeds.

I2C is cheaper to implement than the SPI communication protocol.

SPI only supports one master device on the bus while I2C supports multiple master devices.

I2C is less susceptible to noise than SPI.

SPI can only travel short distances and rarely off of the PCB while I2C can transmit data over much greater distances, although at low data rates.

The lack of a formal standard has resulted in several variations of the SPI protocol, variations which have been largely avoided with the I2C protocol.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top