AD7606B返回值错误的原因,急!在线等!
求助!!!采用安富莱的AD7606 FSMC例程,用STM32F407VET6搭建环境。采用NE1 采样地址是0x600000000.发现采集直流和输入悬空的时候,都是正常的,采集交流信号,如8K 1V的正弦波,用串口打印通道一的1024个返回数据,有时候返回的值出现4.99987V 而且是连续一大片的出现,有时候又是正常的值。正常值和4.99987V无规律的成片交替出现。这是为啥呢?如何解决?AD7606和AD7606B有点区别,我们的例子是基于AD7606的,你可以适当调节下FSMC时序参数看看 eric2013 发表于 2021-6-24 16:25
AD7606和AD7606B有点区别,我们的例子是基于AD7606的,你可以适当调节下FSMC时序参数看看
就是FSMC配置里面的 那个4 0 6 0 0 这几个参数吗
Timing.AddressSetupTime = 4;
Timing.AddressHoldTime = 0;
Timing.DataSetupTime = 6;
Timing.BusTurnAroundDuration = 0;
Timing.CLKDivision = 0;
Timing.DataLatency = 0;
Timing.AccessMode = FSMC_ACCESS_MODE_A; SXSJBD 发表于 2021-6-24 16:55
就是FSMC配置里面的 那个4 0 6 0 0 这几个参数吗
对,就是这些参数。 修改了这几个值 还是不行,从正常的数据到4.99987V 不是瞬间的 是慢慢升上去的 升上去之后就固定了。-0.826263,-0.614624,-0.247192,0.185699,0.577545,0.831909,0.885315,0.725403,0.391541,-0.033264,-0.443726,-0.742645,-0.854950,-0.742645,-0.443878,-0.030365,0.395966,0.729980,0.889435,0.834351,0.579071,0.186768,-0.244598,-0.608521,-0.817871,-0.824280,-0.610352,-0.242615,0.190887,0.583496,
0.838776,0.892334,0.732727,0.399017,-0.005951,-0.042419,0.150452,0.333252,0.936737,1.367340,1.635590,2.245941,2.343750,2.814484,3.372192,3.369751,3.942719,2.993622,2.183990,2.973328,3.906555,4.268799,4.383698,4.684601,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,
4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,
4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,4.999847,
要不你能帮我算下那两个参数用多少比较好么 谢谢咯 SXSJBD 发表于 2021-6-24 18:44
修改了这几个值 还是不行,从正常的数据到4.99987V 不是瞬间的 是慢慢升上去的 升上去之后就固定了。 要 ...
这恐怕是模拟电路上的问题吧,我们做TI的8588也遇到这问题。未解决 SXSJBD 发表于 2021-6-24 18:44
修改了这几个值 还是不行,从正常的数据到4.99987V 不是瞬间的 是慢慢升上去的 升上去之后就固定了。 要 ...
这有必要查查硬件问题了。 我是直接函数型号发生器输出的信号 送到AD的输入口 没有任何器件的。难道是7606B的哪个引脚没有弄好么? SXSJBD 发表于 2021-6-25 08:53
我是直接函数型号发生器输出的信号 送到AD的输入口 没有任何器件的。难道是7606B的哪个引脚没有弄好么?
别的问题不太清楚了。 遇到一个新情况,当采样频率是200K的时候,采集8K以上信号,越往上,电压越小,但是电压和实际值对不上,波形附图所示,波形是40K的,其他的频率差不多。如果频率低于8K 则显示正负5V 但是也有一点很像正弦波的电压拨动,电压值也跟实际值对不上 E:\untitled.jpg 刚才发现一个新问题,用信号发生器给信号,随着频率的升高,电压会降低,但是不是实际值。其他条件都没变。8K以上波形有一点样子。40K波形如图所示。感觉好像是电压随着频率的升高而降低。这是为啥?E:\untitled.jpg SXSJBD 发表于 2021-6-25 19:18
刚才发现一个新问题,用信号发生器给信号,随着频率的升高,电压会降低,但是不是实际值。其他条件都没变。 ...
200Ksps,而且没有采用DMA方式的话,如果你的程序没有及时处理,很容易出现波形不正常。当前这个测试不太有利于你解决问题。 今天测试又发现一个现象,信号发生器接V1GND的时候,再直接接地,就可以正确采集到的一半的电压值,波形也对。但是没有接地的情况下,就会出现类似超量程现象,波形也不对。 现在遇到一个新情况,在V1GND不接地的情况下,能采集到部分正确的幅值的波形,但是也会出现-5V的情况,如图所示。 SXSJBD 发表于 2021-6-28 09:51
今天测试又发现一个现象,信号发生器接V1GND的时候,再直接接地,就可以正确采集到的一半的电压值,波形也 ...
这一段不正常的是不是没有正确读取,方便的话,把你的接线图和FSMC配置代码发下 问一下我用FSMC DMA双缓冲 的办法读取AD7606B的数据,看安富莱的程序,好像有16个字节是不是前面8个字节 和后面8个字节的数据是两个时刻的数据呢?如果我每一路采集1024个点 能不能在HAL_DMA_Start_IT函数里面设置一个8192个字节的数组 ,并且采集8192个数据? SXSJBD 发表于 2021-7-1 10:55
问一下我用FSMC DMA双缓冲 的办法读取AD7606B的数据,看安富莱的程序,好像有16个字节是不是前面8个字 ...
我们这个是为了方便J-Scope采集一轮打印一次。
你的可以设置很大,不超过DMA最大支持的65535次即可。 eric2013 发表于 2021-7-2 09:55
我们这个是为了方便J-Scope采集一轮打印一次。
你的可以设置很大,不超过DMA最大支持的65535次即可。
可是我看到你是8个节拍突发一次 意思就是采集到8个通道的时候,进入中断一次,也就是每次进入中断只是刷新一次8组数据而已,还能设置最大么 我最大的是8192个数字 也就是每个通道采集1024个字节,我要怎么设置一些参数才能做到? 还有就是 我发现AD7606B最高采样率是800K 可是我用这个方法试验了一下 发现最高采样率只有300多K 这个该怎么弄呢 我的PWM都设置成800K的频率 占空比99.2%了。 eric2013 发表于 2021-7-2 09:55
我们这个是为了方便J-Scope采集一轮打印一次。
你的可以设置很大,不超过DMA最大支持的65535次即可。
当初你用了aligned (16) 是为了对齐里面有16个元素 如果我现在改成8192是不是里面要变成 aligned (8192) SXSJBD 发表于 2021-7-2 11:56
可是我看到你是8个节拍突发一次 意思就是采集到8个通道的时候,进入中断一次,也就是每次进入中断只是刷 ...
1、我的是为了方便J-Scope展示,仅采集了一轮就需要给J-Scope,用于数据的实时波形绘制。你需要采集才8192而已,使用通用的DMA可以传输65535次呢,绰绰有余。你要重复理解下DMA用法。
2、你采集300K就不行了,说明程序还是有点问题,再排查排查 SXSJBD 发表于 2021-7-2 12:05
当初你用了aligned (16) 是为了对齐里面有16个元素 如果我现在改成8192是不是里面要变成 aligned (81 ...
不是,这个是首地址对齐,不是数据大小对齐。 n您的程序是在例程上面直接修改的吗
噜噜噜 发表于 2021-7-9 09:19
n您的程序是在例程上面直接修改的吗
统一到此贴讨论
求助 AD7606 用STM32F407VGT6搭建环境硬件异常
http://www.armbbs.cn/forum.php?mod=viewthread&tid=107769&fromuid=58
(出处: 硬汉嵌入式论坛)
SXSJBD 发表于 2021-6-24 18:44
修改了这几个值 还是不行,从正常的数据到4.99987V 不是瞬间的 是慢慢升上去的 升上去之后就固定了。 要 ...
我现在也遇到了这个问题,请问您的问题解决了吗 你好,我现在在用AD7606B,遇到一点问题,想请你帮忙有偿解决一下,方便加个联系方式吗
页:
[1]