I am using a Raspberry Pi 4B with 3 MCC 128 HATs. I have the HATs synced to capture 3 streams of data at the same time (with one board being the master and the clocks synced). I am capturing 4 kS/s per board in continuous mode. I am only using 1 differential channel per board.
The data capture itself is working correctly but the hurdle we are trying to overcome is getting the data from the HATs to the program on the Pi in a timely manner (using C). We have a requirement to receive and process the data within 5ms of capturing the data via the A/D converter.
My question is: Are the MCC 128 HATs capable of sending data to the pi fast enough? It seems that when polling the board for data while it is in continuous mode repeatedly leads to having 0 samples for up to 400 periods (25ms) then the poll returns 400 data points from the capture. We have gotten it down to 200 sample points returned but that is still not fast enough. Ideally we would like 1 or 2 sample points returned very shortly after they are taken and not the hundreds that get "saved up". Is there any way to reduce this and receive the data points closer to when they are taken?
Question
DavidH
Hello,
I am using a Raspberry Pi 4B with 3 MCC 128 HATs. I have the HATs synced to capture 3 streams of data at the same time (with one board being the master and the clocks synced). I am capturing 4 kS/s per board in continuous mode. I am only using 1 differential channel per board.
The data capture itself is working correctly but the hurdle we are trying to overcome is getting the data from the HATs to the program on the Pi in a timely manner (using C). We have a requirement to receive and process the data within 5ms of capturing the data via the A/D converter.
My question is: Are the MCC 128 HATs capable of sending data to the pi fast enough? It seems that when polling the board for data while it is in continuous mode repeatedly leads to having 0 samples for up to 400 periods (25ms) then the poll returns 400 data points from the capture. We have gotten it down to 200 sample points returned but that is still not fast enough. Ideally we would like 1 or 2 sample points returned very shortly after they are taken and not the hundreds that get "saved up". Is there any way to reduce this and receive the data points closer to when they are taken?
Thanks!
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now