搜索
bottom↓
回复: 18

ADS1232为什么DOUT无“数据准备好”的下降沿信号?在线等

[复制链接]

出0入0汤圆

发表于 2012-4-14 11:37:58 | 显示全部楼层 |阅读模式
ADS1232为什么DOUT无“数据准备好”的下降沿信号?在线等

  unsigned char i=0;
  unsigned long Data;
  Data=0;  
  
  PDWN_L;//复位ADS1232
  delayus(50);
  SCLK_L;
  PDWN_H;
  
  while(DOUT);//因为DOUT没有下降沿信号(数据准备好),程序一直就停在这里了,不明白啊~~~~

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2012-4-14 11:51:17 | 显示全部楼层
说得太少,没法帮忙

出0入0汤圆

 楼主| 发表于 2012-4-14 13:03:33 | 显示全部楼层
就是按照数据手册提供的接法DRDY/Dout、SCLK、PDWN三脚接430,上电后PDWN拉低50us后再拉高,一直等待DOUT(输入端)。。。一直得不到转换结束信号(当DOUT由高变为低电平时说明数据准备好,然后可以读出AD的数据了),但是实际情况是DOUT一直是高电平~~~搞不明白额

出0入0汤圆

发表于 2012-7-9 15:54:37 | 显示全部楼层
/**********************************************************************
* 名称 : Ads1232Initl()
* 功能 : ADS1232初始化函数
* 输入 : 无
* 输出 :无
* 说明 : 无
***********************************************************************/
void Ads1232Initl()
{
        Pdwn=0;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
        GainSelect(3);        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*增益设置为3--放大128倍*/
        Speed=1;                _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*Speed=0 10SPS  Speed=1 80SPS*/
        A0=0;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*通道选择 Ain0-Ain1 差分式输入*/
        Sclk=1;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();         /*拉高*/                                
        Sclk=0;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*形成脉冲*/
        Pdwn=1;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();          /*启动转换*/
        Rdy=1;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*等待数据准备好信号*/
}

出0入50汤圆

发表于 2012-7-9 18:00:36 | 显示全部楼层
你的PDWM拉低复位之后,延时一段时间,还要拉上来啊,否则芯片一直休眠了!

出0入0汤圆

 楼主| 发表于 2012-7-9 21:43:34 | 显示全部楼层
ilikemcu 发表于 2012-7-9 18:00
你的PDWM拉低复位之后,延时一段时间,还要拉上来啊,否则芯片一直休眠了! ...

我的PDWM拉低复位之后,延时一段时间,我的确~~拉高了....

PDWN_L;
delayus(20);
SCLK_L;
PDWN_H;
delayus(20);

while(DOUT);

出0入0汤圆

 楼主| 发表于 2012-7-9 21:53:31 | 显示全部楼层
EysTech 发表于 2012-7-9 15:54
/**********************************************************************
* 名称 : Ads1232Initl()
* 功 ...

Speed, A0, Gain我的均由硬件给的,软件我只控制了PDWN, SCLK, DOUT三个端口..........问一下哦:
Sclk=1;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();         /*拉高*/                                 
Sclk=0;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*形成脉冲*/
这个是必须必须的吗?  我的是在初始化中 直接给的 “低”

出0入0汤圆

发表于 2012-7-10 19:51:26 | 显示全部楼层
ElaineV_lu 发表于 2012-7-9 21:53
Speed, A0, Gain我的均由硬件给的,软件我只控制了PDWN, SCLK, DOUT三个端口..........问一下哦:
Sclk= ...

你可以直接用我这个初始化程序!这个程序是我用在产品上的了!很成熟的程序了!其实ADS1232很简单了!只要电路没错的话!基本上不会有问题的!PS:ADS1232性能确实非常不错!O(∩_∩)O

出0入0汤圆

发表于 2012-7-10 19:53:08 | 显示全部楼层
ElaineV_lu 发表于 2012-7-9 21:53
Speed, A0, Gain我的均由硬件给的,软件我只控制了PDWN, SCLK, DOUT三个端口..........问一下哦:
Sclk= ...

再则!你要用示波器看下,确认晶振是否起振了!

出0入0汤圆

 楼主| 发表于 2012-7-11 10:58:32 | 显示全部楼层
EysTech 发表于 2012-7-10 19:51
你可以直接用我这个初始化程序!这个程序是我用在产品上的了!很成熟的程序了!其实ADS1232很简单了!只 ...

恩,首先真的很谢谢你哦~~O(∩_∩)O。。。Thank you 咩
硬件电路部分我的木有接外部的晶振,是选用的他芯片内部的,不知道是不是因为这样而出的问题呢???

