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

TLC3578采集频率 单次采样时间间隔 STM32采集

大家好!之前有调试TLC3578 AD芯片,CPU使用的是STM32,程序大致可以实现采集功能,

但是问题也来了

	u16 i;
	SPI1_CS_HIGH();
	SPI1_CS_LOW();
	delay_ms(1);
	SPI_I2S_SendData(SPI1,0xa000);
	delay_ms(1);
	SPI1_CS_HIGH();
	SPI1_CS_LOW();
	delay_ms(1);
	SPI_I2S_SendData(SPI1,Convert_Mode);
	delay_ms(1);
	SPI1_CS_HIGH();
	for(i = 0;i < 4096;i++)
	{
		SPI1_CS_HIGH();
		SPI1_CS_LOW();
		SPI_I2S_SendData(SPI1,Concert_Channel);
		while(!SPI1_RX_Flag);	
		SPI1_RX_Flag = 0;
	}
void EXTI1_IRQHandler(void)
{ 
	EXTI_ClearITPendingBit(EXTI_Line1);
	SPI1_RX_Buffer[SPI1_RX_Size++] = SPI_I2S_ReceiveData(SPI1);
	SPI1_RX_Flag = 1;
	if(SPI1_RX_Size == 4096)
		SPI1_RX_Size = 0;
//delay_ms(1);
}

代码如上所示,全速运行情况下,直流3.3v检测得到的转换值偏大0.7v左右,单步运行值相对准确,

使用AD模式为单次运行,在循环中每次运行,共执行4096次,把

EXTI1_IRQHandler(void)中的注释去掉之后,全速运行也可以实现准确转换,可是这样速度完全达不到要求。
希望大家可以帮助我下,我要实现的采样频率在120K左右,这样延时明显会导致整个项目失败。。。
user151383853:

要实现的采样频率在120K左右肯定是没有问题的,TLC3578 能够达到 200KSPS.

接下来的问题是数据传输的问题了。

由于 TLC3578 使用的是Serial SPI 数据接口,你可以使用 STM32 硬件 SPI 接口来控制,就完全不用担心速度问题。

赞(0)
未经允许不得转载:TI中文支持网 » TLC3578采集频率 单次采样时间间隔 STM32采集
分享到: 更多 (0)