微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 硬件电路设计 > TI模拟硬件电路设计 > 求教,在使用AFE4490芯片时,数据读不出来?

求教,在使用AFE4490芯片时,数据读不出来?

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

/****************************************************************************/
//*******函数名:SPIWriteData()
//*******用 途:SPI写数据
//*******参 数:Data:数据
//*******返回值:无
/****************************************************************************/
void SPIWriteBit(unsigned char Bit)
{
unsigned char i;
for(i=0;i<8;i++)
{
if(Bit&0x80)
{
SPI_SIM_1;
}
else
{
SPI_SIM_0;
}

Bit=Bit<<1; //右移写下一个
SPI_CLK_0;
delay_us(5);
SPI_CLK_1;
delay_us(5);
}
SPI_SIM_0;
}
/****************************************************************************/
//*******函数名:SPIReadBit()
//*******用 途:SPI读数据
//*******参 数:无
//*******返回值:返回当前读取的数据
/****************************************************************************/
unsigned char SPIReadBit(void)
{
unsigned char i;
unsigned char data=0;
for(i=0;i<8;i++)
{
data<<=1; //左移一位
if(IO_READ&0x01) //读取IO
{
data=(data|0x01); //写高
}
else
{
data=(data&0xFE); //写低
}
SPI_CLK_0;
delay_us(5);
SPI_CLK_1;
delay_us(5); //给个时钟脉冲周期
} //循环读数据
return data; //返回读取的数据
}
/****************************************************************************/
//*******函数名:SPIWriteData()
//*******用 途:SPI写数据
//*******参 数:Data:数据
//*******返回值:无
/****************************************************************************/
void SPIWriteData(unsigned long data,unsigned int Add)
{
unsigned char Temp;
SPI_STE_0;
delay_us(1);
SPIWriteBit(Add);
delay_us(1);
Temp=data>>16;
SPIWriteBit(Temp); //写数据
asm("nop");
Temp=data>>8;
SPIWriteBit(Temp);
asm("nop");
asm("nop");
SPIWriteBit(data);
delay_us(1);
SPI_STE_1;
}
/****************************************************************************/
//*******函数名:SPIReadData()
//*******用 途:SPI读数据
//*******参 数:ADD:地址数据
//*******返回值:数据
/****************************************************************************/
unsigned long SPIReadData(unsigned int Add)
{
unsigned long Value=0;
SPI_STE_0;
delay_us(10);
SPIWriteBit(Add); //写地址
delay_us(1);
SPIWriteData(0x00000001,0x00);                                                                  //允许读寄存器

Value |= SPIReadBit();
Value<<=8;
Value |= SPIReadBit();
Value<<=8;
Value |= SPIReadBit();
delay_us(10);
SPI_STE_1;
return Value;
}
/****************************************************************************/
//*******函数名:AfeInit()
//*******用 途:AFE初始化
//*******参 数:无
//*******返回值:无
/****************************************************************************/
void AfeInit(void)
{
Afe_IoInit(); //初始化IO配置
SPIWriteData(0x00000000,0x00);
SPIWriteData(0x00001770,0x01);
SPIWriteData(0x00001F3E,0x02);
SPIWriteData(0x00001770,0x03);
SPIWriteData(0x00001F3F,0x04);
SPIWriteData(0x00000000,0x05);
SPIWriteData(0x000007CE,0x06);
SPIWriteData(0x000007D0,0x07);
SPIWriteData(0x00000F9E,0x08);
SPIWriteData(0x000007D0,0x09);
SPIWriteData(0x00000F9F,0x0A);
SPIWriteData(0x00000FA0,0x0B);
SPIWriteData(0x0000176E,0x0C);
SPIWriteData(0x00000002,0x0D);
SPIWriteData(0x000007CF,0x0E);
SPIWriteData(0x000007D2,0x0F);
SPIWriteData(0x00000F9F,0x10);
SPIWriteData(0x00000FA2,0x11);
SPIWriteData(0x0000176F,0x12);
SPIWriteData(0x00001772,0x13);
SPIWriteData(0x00001F3F,0x14);
SPIWriteData(0x00000000,0x15);
SPIWriteData(0x00000000,0x16);
SPIWriteData(0x000007D0,0x17);
SPIWriteData(0x000007D0,0x18);
SPIWriteData(0x00000FA0,0x19);
SPIWriteData(0x00000FA0,0x1A);
SPIWriteData(0x00001770,0x1B);
SPIWriteData(0x00001770,0x1C);
SPIWriteData(0x00001F3F,0x1D);
SPIWriteData(0x00000101,0x1E);
SPIWriteData(0x00000000,0x1F);
SPIWriteData(0x00000000,0x20);
SPIWriteData(0x00000000,0x21);
SPIWriteData(0x0001BEBE,0x22);
SPIWriteData(0x00000000,0x23);
SPIWriteData(0x00000000,0x24);
SPIWriteData(0x00000000,0x25);
SPIWriteData(0x00000000,0x26);
SPIWriteData(0x00000000,0x27);
SPIWriteData(0x00000000,0x28);
SPIWriteData(0x00000000,0x29);
SPIWriteData(0x00000000,0x2A);
SPIWriteData(0x00000000,0x2B);
SPIWriteData(0x00000000,0x2C);
SPIWriteData(0x00000000,0x2D);
SPIWriteData(0x00000000,0x2E);
SPIWriteData(0x00000000,0x2F);
SPIWriteData(0x00000000,0x30); //初始化寄存器

}

求教,是不是软件那里出问题了。纠结的是现在不知道是软件问题还是程序问题,求支持

坐等指点。

你现在解决了吗,我现在也在调这块芯片,读不出数据

能否用示波器看看你的接口时序,判断一下 与数据手册上是否一致?

能告诉我afe4490外围电路怎么设计的吗

 

能告诉我afe4490外围电路怎么设计的吗

参考官方的开发板上的电路。

不好意思我找不到?能在具体点吗?

 

明天给你吧!在公司电脑。官网应该下的到

谢谢这是我的邮箱326974930@qq.com

请问最终读出来了吗,我现在也在用这个afe4490,配置它的时候,首先要吧SPI_READ置0,就是在置0的时候,地址发过去了,后面的数据发送不过去,一直卡在那里,想请教一下

读出来了啊!硬件问题

能具体说明一下吗。我现在找不到问题所在了,调了好久了,希望您能教我一下,我的qq1003550944.谢谢啦。

您好,最近在做AFE4490,想请问您一些事情,请求一下帮助,我的QQ824396385,谢谢!

你加我吧1085596455

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

网站地图

Top