unsigned char i=0;
unsigned long Data;
Data=0;  
  
PDWN_L;//复位ADS1232
delayus(20);
SCLK_L;
PDWN_H;
delayus(20);
  
while(DOUT);//因为DOUT没有下降沿信号(数据准备好),程序一直就停在这里了,不明白啊~~~~

for(i=0;i<24;i++)
{
     Data=Data<<1;  
     SCLK_H;
     _NOP();
     if((P4IN & BIT0))
         Data=Data + 1 ;
     SCLK_L;
}
  
P4DIR |=BIT0;//25个脉冲把最后一位输出后置高
P4OUT |=BIT0;

return  Data;

出0入0汤圆

发表于 2012-7-18 08:23:45 | 显示全部楼层
ElaineV_lu 发表于 2012-7-11 10:58
恩,首先真的很谢谢你哦~~O(∩_∩)O。。。Thank you 咩
硬件电路部分我的木有接外部的晶振,是选用的他芯 ...

你接个4.9152M的外部晶振试试看!我接的外部晶振,但是却出现过 没焊接晶振时DOUT不拉低的情况!

出0入0汤圆

发表于 2012-8-5 16:03:31 | 显示全部楼层
楼上大神解决没有啊???我没接晶振可以收到数据但问题是··数据是错的·我没接负的参考电压

出0入0汤圆

发表于 2013-3-23 16:14:05 | 显示全部楼层
希望楼主告诉一下最终问题是怎样解决的?正头疼呢,为这事……

出0入0汤圆

发表于 2013-3-24 00:00:34 | 显示全部楼层
我的解决了,跟大家分享一下,我的原因是对PWDN操作之前没有拉低SCLK。当时排查了各种硬件原因,没问题后,锁定驱动程序,对照时序分析是发现了问题所在。

希望大家发帖子解决问题后和大家分享一下,这样好对以后的人有参考,少走弯路。

出0入0汤圆

发表于 2013-11-20 21:06:04 | 显示全部楼层
/**********************************************************************
* 名称 : GainSelect()
* 功能 : ADS1232增益设置函数
* 输入 : 无
* 输出 :无
* 说明 : 无
***********************************************************************/
void GainSelect(uchar Gx)
{
        switch(Gx)               
        {
                case 0:Gain0=0;_nop_();Gain1=0;_nop_();                /*GAIN=1*/
                        break;
                case 1:Gain0=1;_nop_();Gain1=0;_nop_();                /*GAIN=2*/
                        break;
                case 2:Gain0=0;_nop_();Gain1=1;_nop_();                /*GAIN=64*/               
                        break;
                case 3:Gain0=1;_nop_();Gain1=1;_nop_();                /*GAIN=128*/               
                        break;
        }
}
/**********************************************************************
* 名称 : Ads1232Initl()
* 功能 : ADS1232初始化函数
* 输入 : 无
* 输出 :无
* 说明 : 无
***********************************************************************/
void Ads1232Initl()
{
        Pdwn=0;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
        GainSelect(3);        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*增益设置为3--放大128倍*/
        Speed=1;                _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*Speed=0 10SPS  Speed=1 80SPS*/
        //A0=0;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*通道选择 Ain0-Ain1 差分式输入*/
        Sclk=1;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();         /*拉高*/                                
        Sclk=0;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*形成脉冲*/
        Pdwn=1;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();         /*启动转换*/
        Rdy=1;                        _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();        /*等待数据准备好信号*/
        DelayNms(10);
}

出0入0汤圆

发表于 2016-1-17 14:43:36 | 显示全部楼层
正准备选用ADS1232,看到你们的帖子受教了

出0入0汤圆

发表于 2016-4-6 14:40:49 | 显示全部楼层
EysTech 发表于 2013-11-20 21:06
/**********************************************************************
* 名称 : GainSelect()
* 功能 ...

你好,你能分享下你的ads1232外部电路给我么

出0入0汤圆

发表于 2016-4-6 14:47:46 | 显示全部楼层
ElaineV_lu 发表于 2012-7-11 10:58
恩,首先真的很谢谢你哦~~O(∩_∩)O。。。Thank you 咩
硬件电路部分我的木有接外部的晶振,是选用的他芯 ...

您好,ads1232怎么选用内部的RC?

出0入0汤圆

发表于 2016-4-7 09:13:29 来自手机 | 显示全部楼层
之前用过,唯一的遗憾就是在当时项目中速度慢了点
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-24 09:05

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表