0

I need your experience about the power of raspberry pi 3. I need to know Raspberry Pi is powerful enough for my problem or not.

I need to read stream data from Almost 200 sensors like (humidity, tachometer, temperature, voltage current, and axis) and do some pre processing on data, raspberry pi is it powerful enough for my problem? or I need to think about some thing else like FPGA? Edit: right now i am in theory state i am not sure what will be in future but please see that as complex one (different protocol for each sensor and use different port for read)

3 Axis Gyroscope Accelerator Sensor => SPI and I2C => x60

temperature and humidity => I2C => x30

Voltage current => it is analog need to convert to digital => x60-100

tachometer => SPI => at most 10

pr-processing like order analysis on values comes from tachometer or sprat actual current data and noises coming from 3 axis from model. some value need to save for short time and other need to send as stream to server

notice:

  1. estimate of sampling data from each sensor is about 200khz
  2. sensors are connected to multiplexer(as you know we have limitation in entry port so we need to control sensor by multiplexer)
asked Jul 21, 2017 at 15:55
2
  • 3
    Could you edit your question to include details of the estimated throughput on each of the communication channels you plan to use (e.g. SPI, I2C, GPIO, serial etc.). Commented Jul 21, 2017 at 17:46
  • Are your sure you need sampling at 200 kHz for all the sensors, or at all? Commented Feb 6, 2019 at 12:59

1 Answer 1

1

No chance .. 200 sensors at 200kHz each is 40 million samples per second.

With a 1.2GHz clock, that's 30 clock cycles per sample .. no way can the Pi 'input' anything in 30 clk cycles (which is just enough time for half a dozen instructions) :-)

Even if te Pi managed to actually read the data, what's it going to do with it ?

The SDHC port is limited to about 20Mb/s and last I checked, at 100% CPU loaidng, the Pi can manage about 30Mb/s through the USB port ... so even if the sensor data is only 1 byte per sample, there's nowhere for it to go (and no Pi CPU cycles left over to compress it in any way).

My 'best guess', is that using a mix of Assembler and optimised C coding and maybe some hardware between the sensors and the Pi (to pipe-line the samples when the Pi operating system is too busy responding to interrupts to check for new samples) you might manage something approaching 1 million samples / sec. without too many dropped samples ...

answered Jul 26, 2017 at 19:20
2
  • You've got 4 cores, so that will buy you a factor of a few on the processing. Still won't get to 40 million samples per second though, assuming that the rest of your argument is correct. Commented Jul 26, 2017 at 19:52
  • Thanks for your replay do you have any suggestion for hardware? Commented Jul 26, 2017 at 23:21

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.