8066|12

9790

帖子

24

TA的资源

版主

楼主
 

ADS1248恒流源没有输出,原来是这个原因 [复制链接]

 
本帖最后由 littleshrimp 于 2017-8-28 16:53 编辑

ADS1248使用恒流源测量RTD(PT100),都配置好以后发现没有电压输出
最后启用内部参考电压后恒流源才输出正常

ADS1248测量PT100电阻值的配置代码

  1. //               ADS1248
  2. //           -----------------
  3. //           |                |
  4. //    ↓--<---|A1 DAC1 1000uA  |
  5. //  ↓---->---|A0              |
  6. //  R(pt100) |                |
  7. //  ↓---->---|A3              |
  8. //  ↓-↑--<---|A2 DAC2 1000uA  |
  9. //  ↓        |                |
  10. //  ↓        |   INT_VREF_ON  |
  11. //  ↓        |                |
  12. //  ↓---->---|REFP1           |
  13. //  Rref(820)|                |
  14. //  ↓---->---|REFN1           |
  15. //  ↓        |                |
  16. // GND       |                |
  17. void ads1248_RTD_set(void)
  18. {
  19.   
  20.   //设置AIN0和AIN3为电阻两端的电压测量
  21.   ads1248_writeReg(ADS1248_0_MUX0, ADS1248_BCS_OFF | ADS1248_AINN0 | ADS1248_AINP3);         
  22.   //关闭VBIAS
  23.   ads1248_writeReg(ADS1248_1_VBIAS,ADS1248_VBIAS_OFF);
  24.   //开启内部参考电压,参考电压使用外部REF1,
  25.   ads1248_writeReg(ADS1248_2_MUX1, ADS1248_INT_VREF_ON | ADS1248_REF1 | ADS1248_MEAS_NORM);
  26.   //PAG Gain4,20SPS
  27.   ads1248_writeReg(ADS1248_3_SYS0, ADS1248_GAIN_4 | ADS1248_DR_20);
  28.   ads1248_writeReg(ADS1248_4_OFC0, 0x00);
  29.   ads1248_writeReg(ADS1248_5_OFC1, 0x00);
  30.   ads1248_writeReg(ADS1248_6_OFC2, 0x00);
  31.   //1000uA电流
  32.   ads1248_writeReg(ADS1248_10_IDAC0,ADS1248_DRDY_OFF | ADS1248_IDAC_1000);
  33.   //DAC1通过A1输出,DAC2通过A2输出
  34.   ads1248_writeReg(ADS1248_11_IDAC1,ADS1248_IDAC1_A1 | ADS1248_IDAC2_A2);
  35.   ads1248_writeReg(ADS1248_12_GPIOCFG, 0x00);
  36.   ads1248_writeReg(ADS1248_13_GPIODIR, 0x00);
  37.   ads1248_writeReg(ADS1248_14_GPIODAT, 0x00);
  38. }
复制代码


相关说明在数据手册中可以找到


The ADS1247 and ADS1248 provide two matched excitation current sources (IDACs) for RTD applications. Forthree-wire RTD applications, the matched current sources can be used to cancel the errors caused by sensorlead resistance. The output current of the IDACs can be programmed to 50 μA, 100 μA, 250 μA,500 μA, 750 μA, 1000 μA, or 1500 μA.The two matched current sources can be connected to dedicated current output pins IEXC1 and IEXC2(ADS1248 only), or to any analog input pin (ADS1247 and ADS1248); see ADS1247 and ADS1248 DetailedRegister Definitions for more information. Both current sources can be connected to the same pin. The internalreference must be turned on and the proper amount of capacitance applied to VREFOUT when using theexcitation current sources.




最新回复

问题解决了   程序都对。就是在初始化配置寄存器的时候吧FSC寄存器配置成0,导致满量程标定为0,所以读出来的数据都是0。本来想省事写一个配置结构体一次性写入ADS1248,结果出了这么一个麻烦。。。。谢谢你的回复  详情 回复 发表于 2018-4-17 15:33
点赞 关注
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 

回复
举报

2万

帖子

343

TA的资源

版主

沙发
 
楼主厉害,,,赞!
 
 
 

回复

2928

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 
很多器件的数据手册都有类似的问题,就是一些很重要的使用方面的注意事项分散在手册后面的章节中,不仔细读完整本手册常常会“上当”。

点评

还真是这样 想不出错就把手册都读遍 没那么多时间就只能试错 [attachimg]319022[/attachimg] 从上边的图理解恒流源应该是AVDD供电 理论最大电压也应该是AVDD-xxxV 而内部参考电压才2.048V 在IDAC0零寄存器  详情 回复 发表于 2017-8-28 22:24
 
 
 

回复

9790

帖子

24

TA的资源

版主

4
 
gmchen 发表于 2017-8-28 18:29
很多器件的数据手册都有类似的问题,就是一些很重要的使用方面的注意事项分散在手册后面的章节中,不仔细读 ...

还真是这样
想不出错就把手册都读遍
没那么多时间就只能试错


从上边的图理解恒流源应该是AVDD供电
理论最大电压也应该是AVDD-xxxV
而内部参考电压才2.048V
在IDAC0零寄存器里也有IDAC开关
刚开始不清楚恒流源为什么一定要开参考电压

后来想了一下,应该是通过参考电压和内部电阻来确定输出的电流大小
这样想就合理了

开内部参考电压在手册的RTD例子里倒是有过介绍
只是全英文的手册真没那么多精力都看一遍

