Other Parts Discussed in Thread: ADS1198,
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.
May I ask how do you verify you can "I am successfully able to read and write on ADS1198 registers."?
Are you able to read the device ID? i.e. ID: ID Control Register (Factory-Programmed, Read-Only) Address = 00h
Then, please refer and double check the following register in datasheet page 42-
CONFIG2: Configuration Register 2 Address = 02h
Which Channel are you trying to set to read the test signal?
Suggest to stay with 1 channel first and refer to datasheet page 45 -
CHnSET: Individual Channel Settings (n = 1:8) Address = 05h to 0Ch
CHnSET[2:0] = 101 and try different gain settings.
Do you have/use the ADS1198 evaluation kit/board(EVM)? Have you tried this with the EVM and note down the correct registers settings?
Hi, ChienChun Yang ,
Yes ,I am able to read the device ID and all the 26 registers value and also able to write in the registers except the read only registers. But, when I configured the registers according to page number 66 in the datasheet of ADS1198.... I did not get any square wave (or Test Signal).
I get Device ID : 0xB6
and, the setting that I have done for internal Test Signal (Square wave) is:
" Note: I am using ESP32 WROOM board as a mother board instead of MMB0 board. "
Yes, understood. So, before your connect the EVM board to your MCU board, Have you tried the test signals with the EVM and note down the correct registers settings?
Which channel do you not observe the test signal? 1 channel or all channels?
Did you try different gain settings as mentioned earlier?
How are the Channel(s) input pins connected externally? Please make sure there are no short to GND or inter/intra connect to each other?
What is your voltage reference? Do you use internal or external reference voltage? And, VREFP – VREFN?
What is the clock or oscillator source you use for the ADS1198 main CLK? Do you use internal or external clock(oscillator)? Can you try toggle between 0 and 1 for Bit 2 of CONFIG2(Address 02h)? Also, try different frequencies for Bits[1:0].
When you say Test Signal not coming? How and What was the method you see or visualize?
If all above not help to see the test signals, I may need your help to probe SPI signals lines in next steps.
1. As per my observation, the test signal does not come on all channels.
2. No, I did not try different gain settings. I just tried the value of GAIN = 6.
3. All channels are isolated from one another.
4. I set up the ADS1198ECGFE-PDK board in unipolar mode with a 3.3 volt external voltage. (VREFP = 2.4 volts according to Bit 5 of the CONFIG 3 register setting)
5. I used the internal clock.
6. The method I use to plot a graph is the Arduino Serial Monitor. Basically, I'm just serializing all of the 8-channel data after converting it to 16-bits in CSV format.
7. Now, I am going to try to work on your suggestions. I will tell you the latest report on that.
Thanks for your help. Now, Test signal coming without noise and also able to get ECG data from ECG-simulator. But now whenever I am trying to increase sample-rate by changing CONFIG1 register value to "0x04", I am not getting proper signal, and I don't know why.
ADS1198 Settings for Channel reading:
could you show the difference of the results between setting CONFIG1 Bits[2:0] to
110 fMOD/1024 125SPS
100 (default) fMOD/256 500SPS
Is your fCLK = 2.048MHz?
Do you use your own MCU? Does your MCU program also adapt the data rate change?
Could you try the internal test signal again or inject some known signals/voltage?
I configured fCLK = 2.048 MHz and using own MCU ESP32. I am sharing the result of internal test signal with you. So, you can understand the problem that I am getting. In the below picture Sample rate = 500 SPS:
Note: CONFIG1 = 0x04 and other setting are the same that I shared earlier.
Result: At 500 SPS (with internal test signal)
Result: At 125 SPS (with internal test signal) (CONFIG1 = 0x06 and other setting are the same that I shared earlier.)
Thanks for the pictures.
Have you tried different data rate? or does this only occur when the data rate is set to 100 (default) fMOD/256 500SPS?
Does your MCU program e.g. timing and/or data array and/or memory allocating also adapt the data rate change?
I suggest to probe the SPI signals lines and do side by side comparison between the two different data rates to see whether there are any glitches or jittering occurs along the SPI signals lines.
And please make sure the SPI signals match the timing constraints in the datasheet.