微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > AFE4490如何配置

AFE4490如何配置

时间:10-02 整理:3721RD 点击:

TI的应用工程师,您好。我目前正在使用AFE4490,但是发现按照我的配置读出的LED2VAL的值显示出来的总是乱码,根本不是血氧曲线,求指教。

        SPI1_WriteAFE4490( AFE4490_PRPCOUNT, 6399);                            //the period is 1600us
        
        SPI1_WriteAFE4490( AFE4490_TIAGAIN, 0x000000);                    //Rf and Cf are same for both LED2 & LED1
        SPI1_WriteAFE4490( AFE4490_TIA_AMB_GAIN, 0x00800A);            //1Khz filter conner; Cf = 5pf+5pf; Rf = 100K ohm
        SPI1_WriteAFE4490( AFE4490_LEDCNTRL, 0x016666);                    //LED current range is 75mA. LED1/2 current is 30 mA.
        SPI1_WriteAFE4490( AFE4490_ALARM, 0x000080);                        //Disable
        
        SPI1_WriteAFE4490( AFE4490_CONTROL2, 0x000000);                    //0.75V Tx reference voltage
                                                                                                                        //H-Bridge; AFE Power up
        SPI1_WriteAFE4490( AFE4490_CONTROL0, 0x000000);                    
        SPI1_WriteAFE4490( AFE4490_CONTROL1, 0x000302);                    //0x000F02Internal Clock no output; Timer is enabled;  No average.
       

根据ADC_RDY的中断进行读

void GPABC_IRQHandler(void)
{
        uint32_t userdata;
    
        if ( GPIOB -> ISR & GPIO_ISR_ISR_9)
        {
                userdata = SPI1_ReadAFE4490( AFE4490_LED2VAL );
                UART0_Send32BitString(userdata);
                UART0_SendString( userstring, 2);
                GPIOB -> ISR |= GPIO_ISR_ISR_9;                //Clear the pin9 interrupt flag
        }

}

你好! 尝试写入下面的所有寄存器配置看结果如何,从已经工作的AFE4490EVM上保存下来的。 当然,只读的就不需写了。

2013/10/11 13:23
ADC Register Settings
Block Name Register Name Data Register Address
AFE4490 CONTROL0 0 0
AFE4490 LED2STC 1770 1
AFE4490 LED2ENDC 1F3E 2
AFE4490 LED2LEDSTC 1770 3
AFE4490 LED2LEDENDC 1F3F 4
AFE4490 ALED2STC 0 5
AFE4490 ALED2ENDC 7CE 6
AFE4490 LED1STC 7D0 7
AFE4490 LED1ENDC F9E 8
AFE4490 LED1LEDSTC 7D0 9
AFE4490 LED1LEDENDC F9F A
AFE4490 ALED1STC FA0 B
AFE4490 ALED1ENDC 176E C
AFE4490 LED2CONVST 2 D
AFE4490 LED2CONVEND 7CF E
AFE4490 ALED2CONVST 7D2 F
AFE4490 ALED2CONVEND F9F 10
AFE4490 LED1CONVST FA2 11
AFE4490 LED1CONVEND 176F 12
AFE4490 ALED1CONVST 1772 13
AFE4490 ALED1CONVEND 1F3F 14
AFE4490 ADCRSTSTCT0 0 15
AFE4490 ADCRSTENDCT0 0 16
AFE4490 ADCRSTSTCT1 7D0 17
AFE4490 ADCRSTENDCT1 7D0 18
AFE4490 ADCRSTSTCT2 FA0 19
AFE4490 ADCRSTENDCT2 FA0 1A
AFE4490 ADCRSTSTCT3 1770 1B
AFE4490 ADCRSTENDCT3 1770 1C
AFE4490 PRPCOUNT 1F3F 1D
AFE4490 CONTROL1 101 1E
AFE4490 SPARE1 0 1F
AFE4490 TIAGAIN 0 20
AFE4490 TIA_AMB_GAIN 0 21
AFE4490 LEDCNTRL 1BEBE 22
AFE4490 CONTROL2 0 23
AFE4490 SPARE2 0 24
AFE4490 SPARE3 0 25
AFE4490 SPARE4 0 26
AFE4490 RESERVED1 0 27
AFE4490 RESERVED2 0 28
AFE4490 ALARM 0 29
AFE4490 LED2VAL 0 2A
AFE4490 ALED2VAL 0 2B
AFE4490 LED1VAL 0 2C
AFE4490 ALED1VAL 0 2D
AFE4490 LED2-ALED2VAL 0 2E
AFE4490 LED1-ALED1VAL 0 2F
AFE4490 DIAG 0 30

但是出来的波形很不好:

我是自己做的板子,这种情况我怀疑是和探头及前级输入有关系吧。求指教

一点拙见:

请问您的供电是否是采用低纹波的LDO供电的?

AFE4490对电源上的噪声比较敏感。

谢谢提醒,使用的LDO的Dropout果然是很大啊。。

AFE4490如何检测血氧探头里面没有手指?如果没有手指在血氧探头里面,AFE4490能输出中断吗?具体是哪个中断?另外,我设置EN_SLOW_DIAG = 0,设置DIAG_EN = 1,可是DIAG_END中断信号没有产生呀?谢谢回复!

请教一下,读取了LED1和LED2的值,计算血氧的公式能提供吗?AFE4490的测量精度能达到多少?谢谢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top