dengfeng5357 发表于 2017-1-16 09:05:33

求助,AD7656并行读取数据完全不对,跳动

本帖最后由 dengfeng5357 于 2017-1-16 10:28 编辑

各位前辈和大师们好,我用AD7656并行方式,现在读取回来的值,很乱,跳的厉害,而且分辨不出哪个通道,若有相关代码参考最好,谢谢各位了。

banye2010 发表于 2017-1-16 09:28:30

串行SPI的啊

banye2010 发表于 2017-1-16 09:29:37

banye2010 发表于 2017-1-16 09:28
串行SPI的啊

看错了,也可以是并行的

lixin91985 发表于 2017-1-16 09:34:53

这个项目 貌似以前做过 。
for(times=0;times<F6Times;times++)//连续采集10次
        {
       delay_ns(ShutTime);
       GPIOC->BSRR =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2; // CONV A B C =1;
         while(GPIO_ReadInputDataBit(GPIOD,AD_BUSY)){;}
          delay_ns(1);
         GPIO_ResetBits(GPIOC,AD_CS);//cs=0
         for(RDI=0;RDI<6;)
               {GPIO_ResetBits(GPIOC,AD_RD);//rd=0
                delay_ns(1);
                AD_valueTemp=GPIO_ReadInputData(GPIOB);
                 GPIO_SetBits(GPIOC,AD_RD); // rd=1;
                 RDI++;
             }
         GPIO_SetBits(GPIOC,AD_CS);// cs=1
         GPIOC->BRR =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2;// CONV A B C=0;
         
        }
   SenserAddress=0x00;               
   UpdateSenserAddress()

dengfeng5357 发表于 2017-1-16 10:19:42

lixin91985 发表于 2017-1-16 09:34
这个项目 貌似以前做过 。
for(times=0;timesBSRR =GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2; // CONV A B C = ...

谢谢您的回答,我现在读取回来的数好乱,感觉都不是真实的,每次采集回来的都不一样

lixin91985 发表于 2017-1-16 12:07:15

先查硬件,感觉 你这个是硬件配置错误了。
然后把软件上的时序降低一点。

dengfeng5357 发表于 2017-1-16 12:21:48

lixin91985 发表于 2017-1-16 12:07
先查硬件,感觉 你这个是硬件配置错误了。
然后把软件上的时序降低一点。 ...

您是指的IO口配置吗?
我用的是LPC1788下的"gpio_17xx_40xx.h"
#define D_AD_RD_3_ON()                 Chip_GPIO_WritePortBit(LPC_GPIO, 0, 31, true)//输出
#define D_AD_BUSY_3()                 Chip_GPIO_GetPinState(LPC_GPIO, 0, 28)//输入
Chip_GPIO_SetPortDIR(LPC_GPIO, 0, 0x0000ffff, false);        //数据P0~P15(这样有问题么?)
感觉上面读数据端口,好象哪感觉不对,望指教,感谢感谢。

dengfeng5357 发表于 2017-1-16 19:43:55

搞定了,过来结贴,原因是因为输入端口没有至一个状态,接地或接3V就正常了,不过还没有明白,接地的时候,为什么采集到的值为65520(后面两位数有点跳动)?

zchong 发表于 2017-1-17 07:23:35

dengfeng5357 发表于 2017-1-16 19:43
搞定了,过来结贴,原因是因为输入端口没有至一个状态,接地或接3V就正常了,不过还没有明白,接地的时候, ...

负数,差不多吧

程科 发表于 2017-2-15 15:10:27

刚好看到一些关于AD7656的问题以及ADI工程师的解答,可以参考参考https://ezchina.analog.com/search.jspa?q=AD7656
页: [1]
查看完整版本: 求助,AD7656并行读取数据完全不对,跳动