1 官网给的例程里 AFE4404_init()函数里个别寄存器的参数和规格书有严格冲突不知道该如何去配置了 具体如下:
//下边几个寄存器和datesheet有冲突
AFE4404_Reg_Write(29, 39999); // 1Dh AFE_PRPCOUNT
高8位datesheet是必须为0 但官网的例程此处是16-19位是3不是0
AFE4404_Reg_Write(50, 5475); // 32h AFE_DPD1STC PDN_CYCLE 开始
不知道PDN_CYCLE的具体作用,datesheet中无描述。此处为什么给5475它代表何种配置。
AFE4404_Reg_Write(51, 39199); //33h AFE_DPD1ENDC PDN_CYCLE 结束、
高8位datesheet是必须为0 但官网的例程此处是16-19位位3不是0,此处为什么给39199它代表何种配置。
2 官网里给的工程中
/**********************************************************************************************************/
/* AFE4404_Enable_Read AFE4404读使能 */
/**********************************************************************************************************/
void AFE4404_Enable_Read (void)
{
unsigned char configData[3];
configData[0]=0x00;
configData[1]=0x00;
configData[2]=0x01;
I2C_write (AFE4404_I2C_WRITE_ADDRESS, CONTROL0, configData, 3);
}
/**********************************************************************************************************/
/* AFE4404_Disable_Read AFE4404读关闭(可能是写的开启) */
/**********************************************************************************************************/
void AFE4404_Disable_Read (void)
{
unsigned char configData[3];
configData[0]=0x00;
configData[1]=0x00;
configData[2]=0x00;
I2C_write (AFE4404_I2C_WRITE_ADDRESS, CONTROL0, configData, 3);
}
这两个函数是不是必须的。调试过程中发现当AFE4404_Disable_Read (void)运行完后不管读哪个寄存器读到的数据都是000001只有屏蔽此函数时才会实现正常的读功能。
3 现在按照官网初始化完成后SHF7050似乎不工作(灯不亮),用万用表量相关引脚电平如下:(AFE4404供电3.0V)
IR/RD+ 3V
IR 2.34V
RD 1.77V
INP 0.9V
INM 0.9V
贵公司能提供一个AFE4404正常工作时这几个引脚的参数状态
4 ADCRDY,当采集完数据后产生一个脉冲,具体采集是否完成程序里是通过哪段代码体现的。
Haroad Chen:
LiuWei,
非常感谢使用TI 的 产品。
针对AFE4404的调试,我们建议客户在参考例程的同时,下载AFE4404EVM的配置软件。该软件是一个图形化的工具,可以直观的配置和导出寄存器的值,你就可以把这些值放到你的程序中去。
下面回到你的问题:
1. 关于寄存器配置的值,建议采用例程的推荐(当然在调试过程中可以根据需要修改)。数据手册的说明可能不是太准确。关于CYCLE,这里说明一下,AFE4404内部所有的时序都是基于一个基准计数器(时钟周期),CYCLE就代表时钟周期。可以理解为复位后为0周期,然后各个模块(LED亮,关,ADC SAMPLING, ADC转换,转换完后POWER DOWN 等),都是基于这个计数器,在第几个计数器开始动作的。 PDNCYCLE和ENDPDNCYCLE是说AFE4404在第几个计数是POWN DOWN 和唤醒。
2. 关于I2C disable read,在需要读时,需要再写ENABLE READ.这样应该就可以了。DISABLE主要是为了防止误操作。
3. 建议看看时钟的配置,如果你用的是AFE4404的内部时钟,就需要把它配成OSC 模式,即23H 寄存器BIT9为1.
4. ADC-RDY是一个中断信号,给到MCU的 中断检测,处理程序。
guangming wang1:
您好!
请问您能把AFE4404的官方例程发给我吗?我在官网下载的格式打不开。万分感谢!我的邮箱是1528410805@qq.om
Haroad Chen:
回复 guangming wang1:
我们所有的参考代码都要从网上下载。
网上下的都应该打的开的,有MSP430 相关的源文件,如果没有装CCS,你也可以参考.c或.h文件。 网上还有STM32的接口程序供参考。
qingliang liu:
回复 Haroad Chen:
参考代码的下载路径在哪里?我找了半天没找到啊。
Haroad Chen:
回复 qingliang liu:
如下链接:http://www.ti.com/product/AFE4404/toolssoftware
在页面下方的software里面
qingliang liu:
回复 Haroad Chen:
可以了,非常感谢。
xinlei hu:
回复 Haroad Chen:
您好,请问有没有AFE4404的Linux的驱动代码?