Regarding the Eight 24-Bit Analog Inputs DAQ 8-Layer Stackable HAT
I want to read all 8 channels simultaneously at 2kHz sample rate, for say 2 seconds then write to file. Does this mean I need to pole each channel individually using get_u_in(channel), or is there a different method to do this?
Reading one channel at a time Ive reached a bottleneck where I can only acquire 8 channels at around 330Hz at the default i2C baud rate, what options do I have to solve this?
Ive found the lower level command to read all 8 channels at once so getting there and achieved better sampling rates. Having a play with this. Im thinking though that polling through the I2C is not really giving me an accurate sample rate?
I've now just added an extra 2 hats (so now 3 in total) and saw no LEDS on the top 2 HATS when I applied power to the bottom hat as before, so I simply moved the 16VDC up to the top hat to see if this would power the stack, nothing lit up when I switched on the PSU and smoke came out of the HAT!
One method to read more samples is to increase the Raspberry Pi I2C speed.
Depending on the version, you can not power the HAT at 16V. Could you read the version on each card?
Hi Alex,
Just a quick sanity check, I want to read up to 48 channels 'simultaneously' at 2000Hz, 2 seconds duration. I see the 'example.sh' only arms a single channel for capture.
Is there a way to achieve this simultaneously across multiple channels? (I understand there is one ADC per board).
As mentioned, the FIFO mechanism is working only for one channel and a maximum of 65000 samples.
Hi Alex,
Is getting it working for all the channels something you might impliment in the future ? I notice the ADS131 allows for simultaneous sampling...
Hi,
I consider it, but the problem is that we can't store more than 8k samples across all channels.
My spec for triggered burst mode if you consider it:
Stack of 7 hats for 56 channels, each channel max 8000 samples (typically 2000Hz for 2 seconds is ok).
Ability to flag which channels saturated during a reading (the chip supports this I think).
About 5 seconds after end of reading for data download and set up for the next trigger event.
Every hat is triggered simultaneously - no time lags.
I don't understand what you mean by "flagging the saturated channel"; you can see this by the data you read, and it's better if you set the gain so that this will not happen (if by saturation you mean reaching the ADC full scale).
We are a little behind schedule with a few projects, but we will consider it.
Yes, by saturated I mean reaching the ADC full scale.
In the ADC spec sheet there is a function which flags if a channel is overdriven/saturated. So it would be nice to utilise this.
This is a common issue for me as I'm mixing refraction analysis which doesnt care if the signal is saturated, but requires high impulse and/or high gain to 'see' the leading low amplitude refraction event, and MASW which doesnt require a high impulse or high gain but requires frequency analysis and unsaturated signals. So its a balance and I want to automatically flag saturated channels, not just guess if they are saturated by looking at them.
Looking forwards to hearing back if you can consider this development. Ive tested the single channel burst capture on a couple of different sensors and it looks ok.
As I said, we are a little crowded here, and we will look into it when we can. This is not an implementation promise but an evaluation one.
I still don't get why we should struggle to read the overflow flags when we already have the data, but it will be part of the evaluation.
Alex.