TI中文支持网
TI专业的中文技术问题搜集分享网站

关于ADS7279使用中遇到的问题

学生党想用ADS7279连接STM32F103做一个AD转换,在单片机里初始化ADS芯片为自动模式且EOC后,通过A4引脚检测INT/EOC下降沿,然后采用spi的16bit模式读取ADC数据。

现在遇到的问题是单片机从来没有采集到过EOC的下降沿,修改程序检查ADS芯片刚上电时的模式,发现和datasheet里的默认CFR值不一样(读出来全是1)。在使用时发现芯片发热量很大。想请教一下是什么问题?提前感谢各位!

代码通过附件发送。下图是各个引脚的连接

ADC_module.rar

user5327613:

工程在最下方的附件里,上面的图分别是引脚连接,单片机SPI初始化,7279初始化和ADC读取

user5327613:

datasheet网址www.ti.com/…/ads7279.pdf

user5327613:

回复 user5327613:

void SPI_ReadADC(uint16_t * readAddr) //读取ADC结果
{SPI_FLASH_CS_LOW();SPITimeout = SPIT_FLAG_TIMEOUT;while (SPI_I2S_GetFlagStatus(FLASH_SPIx , SPI_I2S_FLAG_TXE) == RESET){if((SPITimeout--) == 0) {SPI_TIMEOUT_UserCallback(0);*readAddr = 0x0000;}}//发送的0xd000用于读取结果SPI_I2S_SendData(FLASH_SPIx , 0xd000);//SPITimeout = SPIT_FLAG_TIMEOUT;/* µÈ´ý½ÓÊÕ»º³åÇø·Ç¿Õ£¬RXNEʼþ */while (SPI_I2S_GetFlagStatus(FLASH_SPIx , SPI_I2S_FLAG_RXNE) == RESET){if((SPITimeout--) == 0) {SPI_TIMEOUT_UserCallback(1);*readAddr = 0x0000;}}/* ¶ÁÈ¡Êý¾Ý¼Ä´æÆ÷£¬»ñÈ¡½ÓÊÕ»º³åÇøÊý¾Ý */*readAddr = SPI_I2S_ReceiveData(FLASH_SPIx );SPI_FLASH_CS_HIGH();return ;
}void ADC7279_Init(void){SPI_FLASH_CS_LOW();SPITimeout = SPIT_FLAG_TIMEOUT;/* µÈ´ý·¢ËÍ»º³åÇøΪ¿Õ£¬TXEʼþ */while (SPI_I2S_GetFlagStatus(FLASH_SPIx , SPI_I2S_FLAG_TXE) == RESET){if((SPITimeout--) == 0) {SPI_TIMEOUT_UserCallback(5);}}/* дÈëÊý¾Ý¼Ä´æÆ÷£¬°ÑҪдÈëµÄÊý¾ÝдÈë·¢ËÍ»º³åÇø */SPI_I2S_SendData(FLASH_SPIx , 0xedfd);//SPITimeout = SPIT_FLAG_TIMEOUT;/* µÈ´ý½ÓÊÕ»º³åÇø·Ç¿Õ£¬RXNEʼþ */while (SPI_I2S_GetFlagStatus(FLASH_SPIx , SPI_I2S_FLAG_RXNE) == RESET){if((SPITimeout--) == 0) {SPI_TIMEOUT_UserCallback(5);}}/* ¶ÁÈ¡Êý¾Ý¼Ä´æÆ÷£¬»ñÈ¡½ÓÊÕ»º³åÇøÊý¾Ý */SPI_I2S_ReceiveData(FLASH_SPIx );SPI_FLASH_CS_HIGH();return ;}

Amy Luo:

您好,

在使用时芯片发热量很大,芯片有多热呢,检查下各供电电压是否正常,建议您附上电路接线图,这样方便检查。

user5327613:

回复 Amy Luo:

您好,
就是十分烫手的那种。电路连接方式我在第一幅图里标了出来,其中5V供电采用的是稳压直流源,不知道图里的引脚说明是否符合要求

user5327613:

回复 user5327613:

ddddd做了很多天都不知道问题所在

赞(0)
未经允许不得转载:TI中文支持网 » 关于ADS7279使用中遇到的问题
分享到: 更多 (0)