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.

About ADS1293 questions...

Other Parts Discussed in Thread: ADS1293

Dears,

My customer use ADS1293 to design their ECG product and there are some questions while studying and designing. Below are the summary.

1. About the SPI protocol, what is the different between Motorola mode and TI mode?

2. When reading data from the ADS1293, the data should be send by ADS1293 on the falling edge of the clock and the data should be read by MCU on the raising edge of the clock. Is it right?

3. May I know the detail description about ALARMB signal? 

(Example: In this case, ERROR_RANGE1 bit1 is equal to 1 forever.
ERROR_RANGE1 bit1=1 -> ERROR_STATUS bit4=1 -> ALARMB -> read ERROR_STATUS ->
ERROR_RANGE1 bit1=1 and bit2=1 -> ERROR_STATUS?/ ALARMB?)

4. How about the lead off check function? It seems they are not independently for each input. I found if certain channel lead unattached, all lead off check indicator will be set? Am I right?

5. I found the alarm will happen while in below 2 situation.

     a. after power on and ADS1293 initital (CONFIG register = 0x00), the initial codde is "ADS1293 Setting20160907.txt" as attached.

     b. after a, use HW Reset ADS1293 and execute initial code again

The Error information as below:

ERROR_LOD_REG(0x18) = 0x00
ERROR_STATUS_REG(0x19) = 0x70
ERROR_RANGE1_REG(0x1A) = 0x01
ERROR_RANGE2_REG(0x1B) = 0x21
ERROR_RANGE3_REG(0x1C) = 0x21
ERROR_SYNC_REG(0x1D) = 0x00
ERROR_MISC_REG(0x1E) = 0x00

Please help to check the attached initial code and give me some advise if there is anything wrong.

.ADS1293 Setting20160907.txtD:\ADS1293 Setting20160907.txt$c:\Temp\ADS1293 Setting20160907.txt�                               TI_ADS1293_FLEX_CH1_CN_REG, 0x11,  //0x01
							   TI_ADS1293_FLEX_CH2_CN_REG, 0x19,
							   TI_ADS1293_FLEX_CH3_CN_REG, 0x2E,
							   TI_ADS1293_FLEX_PACE_CN_REG, 0x00,
							   TI_ADS1293_FLEX_VBAT_CN_REG, 0x00,
							   TI_ADS1293_LOD_CN_REG, 0x08,
							   TI_ADS1293_LOD_EN_REG, 0x1F,
							   TI_ADS1293_LOD_CURRENT_REG, 0xFF,
							   TI_ADS1293_LOD_AC_CN_REG, 0x00,
							   TI_ADS1293_CMDET_EN_REG, 0x07,
							   TI_ADS1293_CMDET_CN_REG, 0x00,
							   TI_ADS1293_RLD_CN_REG, 0x04,
							   TI_ADS1293_WILSON_EN1_REG, 0x01,
							   TI_ADS1293_WILSON_EN2_REG, 0x02,
							   TI_ADS1293_WILSON_EN3_REG, 0x03,
							   TI_ADS1293_WILSON_CN_REG, 0x01,
							   TI_ADS1293_REF_CN_REG, 0x00,  //0x11
							   TI_ADS1293_AFE_RES_REG, 0x00,  //0x13
							   TI_ADS1293_AFE_SHDN_CN_REG, 0x00,
							   TI_ADS1293_AFE_FAULT_CN_REG, 0x07,  //0x15
							   TI_ADS1293_RESERVED_REG, 0x00,
							   TI_ADS1293_AFE_PACE_CN_REG, 0x01,  //0x17
                               TI_ADS1293_DIGO_STRENGTH_REG, 0x03,  //0x1F
                               TI_ADS1293_R2_RATE_REG, 0x04,  //0x21
							   TI_ADS1293_R3_RATE1_REG, 0x01,
							   TI_ADS1293_R3_RATE2_REG, 0x01,
							   TI_ADS1293_R3_RATE3_REG, 0x01,
							   TI_ADS1293_R1_RATE_REG, 0x00,
							   TI_ADS1293_DIS_EFILTER_REG, 0x00,
							   TI_ADS1293_DRDYB_SRC_REG, 0x08,
							   TI_ADS1293_SYNCB_CN_REG, 0x40,
							   TI_ADS1293_MASK_DRDYB_REG, 0x00,
							   TI_ADS1293_MASK_ERR_REG, 0x00,  //0x2A
							   TI_ADS1293_ALARM_FILTER_REG, 0x33,  //0x2E
							   TI_ADS1293_CH_CNFG_REG, 0x71,  //0x2F
                      

6.  about the question 5, if I clear the alarm after ADS1293 initialize then keep monitoring. If still have alarm, that means there must have something worng with it. Is this reasonable way to do?

7. Customer use 3 lead mode for testing. With ADS1293 EVM, while source is signal emulator, the ECG signal will be perfect; but while source is from human body, the signal will poor. Same configuration with customer board, we even cannot get valid signal from human body. What should I pay attention for such testing? 

Please help to input comments about these questions.

Thanks.

  • Hello Peter,

    1. They should be basically the same. As long as you follow the timing specs it should work fine.
    2. The datasheet says: All output data is driven on the falling edge of the serial clock (SCLK), and for the 16-bit protocol, SDO read data is driven on the falling edge of clocks 8 through 15. The micro should read the data on the rising edge of the clock.
    3. Yes, an error in ERROR_RANGE will cause ERROR_STATUS which will trigger ALARMB.
    4. The ERROR_LOD register should show which pin has the error.
    5. Have them use the ADS1293 software available on the website. Set up the part in the software as they wish to use it. Then read the register setup from the software and use those values in their code.
    6. I do not see a way to clear the alarm. I think it will stay active as long as there is an error. Once all errors are fixed the alarm will clear.
    7. They are using all three leads, including RL? They need to use electrodes that are wet, they should not use dry electrodes.

    Mike