I configured my ADAS1000 according to Example 4 in datasheet (activated bit to send header only when data is busy).I have no skipped frames nor any faults exist in HEADER register.

As a first question, I would like to kindly ask you if you could help me resolve the fact why do I have such a deformed amplitude (enclosed snapshot) of 150Hz  sinusoidal frequency (it applies to all 3 lead words). The problem is not in the process of deriving the voltage value as the raw ECGData value is also fluctuating in the same fashion.

Moreover, would you be so kind and explain me why the offset is shifted to 1.3V in TESTTONE measurement? From datasheet, I see that min value of GAIN0 is 0V and maximum is 2.3V, but typical is 1.3V. Does that mean that the signal I am measuring must be shifted to offset somewhere between 0-2.3V or this is done automatically? I know that in Example 4, we have the SINGLE ENDED INPUT set up, therefore (if I understand it correctly) we have 150Hz sinusoidal frequency with 1mV amplitude connected to + sign of the differential amplifier and 1.3V to - sign branch of the differential amplifier therefore I would expect that these two signals are subtracted and it should be fluctuating around -1.3V not 1.3V

I somehow guessed that in this ELECTRODE mode, values could be only positive but I do not understand how we managed to get 1.3V with differential amplifier with 1.3V on - and 1mV on +, I can get only values between:

Minimum value (000...) = 0 V
Maximum value (1111....) = 2 × VREF/GAIN
LSB = (2 × VREF/GAIN)/(2 N – 1)
ECG (voltage) = ECG Data × (2 × VREF/GAIN)/(2 N – 1)

Therefore it must be possitive, but how and why?

But I do not understand how the differential amplifier works this way, should I undestand it as not a differential amplifier but a summation of VCM signal (like WCT) creating a sort of a virtual lead and the sinusoidal signal is superimposed to VCM signal, expecting maximum voltage of 1.301V? This also relates to my second question.

My second question is the fact that I do not understand why my signal is fluctuating around 1.26V randing from 1.262V to 1.264V which is moreover exceeding the expected amplitude peak-to-peak 1mV, in ideal case I would expect it to be varying between 1.301V to 1.300V or 1.300V to 1,299V. I have enclosed snapshot.

Thank you very much and wish you all the best to new year!

Ivo

correction
[edited by: Ivo Hora at 11:45 AM (GMT -5) on 31 Dec 2020]
Parents
• Hi, apologies for the delay answering this post.

The gain is not 0V (min) and 2.3V (max). That range is the valid single-end input voltage range for an electrode when GAIN0 is used (GAIN0=1.4V/V)

The four available gain settings are
GAIN0: x1.4 V/V
GAIN1: x2.1 V/V
GAIN2: x2.8 V/V
GAIN3: x4.2 V/V

The associated maximum differential input voltage is
+-1.00V at GAIN0 (the electrodes´ voltage can be anywhere between 0.30V and 2.30V)
+-0.67V at GAIN1 (the electrodes´ voltage can be anywhere between 0.63V and 1.97V)
+-0.50V at GAIN2 (the electrodes´ voltage can be anywhere between 0.80V and 1.80V)
+-0.30V at GAIN3 (the electrodes´ voltage can be anywhere between 0.97V and 1.63V)

The input signal must be centered at 1.3V. In a real application with a RLD electrode, the RLD amplifier takes care of biasing the body close to 1.3V. In a lab test, the incoming signals must be centered at 1.3V. The ground of your signal generator must be connected to the ADA1000´s ground . Set the function generator to drive a) a high impedance load (Zout=High but not 50 Ohm) b) DC offset=1.3V and c) whatever AC signal you want to drive

Your assumption is correct. The positive input is the ECG signal and the (internal) negative input is DC voltage equal to 1.3V. At GAIN0 the positive input can range between 0.3V and 2.3V (1.3V +- 1.0V) . The common mode of both signals is subtracted, the difference amplified and centered again at 1.3V for the ADC to make use of its full range .

1) a 0V differential input (1.3V at IN+) will be digitized as half scale (b10….00),

2) a differential voltage of -1V (VIN+=0.3V) will be digitized as zeroscale (b00…00)

3) a differential voltage of +1V (VIN+=2.3V) will be digitized as fullscale (b11…11)

