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.

AFE4490 Data sheet errors and/or misunderstanding

Other Parts Discussed in Thread: AFE4490, AFE4400

Hello TI E2E community.

1. I have found a part of datasheet which probably contains an error (or it is not clearly written). It is related to Table 5. on page 60 (SBAS602D - MAY 2013).

1a. What is the difference between "000" and "010" setting? The last column has one word "pulse" in addition but what does it mean?

1b. What is the function of the "100" setting. Does it means - " LED1/2 Ambient SAMPLE clock " or " LED1/2 Ambient CONVERSION clock ".

2. There is a discrepancy in time diagrams on Figure 57. (page 27) and Figure 59. (on page 29). On the first one there are two ADC conversions per one repetition period, but on the second one, there are four ADC conversions per one repetition period. Can you explain more clearly the ADC sampling and conversion procedures.

3. According to the sample averaging mode - it's not clearly written how much averages can be fitted in one ADC cycle. It is related to Equation 3 (page 35). If PRF = 1250Hz we can fit exactly 4 averages/conversions by 50us each. But this means that the last ADC conversion from the current cycle will finish exactly at the moment when next ADC reset pulse appears. Is it possible that the last conversion is invalid in this case and the total averaging of this cycle is incorrect due to this fact?  If this is true - probably it's better to use 3 averages in this example (what it's drawn on Figure 66. in fact).

4. In Table 2. (on page 31), all timing cycles are strictly "glued" each to other. For example "End of LED2 pulse" has exactly the same timing like "End of LED 2 sample". I have played a bit with the development kit and I found that the default timings used there are passed  with 2 clocks difference. I suppose, this is done to escape from some noises during switching. If this is true - it must be written in the data sheet, also.

5. Is it possible to Read/Write more the one register in single SPISTE low cycle? Page 46/47 do not explain this clearly. For example is it valid to write two registers in the following procedure:

SPISTE->Low,   A7-A0, D23-D0, A7-A0, D23-D0, SPISTE->High.

6. Should I set SPI_READ bit before each read cycle? Or write it once is enough if the next operations are only readings? With other words - do i need a write procedure before each reading, or the SPI_READ bit keeps its state until it's changed by the user?

7. As I found in TI E2E discussion related to AFE4490, there are some registers which are write-only (CONTROL0 for example). IIt will be good to specify this in the data sheet for each of AFE4490 registers - is it Read, Read - Write or Write only.

8. And one "application specific" question. All examples on the demo board and in the data sheet, are designed to use relatively "long" LED ON pulses and relatively low Led current. But I thing in some applications it will be better to use shorter LED ON pulses (for example 100us or even 50us)  and higher currents (up to 200mA). This will reduce the impact of the ambient light noise. Right?

On page 23 is written that the minimum supported sample time is 50uS. Can I use 50uS LED ON and LED SAMPLE times in this case? If this is true, can I use longer conversion times (with a lot of averages), even of lower sampling time? For example can I work with the following timing settings:

PRF = 500Hz (PRT = 2ms), LED1/2 ON time = 50us, LED1/2 sample time = 50us, LED1/2 ambient sample time = 500us, All ADC convertions time = 500us, Averaging = 10.

See next picture:

It's a long list of questions, but this is a chip with complex functions, so normally there is a lot of misunderstandings. Anyway, i think the conception of this chip is really good. And I hope the real result  it will cover my expectations too.

Best Regards

Tsvetan Mudrov

  • Hello,

    Thanks for pointing out all the issues in the datasheet. We will make the necessary changes in the datasheet as soon as possible.

    I have provided my answers to your questions below:

    1. Below is the correct Table 5 - PD_ALM and LED_ALM Pin Settings.

    2. Figure 59 on page 29 provides a more accurate representation of the ADC sampling and conversions

    I have explained the ADC sampling and conversion procedure in the following E2E link:

    http://e2e.ti.com/support/applications/high_reliability/f/30/t/264402.aspx

    3. You are correct. For PRF=1250Hz, 4 averages are possible. But due to the 2 clock cycles for every ADC Reset pulse during each PRF, only 3 averages are feasible. We will make the modifications to the datasheet to reflect this.

    4. The datasheet will be modified to reflect the timing on the EVM.

    5. I will check and let you know if it is possible to read/write to more than 1 register during a single SPI access.

    6. SPI_READ bit need not be set for each read access. The SPI_READ bit can be set to '1' and it keeps its state untill changed by the user.

    7. The correct status of each AFE44x0 registers will be changed in the next revision of the datasheet.

    8. The timing settings you have mentioned is possible. Set averaging to 9 instead of 10.

    Regards.

  • Hello  Praveen.

    Thanks for the fast reaction and answers.

    Best Regards

    Tsvetan

  • Hello Tsvetan,

    I have verified the following:

    5. It is possible to read / write to multiple registers during a single SPISTE low cycle. The only caveat is that multiple 32-bit words (8 bits for address and 24 bits for data) for each register have to be maintained else the excess bits are ignored.

    8. You can work with longer conversion times and smaller sampling times. I have checked with your timing settings as well.

    Also thanks for all your inputs to the datasheet, they have been considered and you will notice the changes during the next revision of the datasheet.

    Regards

    Praveen.

  • Hello again Praveen.

    I have another question.

    In the data sheet, the output format of ADC is not clearly specified (correct me, if I'm wrong). I think it is two's compliment 22 bits, correct? If this is true, what is the meaning of negative values? Normally the photo diode voltage is always positive polarized, except in case when absolute dark current is measured. But when we measure SPO2 normally we should never have negative values from ADC. Is this correct? Can we look on AFE4490  like 21 bit unsigned ADC converter in this case and simply saturate all negative values to 0?

  • Hello Tsvetan,

    We will make changes to the datasheet to include the output format of the ADC.

    The output format of the ADC is 22-bit two's complement and the 2 MSB bits can be ignored.

    You may notice very small negative voltages during the ambient phases due to the channel offset of the AFE4400/AFE4490.

    The ADC full scale voltage can go from -1V to +1V. Since the photodiode (PD) current is one sided current, only one side (0 to 1V)  of the ADC range is used. Now with no PD current during the ambient phases, we could be getting 0V ideally but with the channel offset this will be slightly higher or lower. This should not be an issue and is as expected.

    The channel offset will be cancelled out since the ADC value during the ambient phase is subtracted out from the ADC value during the LED phase (RED – RED Ambient or IR – IR Ambient).

    Regards

    Praveen.

  • Hello Praveen.

    My next question is:

    Is it possible to mix write to register and read from register in one SPISTE cycle. For example:

    1. SPISTE = 0

    2. Send 0x00, 0x00, 0x00, 0x01 (write 0x000001 in CONTROL0 )

    3. Send 0x2A, 0x00, 0x00, 0x00 (read LED2VAL)

    4. Send 0x2B, 0x00, 0x00, 0x00 (read ALED2VAL)

    5. Send 0x2C, 0x00, 0x00, 0x00 (read LED1VAL)

    6. Send 0x2D, 0x00, 0x00, 0x00 (read ALED1VAL)

    7. Send 0x2E, 0x00, 0x00, 0x00 (read LED2VAL - ALED2VAL)

    8. Send 0x2F, 0x00, 0x00, 0x00 (read LED1VAL - ALED1VAL)

    9. SPISTE = 1

    If this is possible - it will help a lot in DMA automation mode which I plan to use.

  • Hello Tsvetan,

    I just tested a few different variations of write to register and read from register in one SPISTE cycle and have confirmed that it will work. Glad this will help!