This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: ADS1292R
I've continued Laura Cupic's work on interfacing ADS1292R with TM4C123GH6PZ microcontroller:
I've succesfully interface microcontroller with ADS1292R, but the problem occurs when the Data Rate is changed comparing from 125SPS to 8kSPS.
ADS1292R register values:
CONFIG2 -> 0xA0 (reference buffer enabled)
LOFF -> 0x10 (lead-off disabled)
CH1SET -> 0x60 (CH1 enabled, gain 12)
CH2SET -> 0x60 (CH2 enabled, gain 12)
RLDSENS -> 0x2F (chop freq=fmod/16, RLD enabled, RLD inputs from CH1 and CH2)
LOFFSENS-> 0x00 (default)
RESP1 -> 0xEA (resp mod/demod enabled, phase 112.5, internal clock)
RESP2 -> 0x03 (32kHz freq, internal reference voltage)
Signal acquisition: simulator -> ADS1292R -> TM4C123GH6PZ (SPI, SCLK = 1MHz ) -> Laptop (UART, Baud Rate=115200)
Respiration signal and ECG are acquired from simulator (LA, RA, LL and RL), Respiration rate is set to 15 per minute (0.25 Hz), so for the Data Rate of 125SPS, 1000 samples equals to 2 periods of respiration signal as shown on the image. Math is correct for 250SPS (2000 samples), 500SPS (4000 samples) but higher than that number of samples sticks to around 4200 for any higher data rate. Same is for CH2 (ECG).
1) Why is number of samples locked for frequencies higher than 500SPS?
2) Why higher frequencies have more noise?
Alex SmithApplications Engineer | Precision Delta-Sigma Converters
Check out our helpful resources:TI Precision Data Converters | TI Precision Labs - ADCs | Analog Engineer's Calculator | Data Converters Learning Center | Selection Guide
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Alexander Smith:
Thank you for the quick response and welcoming me to the forums.
1) I've wrongly expressed what the actual problem was. In the graphs on attached picture, I've cut manually number of samples to show exactly 2 periods od respiration signal. I'm able to get more samples if I transfer data for longer period of time. For example samples used for the attached picture were cut down from data around 15 seconds long. This is plotted data for 125SPS data rate I have recorded from respiration simulator for around 15 sec from where I've cut manually 2 periods for the picture in prevous post:
Problem is with data rates higher than 500SPS.
Variables 'file1' to 'file7' are from workspace in Matlab derived from function dlmread that reads data from .txt files. 'file1' is for 125SPS, 'file2' for 250SPS, etc. For every data rate, data is recored around 15 sec, so the number of rows in the variables 'file' that represents number of samples has to double if the data rate is doubled.
15s/8ms = 1875 samples for 125SPS, 15s/4ms=3750 samples for 250SPS, etc.
That is true for data rates 125, 250 and 500SPS. But for higher data rates, for example 2kSPS: 15s/1ms=15000 samples and I get 7764 samples. It seems that max data rate I can get from device is around 516SPS according to number of recorded samples.
2) Thank you for pointing me to Table 4. The number of compromised bits seems to increase as the higher data rate is chosen no matter to problem 1).
I hope I've clarified what the actual problem is.
In reply to Tin Cvox:
I'm also suspecting that it is data storage problem.
1)I'm using RDATAC mode
These are my main.c and ADS1292R.c
For data transmission I'm using UART2 pins on TM4C123GH6PZ connected to UART-USB bridge and for writing to .txt file Putty configured for 115200 baud rate.
Could you verify if my code is causing this problem?
I found the problem, it was UART baud rate. I've increased it to 921600 bps and managed to get 10000 samples (recording for 10 sec) at data rate of 1kSPS. The datasheet of UART to USB Brdige states that the max baud rate is 921200 bps. I tried higher data rates and the new problem occurs. For example at data rate of 2kSPS first 6 seconds I'm getting the correct data:
And after 6 seconds I'm getting this:
Next I'll try recording data to flash memory and then transfering it through UART to PC.
As of calibration, I was testing it and didn't correct the comments.
Thanks for your advices.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.