11990|5

259

帖子

5

TA的资源

一粒金砂(高级)

楼主
 

寻找造成AD值不稳定的原因(ADS1248) [复制链接]

本帖最后由 Tobey 于 2016-8-18 05:39 编辑

   最近需要将一个ADC裸奔程序移植到RTX操作系统上,遇到了下述问题无法解决~望各位大侠指点指点~

基于stm32f103通过ADS1248芯片实现ADC模块,
  ADS1248的通信通过SPI2实现,SPI2的三个引脚与ADS1248的对应关系如下:
       SCK    ->  SCLK
       MISO  ->  DOUT
       MOSI  ->  DIN
  stm32采用外部晶振HSE,相关时钟配置如下:
       APB1的外设时钟:36MHz,
       SPI2预分频因子为256,波特率大致为140KBits/s,频率大致为140KHz
  AD数据获取流程(初始化略过):
       选择模拟输入的正负极(即选择通道)
       启动AD单次转换
       等待DRDY处于低电平状态(等待AD转换完成)
       通过SPI2发送RDATA+NOP命令读取AD寄存器中的数据,
       通过USART打印AD数据

  运行程序后发现AD数值不稳定,
   
        在网上搜索相关资料时看到有网友指出错误可能是SPI造成的,
        ADS1248手册中的时序图如下,手册中对于SCLK的周期要求是至少488ns, 换算成SPI的频率为2MHz,程序中SPI2的频率为140KHz,没有超出限制,
        
        

        使用滤波器对SCLK引脚进行测量,示波器中显示的波形出现尖锋,
        即:SCLK的脉冲不满足tSPWL的要求,因此无法正确获取AD值!
      

      重装系统后使用cube重新生成并编译运行项目,示波器显示SCLK的波形正常~~
      查看串口助手,发现AD值正常获取,
      我的疑惑在于:
            1、造成AD值不稳定的原因是什么?
            2、stm32cubemx生成的代码是不是存在问题?
           (从官网下载最新版cube重新生成项目后波形就正常了!)
      重新编译后测得的SCKL波形:
     





此帖出自ARM技术论坛

最新回复

什么都有可能,毕竟软件有个编译过程,那个组件没注册都有可能会引起一些莫名其妙的现象,,,不过相信肯定有原因,慢慢体验吧  详情 回复 发表于 2016-8-18 18:27
点赞 关注
 

回复
举报

828

帖子

8

TA的资源

一粒金砂(高级)

沙发
 
不会是版本问题吧?
此帖出自ARM技术论坛

点评

cube版本的问题?也有这么想过,不过第一次测波形的时我使用的项目也是 用重装的cube重新生成的(没重启前)~~难道是先前还没配置好,重启后才算是真正的 安装完成?  详情 回复 发表于 2016-8-18 08:10
 
个人签名人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远http://www.xzroad.com/
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

板凳
 
wugx 发表于 2016-8-18 07:31
不会是版本问题吧?

cube版本的问题?也有这么想过,不过第一次测波形的时我使用的项目也是
用重装的cube重新生成的(没重启前)~~难道是先前还没配置好,重启后才算是真正的
安装完成?
此帖出自ARM技术论坛

点评

什么都有可能,毕竟软件有个编译过程,那个组件没注册都有可能会引起一些莫名其妙的现象,,,不过相信肯定有原因,慢慢体验吧  详情 回复 发表于 2016-8-18 18:27
 
 
 

回复

2721

帖子

0

TA的资源

纯净的硅(中级)

4
 
需加校正电路
此帖出自ARM技术论坛

点评

校准电路?指的是ADS1248的校准吗?ADS1248的自偏移校准、偏移校准以及增量校准在初始化时实现了,,  详情 回复 发表于 2016-8-18 11:02
 
 
 

回复

259

帖子

5

TA的资源

一粒金砂(高级)

5
 

校准电路?指的是ADS1248的校准吗?ADS1248的自偏移校准、偏移校准以及增量校准在初始化时实现了,,
此帖出自ARM技术论坛
 
 
 

回复

828

帖子

8

TA的资源

一粒金砂(高级)

6
 
Tobey 发表于 2016-8-18 08:10
cube版本的问题?也有这么想过,不过第一次测波形的时我使用的项目也是
用重装的cube重新生成的(没重启 ...

什么都有可能,毕竟软件有个编译过程,那个组件没注册都有可能会引起一些莫名其妙的现象,,,不过相信肯定有原因,慢慢体验吧
此帖出自ARM技术论坛
 
个人签名人生有许多选项是灰色的、不可选的,但至少你可以选择生活的态度。。。韬光养晦,志存高远http://www.xzroad.com/
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表