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.

AFE 44xx hangs

Other Parts Discussed in Thread: AFE4400, AFE4490, AFE4403, AFE4400SPO2EVM, AFE4403EVM

Hi,

To test that AFE 44xx is working fine we are turning on and off the IR and Red Led, connected to AFE 44xx, at every 7 seconds in alternate fashion. I mean at every 7 seconds IR Led turns on and RED Led turns off and after 7 seconds IR Led turns off and Red Led turns on.While switching the Red and IR LEDs of sensor to ON/OFF, we observe that after few switching AFE hangs and no data was received. Even we have observed that this thing happen at very first switching also.
Also, we have observed that sometimes it not even setting the registers. For example,
-- To change LEDs intensity we are setting LEDCTRL(address-0x22) register. And many time it is not setting that value in the register. We have verified this by reading the register back and we observed that sometimes it return 0x00/0xff or old set value instead of actual value we have set. Please note, we are confirming that value has been transmitted over SPI by verifying corresponding control register bit.
Following are the logs:
1. Doesn't configure the new value, returns 0x00 instead.
not worked:- requested to set:['22', '01', '00', '22'] , AFE Register Read:['22', '01', '00', '00']
not worked:- requested to set:['22', '01', '00', '22'] , AFE Register Read:['22', '00', '00', '00']
2. Last value persist.
not worked:- requested to set:['22', '01', '22', '00'] , AFE Register Read:['22', '01', '00', '22']
not worked:- requested to set:['22', '01', '22', '00'] , AFE Register Read:['22', '01', '00', '22']
3. Returns 0xff instead of configured value.
not worked:- requested to set:['22', '01', '00', '22'] , AFE Register Read:['22', '01', '00', 'ff']
not worked:- requested to set:['22', '01', '00', '22'] , AFE Register Read:['22', '01', '00', 'ff']
not worked:- requested to set:['22', '01', '00', '22'] , AFE Register Read:['22', 'ff', 'ff', 'ff']
These are really critical issues for us.
You quick reply is appreciated.
Thanks,
Dhaval
  • Hello Dhaval,

    Could you be more specific about the family of AFE44xx device? Is it AFE4400 or AFE4490 or AFE4403?

    I would like to know more about your test setup.
    Are you running your test on TI evaluation module or on your custom board?
    If it is on your custom board,
    1. What is the LED configuration? Is it common anode or H-bridge?
    2. If there is a way to disconnect the LEDs from TXP, TXN pins, could you repeat the test with the LEDs disconnected?
    3. What is the SPI clock frequency?
    4. What happens if you run your test on another register? For example: TIMEREN bit of CONTROL1 register or PDNTX bit of CONTROL2 register. This will also give you a visual indication by turning on/off the LEDs.
    5. What are your other register settings?

    Could you elaborate on the context for running this test? Is there any significance for 7 seconds?
    I emulated the test on both AFE4400SPO2EVM and AFE4403EVM and I did not notice any deviant behavior.
  • Hi Praveen,

    Thanks for your reply. Please find my answers quoted below:

    Praveen Aroul said:
    Hello Dhaval,

    Could you be more specific about the family of AFE44xx device? Is it AFE4400 or AFE4490 or AFE4403?

    We are using AFE4400.

    I would like to know more about your test setup.

    The device is connected to PC Software via BLE and we are controlling it using BLE commands. The write command to turn LED ON/OFF is send over BLE and the firmware, after receiving command from BLE, does the write operation using SPI write operation. The write operation is executed after every 7 seconds and this cycle is executed for many times. after 10-15 successful write operations ( sometime 4-5 ), AFE stops responding.


    Are you running your test on TI evaluation module or on your custom board?

    We are running the test on custom board.


    If it is on your custom board,
    1. What is the LED configuration? Is it common anode or H-bridge?

    H-Bridge
    2. If there is a way to disconnect the LEDs from TXP, TXN pins, could you repeat the test with the LEDs disconnected?

    We repeated the test after disconnecting the LED. The results are same.
    3. What is the SPI clock frequency?

    SPI is running on 4MHz clock.
    4. What happens if you run your test on another register? For example: TIMEREN bit of CONTROL1 register or PDNTX bit of CONTROL2 register. This will also give you a visual indication by turning on/off the LEDs.

    The result is same after doing the above mentioned condition
    5. What are your other register settings?

    Can you please let me know the exact registers you want the configuration for?


    Could you elaborate on the context for running this test? Is there any significance for 7 seconds?

    No there is no such significance for 7 seconds. We are doing this test to make sure the AFE is working correctly.


    I emulated the test on both AFE4400SPO2EVM and AFE4403EVMand I did not notice any deviant behavior.

    We would like to know about your setup. How many times you executed the write cycle?

    Looking forward to your quick reply.
    Thanks,
    Dhaval
  • Hello Dhaval,

    I am guessing the issue could be due to the BLE communication or the BLE data parser in your firmware.

    To eliminate the above, could you implement the test in your firmware directly and verify if the issue still occurs?

    I used the AFE4400SPO2EVM with the EVM PC GUI to run the test. The finger clip pulse oximeter sensor was connected to the DB9 connector. I created a script to execute the test and ran the loop (Write LED1 on + LED2 off, read LEDCNTRL register, delay for 7 secs, LED2 on + LED1 off, delay for 7 secs, read LEDCNTRL register) 10 times.

    If you would like to run the tests on the EVM, here is the procedure.

    1. Start the GUI.

    2. click on Scripts, followed by Launch  Macro Window on the Menu bar.

    3. This will open a python editor. To open the attached script, click on File, followed by Open.

    4. To execute the script, click on Run, followed by Run Module or press F5.

    5. This will open a python shell prompt. You can view the results in the shell prompt.

  • Hi Praveen,

    We have resolved the issue where AFE was hanging. It was happening because interrupts was enabled during configuration. After disable the interrupts during register configuration it is working fine.

    But still we need to verify that it is configuration all the register correctly. I will do that and keep you posted on the same.

    Thanks,

    Dhaval