点评

“想不出错就把手册都读遍,没那么多时间就只能试错” 试错所花费的时间很可能比通读一遍要多。  详情 回复 发表于 2017-8-29 07:37
个人签名虾扯蛋,蛋扯虾,虾扯蛋扯虾
 
 
 

回复

2万

帖子

0

TA的资源

超级版主

5
 
littleshrimp 发表于 2017-8-28 22:24
还真是这样
想不出错就把手册都读遍
没那么多时间就只能试错


从上边的图理解恒流源应该是AVDD供电 ...

“想不出错就把手册都读遍,没那么多时间就只能试错”
试错所花费的时间很可能比通读一遍要多。

点评

也不一定多 很多器件只要例程写的好 简单对照数据手册就能跑起来 没有例程就只好啃手册 想这些全英文的手册如果英语不好花很长时间看下来也未必能弄透  详情 回复 发表于 2017-8-29 14:31
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

6
 
所以说,先不要着急先程序或者配置寄存器。先通读datasheet,在保证硬件设计没有问题的情况下。还是多看看对寄存器的操作呢。

点评

没办法 英文不好 看手册是件很头疼的事  详情 回复 发表于 2017-8-29 14:32
 
 
 

回复

9790

帖子

24

TA的资源

版主

7
 
maychang 发表于 2017-8-29 07:37
“想不出错就把手册都读遍,没那么多时间就只能试错”
试错所花费的时间很可能比通读一遍要多。

也不一定多 很多器件只要例程写的好 简单对照数据手册就能跑起来 没有例程就只好啃手册 想这些全英文的手册如果英语不好花很长时间看下来也未必能弄透
 
 
 

回复

9790

帖子

24

TA的资源

版主

8
 
huaiqiao 发表于 2017-8-29 10:46
所以说,先不要着急先程序或者配置寄存器。先通读datasheet,在保证硬件设计没有问题的情况下。还是多看看 ...

没办法 英文不好 看手册是件很头疼的事

点评

这个还是要多啃,啃着啃着就好了(刚开始的时候会很浮躁,慢慢啃下来就好多了)。如果跳过有些章节,然后跑过去直接编程,来回折腾可叫费劲呢。。。。这次你就体会到了。  详情 回复 发表于 2017-8-29 15:08
 
 
 

回复

4177

帖子

9

TA的资源

五彩晶圆(高级)

9
 
littleshrimp 发表于 2017-8-29 14:32
没办法 英文不好 看手册是件很头疼的事

这个还是要多啃,啃着啃着就好了(刚开始的时候会很浮躁,慢慢啃下来就好多了)。如果跳过有些章节,然后跑过去直接编程,来回折腾可叫费劲呢。。。。这次你就体会到了。
 
 
 

回复

5

帖子

1

TA的资源

一粒金砂(初级)

10
 
请教楼主,最近在调试ADS1248   做的3线RTD。初始化的时候配置寄存器都写成功了,恒流源也有输出。但是使用RDATA命令读取AD值,读出来都是0。不知道楼主在启动AD转换和读取AD值的时候是如何操作????

点评

这几天在外边 回去帮你看下 你也可以看看官方代码  详情 回复 发表于 2018-4-16 07:49
 
 
 

回复

9790

帖子

24

TA的资源

版主

11
 
loudianxin 发表于 2018-4-14 22:05
请教楼主,最近在调试ADS1248   做的3线RTD。初始化的时候配置寄存器都写成功了,恒流源也有输出。但是使用 ...

这几天在外边 回去帮你看下
你也可以看看官方代码
 
 
 

回复

5

帖子

1

TA的资源

一粒金砂(初级)

12
 
本帖最后由 loudianxin 于 2018-4-16 12:11 编辑
littleshrimp 发表于 2018-4-16 07:49
这几天在外边 回去帮你看下
你也可以看看官方代码

好的   谢谢,今天在找官方代码看看,调一调
另外这是寄存器的配置
//寄存器配置
ADS1248_REG_DEF m_stADS1248CfgInfo = {
        .nMUX0                 = 0x01,        //MUX0
        .nVBIAS                  = 0x00,        //VBIAS  
        .nMUX1                 = 0x28,        //MUX1
        .nSYS0                 = 0x25,        //SYS0        4倍增益
        .nOFC0                 = 0x00,        //OCF0
        .nOFC1                 = 0x00,        //OCF1
        .nOFC2                 = 0x00,        //OCF2
        .nFSC0                 = 0x00,        //FSC0
        .nFSC1                 = 0x00,        //FSC1
        .nFSC2                 = 0x00,        //FSC2
        .nIDAC0                  = 0x06,        //IDAC0  1ma
        .nIDAC1             = 0x89,        //IDAC1  
        .nGPIOCFG        = 0x00,        //GPIOCFG
        .nGPIODIR        = 0x00,        //GPIODIR
        .nGPIODAT        = 0x00,        //GPIODAT
};

 
 
 

回复

5

帖子

1

TA的资源

一粒金砂(初级)

13
 
littleshrimp 发表于 2018-4-16 07:49
这几天在外边 回去帮你看下
你也可以看看官方代码

问题解决了   程序都对。就是在初始化配置寄存器的时候吧FSC寄存器配置成0,导致满量程标定为0,所以读出来的数据都是0。本来想省事写一个配置结构体一次性写入ADS1248,结果出了这么一个麻烦。。。。谢谢你的回复
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表