完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我在使用AD7357时候,参照的推荐电路AD8138+OP177+AD7357的电路,采集10k~1MHz信号,遇到以下问题:环境(STM32F429+AD+SPI+DMA)
1. 这款AD7357芯片能够使用SPI的方式传输采集的数据吗? 1. 使用标准正弦信号通入SDATA_A中,输出采样数据为,这个波形的差分信号波形。意思也是,只有将采集的相邻两个数据分开然后形成两组数据,最后绘制为一对差分正弦信号;正确的应该是一个标准的正弦波吧? 2.在两个通道的输入都为100K正弦信号,在SDATA_B通道输出两路信号采集数据。当使用DMA+SPI的通信速度为1.4MHz采集数据时,能够输出正常数据,但是当SPI的通信速度为2.8MHz时,数据就完全不正确了,但是数据范围正确的0~16383,请问什么原因导致的呢 |
|
相关推荐
2个回答
|
|
1. AD7357芯片能够使用SPI的方式传输采集的数据.
2. 请用示波器检查AD7357查分输入引脚上,VINA+, VINA−; VINB+, VINB−是否为正常的正弦波波形? 3. 请用示波器同时抓AD7357数据接口/CS, SCLK, SDATAA, SDATAB的波形,检查时序是否正确? |
|
|
|
StevenX 谢谢您的回复
1. VINA+, VINA−; VINB+, VINB−中A的波形存在较大的失真,B的波形还好;CS,SCLK,SDATAA,SDATAB波形满足要求; 2. AD7357芯片资料上说明sclk_max=80MHz,但现在提供2.8MHz不能收集到数据,可能是程序上的问题; 请帮我看看我的程序设计思路:首先定义一个数组变量(data[500]),然后SPI设置为双线只接收模式,和使能SPI+DMA存储功能,最后设置DMA传输完成中断,并在中断服务函数中打印出500个采集数据; 主要程序如下: SPIx_Init(); //SPI初始化 GPIO_SetBits(AD_CS_GPIO_PORT,AD_CS_PIN); //CS置1 Rheostat_DMA_Mode_Config(); //DMA初始化 DMAxx_NVIC(); //DMA中断配置 DMA_ITConfig(RHEOSTAT_ADC_DMA_STREAM,DMA_IT_TC,ENABLE ); //传输完成中断使能 MyDMA_Enable(RHEOSTAT_ADC_DMA_STREAM,numlength); //使能DMA SPI_I2S_DMACmd (AD_SPI,SPI_I2S_DMAReq_Rx,ENABLE); //SPI_DMA功能使能 while @@@@@@@@ { GPIO_ResetBits(AD_CS_GPIO_PORT,AD_CS_PIN); //CS置0 Delay(5); SPI_Cmd(AD_SPI, ENABLE); //SPI开启 data=SPIx_ReadWriteByte(); //产生16个周期的读取数据 SPI_Cmd(AD_SPI, DISABLE); //SPI关闭 Delay(140); //延时时间稍长,为的是让CS=1前,关闭SPI,否则CS=1与sck有重合 GPIO_SetBits(AD_CS_GPIO_PORT,AD_CS_PIN); //CS置1 Delay(5); } ///////////////////////////中断服务函数////////////////////////////////// void DMA1_Stream0_IRQHandler(void) { for (j=numlength;j>1;j--) { printf("%dn",ADC_ConvertedValue[j]); } DMA_ClearITPendingBit(DMA1_Stream0,DMA_IT_TCIF0); //清除完成中断标志位 } 3. AD7357芯片是不是不能够将CS一直拉低,然后在有sclk的情况下,输出SDATA_A+SDATA_B的数据呢? 所以在程序中我采用将先CS=0,开启spi,执行16个周期语句,关闭spi,延时函数(此处一定要加延时,不然会有sclk与CS重合),CS=1;最后循环上过程才能产生数据; |
|
|
|
只有小组成员才能发言,加入小组>>
ADP5092 SYS端口为2.09V,但是REG_OUT为0是什么原因?
1718 浏览 1 评论
ad7193差分输入ain1与ain2差是正值时,读到电压与实际值误差小,但为负值值,误差就变的很大
4103 浏览 2 评论
8811 浏览 1 评论
3028 浏览 1 评论
6953 浏览 2 评论
ADC3442采集,分析数据出现有规则毛刺,请问是哪方面的问题啊?
1166浏览 3评论
AD7190状态寄存器一直是0x80,连续转换模式下RDY不拉低
1460浏览 2评论
1387浏览 2评论
1136浏览 1评论
1006浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 23:15 , Processed in 0.746567 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号