查看: 4737|回复: 10

PSoC3 的两路A/D采集之间的影响?

[复制链接]
  • TA的每日心情
    奋斗
    2013-5-19 08:32
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2013-5-13 17:38:22 | 显示全部楼层 |阅读模式
    分享到:

    A/D

    A/D

    Uo和Ux是两路输入信号,我的信号源有滑动变阻器产生的分压、D/A产生的正弦波两种。
    遇到的问题是Uo和Ux同为正弦波输入时,液晶所显示的电压差距很大(按下复位键时看的),改变A/D的转化模式也没有任何变化,实在找不到问题。希望大家帮指点一下可能是那的问题,在下感激不尽!
    程序如下:
    for(;;)
    {
    ////测量Uo
      AMux_1_Select(0);
         ADC_DelSig_1_Stop();
         ADC_DelSig_1_Start();
         ADC_DelSig_1_StartConvert();    // Start the ADC conversion
         ADC_DelSig_1_IsEndConversion(ADC_DelSig_1_WAIT_FOR_RESULT);
         output1 = ADC_DelSig_1_GetResult16();   
    ////测量Ux
      AMux_1_Select(1);
         ADC_DelSig_1_Stop();
         ADC_DelSig_1_Start();
         ADC_DelSig_1_StartConvert();    // Start the ADC conversion
         ADC_DelSig_1_IsEndConversion(ADC_DelSig_1_WAIT_FOR_RESULT);
         output2 = ADC_DelSig_1_GetResult16();
         后边是显示部分……
    }
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-5-13 23:31:26 | 显示全部楼层
    液晶所显示的电压差距很大(按下复位键时看的)

    没明白问题是什么
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-5-19 08:32
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-5-14 08:16:17 | 显示全部楼层
    ming1006 发表于 2013-5-13 23:31
    没明白问题是什么

    两路A/D采集的都是D/A产生的正弦信号,采集回来的值应该是相同的,但是我采集到的两个数据差值很大
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-5-14 22:54:55 | 显示全部楼层
    海日生明月 发表于 2013-5-14 08:16
    两路A/D采集的都是D/A产生的正弦信号,采集回来的值应该是相同的,但是我采集到的两个数据差值很大 ...

    你是说直流没区别,但是交流有差别?会不会是正弦波频率太高呢?你DA产生的正弦信号频率多大呢?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-5-19 08:32
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-5-15 08:57:00 | 显示全部楼层
    ming1006 发表于 2013-5-14 22:54
    你是说直流没区别,但是交流有差别?会不会是正弦波频率太高呢?你DA产生的正弦信号频率多大呢? ...

    按理说不高,正弦波是1kHz,我的A/D采样转化速率是10000SPS,应该可以满足吧?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-5-15 22:53:47 | 显示全部楼层
    海日生明月 发表于 2013-5-15 08:57
    按理说不高,正弦波是1kHz,我的A/D采样转化速率是10000SPS,应该可以满足吧? ...

    虽难说AD采样率是10k,但是你的AD不是连续采样,两次之间AD关了又开,应该会有一段时间,你试下降低正弦波信号,改成100Hz左右试下吧
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-5-19 08:32
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-5-16 11:33:14 | 显示全部楼层
    ming1006 发表于 2013-5-15 22:53
    虽难说AD采样率是10k,但是你的AD不是连续采样,两次之间AD关了又开,应该会有一段时间,你试下降低正弦 ...

    试了一下,频率降低到100Hz,10Hz,才回来的数据相对靠谱点了。请问仁兄有何方法解决这个问题?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-5-16 13:05:41 | 显示全部楼层
    海日生明月 发表于 2013-5-16 11:33
    试了一下,频率降低到100Hz,10Hz,才回来的数据相对靠谱点了。请问仁兄有何方法解决这个问题? ...

    我觉得主要是ADC的启动比较占时间,你试一下把
    ADC_DelSig_1_Stop();
    ADC_DelSig_1_Start();
    这两句去了,初始化时开ADC,而不是模拟复用器转换时开ADC,还有就是可以把ADC频率也提高点
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2013-5-19 08:32
  • 签到天数: 6 天

    连续签到: 1 天

    [LV.2]偶尔看看I

     楼主| 发表于 2013-5-16 14:12:10 | 显示全部楼层
    ming1006 发表于 2013-5-16 13:05
    我觉得主要是ADC的启动比较占时间,你试一下把
    ADC_DelSig_1_Stop();
    ADC_DelSig_1_Start();

    感觉两者之差除了在采集直流时几乎相等外,其他情况下时不时出现很大的差距。我想用两个ADC_DelSig,干脆不用复用器,不知道怎样实现?
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2016-12-20 15:08
  • 签到天数: 510 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2013-5-16 23:14:28 | 显示全部楼层
    海日生明月 发表于 2013-5-16 14:12
    感觉两者之差除了在采集直流时几乎相等外,其他情况下时不时出现很大的差距。我想用两个ADC_DelSig,干脆 ...

    直接拖两个模块进来应该就行了,不过不知道PSoC里面是有几个ADC
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 22:07 , Processed in 0.205959 second(s), 33 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.