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.

AFE4400SPO2EVM: Unable to set sample rate consistently

Part Number: AFE4400SPO2EVM

Hello,

I am trying to manually communicate with the AFE4400SPO2EVM board. I have written software running on my Windows 10 PC in C# to send commands over the COM port to the board. I write the registers first, to set up the board for 200 Hz. sampling. All of the register values have been copied from the AFE44x0SPO2 EVM GUI which runs correctly on my PC. I am able to write the registers and read back the values correctly in my software. I am using message communication protocol version 4.0 I have upgraded the firmware on the board to V1.4 However when I execute data collection in my software, the sample rate appears incorrect or sporadically noise appears in the output stream from the board. Is it possible that I need to configure extra registers to get the correct data rate and data?

Also, in order to get the board working with the AFE44x0SPO2 EVM GUI, I had to install the unsigned TI driver for serial communications. Is there a signed TI driver available?

Thanks,

John

  • Just to confirm, here are all of the register values I write to the board.

    CONTROL0 0x000000
    LED2STC value 0x003AE8
    LED2ENDC value 0x004E1E
    LED2LEDSTC value 0x003A98
    LED2LEDENDC value 0x004E1F
    ALED2STC value 0x000050
    ALED2ENDC value 0x001386
    LED1STC value 0x0013D8
    LED1ENDC value 0x00270E
    LED1LEDSTC value 0x001388
    LED1LEDENDC value 0x00270F
    ALED1STC value 0x002760
    ALED1ENDC value 0x003A96
    LED2CONVST value 0x000006
    LED2CONVEND value 0x001387
    ALED2CONVST value 0x00138E
    ALED2CONVEND value 0x00270F
    LED1CONVST value 0x002716
    LED1CONVEND value 0x003A97
    ALED1CONVST value 0x003A9E
    ALED1CONVEND value 0x004E1F
    ADCRSTSTCT0 value 0x000000
    ADCRSTENDCT0 value 0x000005
    ADCRSTSTCT1 value 0x001388
    ADCRSTENDCT1 value 0x00138D
    ADCRSTSTCT2 value 0x002710
    ADCRSTENDCT2 value 0x002715
    ADCRSTSTCT3 value 0x003A98
    ADCRSTENDCT3 value 0x003A9D
    PRPCOUNT value 0x004E1F
    CONTROL1 value 0x000101
    SPARE1 value 0x000000
    TIAGAIN value 0x000000
    TIA_AMB_GAIN value 0x000000
    LEDCNTRL value 0x01CC14
    CONTROL2 value 0x020100
    SPARE2 value 0x000000
    SPARE3 value 0x000000
    SPARE4 value 0x000000
    RESERVED1 value 0x000000
    RESERVED2 value 0x000000
    ALARM value 0x000000
    LED2VAL value 0x000000
    ALED2VAL value 0x000000
    LED1VAL value 0x000000
    ALED1VAL value 0x000000
    LED2_ALED2VAL value 0x000000
    LED1_ALED1VAL value 0x000000
    DIAG value 0x000000
  • Hi John,

    AS of now we don't have signed driver for the EVM.
    With your register setting can you probe the ADC_RDY pin and verify that its frequency is same as sampling frequency ( i.e. 200Hz).

    Regards,
    Prabin
  • Hi Prabin,

    I monitored ADC_RDY on my scope and it showed 5ms between pulses. This is my target sample rate (200 Hz) However, the data coming out of my serial port is not at 200 Hz. Does this guarantee that the MSP430 processor will send the data at the correct rate to the serial port? Is there any specific register or registers other than those listed on the GUI Low Level Configuration Tab that need to be set? The TI GUI works properly, I set the registers exactly the same in my application but I don't receive the data from the board at 200Hz.

    Is there a technical support phone number I can call? Can I contact you directly?

    Thank you,

    John
  • Hi John,

    I would suggest lets continue this discussion here itself as this will help other community members facing similar issue. If needed we can definitely have a direct call.

    Since frequency of the ADC_RDY is 200Hz, the AFE is configured properly.
    When capture command is sent to MSP430, it captures the data from the AEF based on ADC_RDY and sends to PC, so there is no reason to believe MSP430 is causing this issue. Also as same MSP430 works as expected with the TI's GUI, I certainly don't see MSP430 and AFE as the culprit.

    I believe the software written by you has larger overhead to handle all the incoming data. To verify this I would suggest you to use some general serial program such as Docklight or Putty. Can you please use Docklight and perform the following test?
    1) Configure the AFE for 200Hz sampling frequency.
    2) Measure the ADC_RDY to make sure its indeed 200Hz sampling.
    3) Issue the continuous capture command to the MSP430 from Docklight. I.e. “0x01 0x2A 0x00 0x00 0x00 0x00 0x0D”
    4) Now MSP430 starts sending out the data and observe the incoming rate of the data.

    Regards,
    Prabin