ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU
打印

[STM32F7] (悬赏5000元)ADS1220采集不到数据

[复制链接]
679|22
跳转到指定楼层
楼主
本帖最后由 Cjy_JDxy 于 2019-6-13 08:44 编辑

芯片用的STM32F767,环境用的是MDK5
ADS1220采集数据全是65535.
电路图:

程序:
湖北快3STM32_ADS1220DRIVE.rar (29.8 KB, 下载次数: 15)
请高手看看,哪里有问题?谢谢!



沙发
| 2019-6-10 09:43 | 只看该作者
用示波器抓下波形,和AD芯片要求的时序对比下看看,差别在哪里;
板凳
 楼主 | 2019-6-10 17:34 | 只看该作者
谢谢!writeReg(ADS1220_REG_0,0x55);
        hal_ads1220._Reg[0] = readReg(ADS1220_REG_0);
这两条语句,读写寄存器都没问题,说明读写时序是对的。
示波器不好抓,只有两个通道。
地板
 楼主 | 2019-6-10 18:47 | 只看该作者
数据类型错了.原来是unsigned int类型,现在改成long型,数据有变化,可是最高字节是0xff,是负值。
把两根信号线倒了一下,还是负值。很奇怪。
5
| 2019-6-10 21:19 | 只看该作者
1. 设置了选择REFP0吗?
2. 考虑一下输入确实转换结果为0xFFFFFF。
6
 楼主 | 2019-6-11 09:32 | 只看该作者
BOY200501 发表于 2019-6-10 21:19
1. 设置了选择REFP0吗?
2. 考虑一下输入确实转换结果为0xFFFFFF。

谢谢!
选择AIN1是正,AIN2是负。
转换结果有变化,不是FFFFFF。我感觉不应该是负值。
7
 楼主 | 2019-6-11 10:26 | 只看该作者

以上是我的初始化代码。大神看看有什么问题吗?谢谢!
8
 楼主 | 2019-6-11 10:53 | 只看该作者
传感器正常输出0-20mV,测芯片的7脚和10脚却760多mV.
不知道是不是电路有问题?
9
 楼主 | 2019-6-12 17:24 | 只看该作者
随便举一个采样值:4294954577.
太大啦
10
 楼主 | 2019-6-13 13:18 | 只看该作者

这是CS和DOUT的波形,搞不明白,为什么DOUT的波形是一个锯齿波的形状。
11
| 2019-6-13 15:00 | 只看该作者
用一个I2S的 ADC 不是更好吗?  24BIT/96KHZ采样率。 你这个ADC多少?
12
 楼主 | 2019-6-13 15:12 | 只看该作者
netjob 发表于 2019-6-13 15:00
用一个I2S的 ADC 不是更好吗?  24BIT/96KHZ采样率。 你这个ADC多少?

24BIT/2KSPS
13
| 2019-7-4 15:23 | 只看该作者
用示波器抓波形比价靠谱
14
| 2019-7-4 15:28 | 只看该作者
直接接一个固定电平的 试试看呢
15
| 2019-7-4 15:32 | 只看该作者
请问这个芯片是干嘛用的
16
 楼主 | 2019-7-4 16:03 | 只看该作者
观海 发表于 2019-7-4 15:32
请问这个芯片是干嘛用的

24位AD采样
17
| 2019-7-5 09:54 | 只看该作者

好的 非常感谢
18
| 2019-7-8 14:53 | 只看该作者
void Setup_ADS1220 (unsigned char inputMux,unsigned char dataRate,unsigned char conversionMode)
{
    unsigned char config[4];

    config[0] = inputMux + ADS1220_GAIN_1 + ADS1220_PGA_BYPASS;//inputMux 选择通道   ADS1220_GAIN_1增益已设为1    ADS1220_PGA_BYPASS禁用旁路PGA
    config[1] = dataRate + ADS1220_OP_MODE_NORMAL + conversionMode + ADS1220_TEMP_SENSOR_OFF + ADS1220_BURN_OUT_CURRENT_OFF;//dataRate  速率设置   ADS1220_OP_MODE_NORMAL正常采集模式     conversionMode单/连续模式   ADS1220_TEMP_SENSOR_OFF禁用温度传感器   ADS1220_BURN_OUT_CURRENT_OFF电流源关闭
    config[2] = ADS1220_VREF_EXT_REF0_PINS + ADS1220_FIR_NONE + ADS1220_LOW_SIDE_POWER_OPEN + ADS1220_IDAC_CURRENT_OFF;   //ADS1220_VREF_EXT_REF0_PINS 基准电压  ADS1220_FIR_NONE 滤波设置关   ADS1220_LOW_SIDE_POWER_OPEN 旁侧电源断开    ADS1220_IDAC_CURRENT_OFF  激励电源关闭
    config[3] = ADS1220_IDAC1_DISABLED + ADS1220_IDAC2_DISABLED + ADS1220_DRDY_ON_DRDY_ONLY;  //ADS1220_IDAC1_DISABLED  禁用路由设置  ADS1220_IDAC2_DISABLED禁用路由设置   ADS1220_DRDY_ON_DRDY_ONLY 数据就绪标志位仅专用接口

    ADS1220_Write_Regs (config, ADS1220_CONFIG_0_REG, 4);
}



    Setup_ADS1220(ADS1220_MUX_AIN0_AVSS,ADS1220_DATA_RATE_330SPS,ADS1220_CONVERSION_SINGLE_SHOT);
    ReadConversionData=0;
    ADS1220_Start();
    while(!ReadConversionData);
    ADS1220_Get_RTD_Conversion_Data_Calibrated (&ADS1220RTDdata_flag);
19
| 2019-7-8 14:55 | 只看该作者
一定要先保证电路是没问题的,再去调试程序
20
 楼主 | 2019-7-8 18:38 | 只看该作者
345344300 发表于 2019-7-8 14:53
void Setup_ADS1220 (unsigned char inputMux,unsigned char dataRate,unsigned char conversionMode)
{
   ...

谢谢!你的回复对我还是有帮助的
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表
广西快3 贵州快3 内蒙古快3 河南快3 北京赛车 吉林快3 福建快3 湖北快3 北京赛车 北京赛车