I hope this clarifies your questions but let us know otherwise

Best regards

Roberto

• Dear sir, I am revising my knowledge and I ended up realizing I am compete idiot. Would you mind explaning me this once more?:

1) a 0V differential input (1.3V at IN+) will be digitized as half scale (b10….00),

2) a differential voltage of -1V (VIN+=0.3V) will be digitized as zeroscale (b00…00)

3) a differential voltage of +1V (VIN+=2.3V) will be digitized as fullscale (b11…11)

If I take into account I am following the example 4 that means we have DATAFMT(FRMCT) bit set to 1, CHCONFIG(ECGCTL) set to 0 and CE(CMREFCTL) 0, that means disabled. All in all we have SINGLE-ENDED INPUTELECTRODE mode, so we will use ELECTRODE format to convert our ADC values to voltage values. But how did you convert 0V differential input to half scale (b10..00) and there thre remaining ones  as well?

If we calculate for Electrode mode and analog lead mode:
Minimum value (000...) = 0 V
Maximum value (1111....) = 2 × VREF/GAIN
LSB = (2 × VREF/GAIN)/(2 N – 1)
ECG (voltage) = ECG Data × (2 × VREF/GAIN)/(2 N – 1)

If we consider GAIN0 = 1.4, VREF = 1.8 and we place the maximum value that means 2^24 - 1, we get  ECG(voltage) = 2*VREF/GAIN and the result is 2.571428571V?

If we consider GAIN0 = 1.4, VREF = 1.8 and we place the half scale value that means 2^23, we get  ECG(voltage) = 2*VREF/GAIN * (2^23)/ (2^24-1) and the result is 1.285714362V?

If we consider GAIN0 = 1.4, VREF = 1.8 and we place the zero scale value that means 0 we get 0?

Would you be so kind and explain me once more how to get proper values for your range?

Thank you

• Dear sir, I am revising my knowledge and I ended up realizing I am compete idiot. Would you mind explaning me this once more?:

1) a 0V differential input (1.3V at IN+) will be digitized as half scale (b10….00),

2) a differential voltage of -1V (VIN+=0.3V) will be digitized as zeroscale (b00…00)

3) a differential voltage of +1V (VIN+=2.3V) will be digitized as fullscale (b11…11)

If I take into account I am following the example 4 that means we have DATAFMT(FRMCT) bit set to 1, CHCONFIG(ECGCTL) set to 0 and CE(CMREFCTL) 0, that means disabled. All in all we have SINGLE-ENDED INPUTELECTRODE mode, so we will use ELECTRODE format to convert our ADC values to voltage values. But how did you convert 0V differential input to half scale (b10..00) and there thre remaining ones  as well?

If we calculate for Electrode mode and analog lead mode:
Minimum value (000...) = 0 V
Maximum value (1111....) = 2 × VREF/GAIN
LSB = (2 × VREF/GAIN)/(2 N – 1)
ECG (voltage) = ECG Data × (2 × VREF/GAIN)/(2 N – 1)

If we consider GAIN0 = 1.4, VREF = 1.8 and we place the maximum value that means 2^24 - 1, we get  ECG(voltage) = 2*VREF/GAIN and the result is 2.571428571V?

If we consider GAIN0 = 1.4, VREF = 1.8 and we place the half scale value that means 2^23, we get  ECG(voltage) = 2*VREF/GAIN * (2^23)/ (2^24-1) and the result is 1.285714362V?

If we consider GAIN0 = 1.4, VREF = 1.8 and we place the zero scale value that means 0 we get 0?

Would you be so kind and explain me once more how to get proper values for your range?

Thank you

Children
• Hello, I think I got it. By this statement:

3) a differential voltage of +1V (VIN+=2.3V) will be digitized as fullscale (b11…11)

Not directly the value 1V will be fullscale of the ADC, but the amplified differential voltage 1V which goes through the differential amplifier that means it will be amplified and that amplified values goes to ADC (I guess for GAIN0 it is 2.571428571V) and that is the maximum value which can enter the ADC, differential values above 1V (VIN+=2.3V) will be discarded as it's amplified counterpart is above the ADC limit (for GAIN0, the limit value is 2.571428571V).

Am I right?