AD7606调试笔记:采集多路不正常,少采集几路就正常了

文章目录

  • AD7606调试笔记:采集多路不正常,少采集几路就正常了
    • 问题描述:
    • 查错方案:
      • 处理速度不够
      • 时序不对
    • 解决办法
      • 延时
      • 转换完成读取
        • 是否影响?
    • 结论
      • 未若头发因风起

问题描述:

最近在调试嵌入式比赛的作品,用单片机同时带动两个7606同步采集的过程中,发现采集8+3路信号的时候,后3路数据不对,当采集8+2路时正常。

查错方案:

处理速度不够

当然首先怀疑是速度不够快,我使用的条件是32k采样率,一次采集至多只能花费32us。DEBUG后,发现,实际上只用了约17us,对于32us的要求来说绰绰有余,说是快很多也毫不过分。我电赛时为了克服HAL库的缓慢,能高速得带动7606,专门用IO口模拟SPI驱动的7606。

排除速度问题。

时序不对

选用的是4倍过采样,上升沿读取,也就是转换期间读取。数据手册上描述如下:

于是有疑问了,会不会是我采集的时间太长,在BUSY的高电平持续时间内没有读取完成?当BUSY下降沿到来时,寄存器数据更新了,我此时正在读取,数据自然就出错了。很有可能,开始检验。

锁定时序问题,通过DEBUG查看,前8个通道的数据花费了13.34us,后3路花费了4us左右。

我使用的是4倍过采样率,转换时间,也就是BUSY持续高电平的时间是16-18us。

嗯?!16us,我的采样时间是17us多,正好赶上了BUSY的下降沿。

如上是错误的时序。

解决办法

延时

读取3个通道和读取8个通道之间,加入延时。如下图。延时5us就可以了。

这样解决会有一个问题,就是8路数据和3路数据不再是同步的了。这不满足要求呀。

转换完成读取

将触发改成BUSY的下降沿触发,这样就改成了转换完成再去读取。

经过测试,数据正确。可是大家一定也注意到了,我在读取后3路时,BUSY又被拉高了,开始新的一轮测量。这样是否会影响呢?根据我测到的数据来看是不影响的。那么他是否会影响呢?

是否影响?

我们观察数据手册上的时序图。BUSY上升沿前,是完成了采集的。但是也没有指明是否可以这样测。不如来做个实验验证验证。

我让我手上的两个7606,去采集16路信号。采集时间如下,用了26.6us。32k采样率下,一个周期31.25us,BUSY高电平16us,低电平约15us,下降沿开始采集,采集了26.6us,明显已经进入了下一个周期的BUSY的高电平。严重超时。

开启采集,观察数据。数据正常!看来采集是可以持续到下一个周期的BUSY高电平。

结论

  • 转换完后读取数据:上面的问题,基本上是由于采用了转换期间读取导致的。转换期间读取,只能在BUSY高电平下进行,比如这里的16us,有时间的限制。改用下降沿触发,就可以在一整个周期内读取信号,也就是这里的31.25us。
  • 注意时序:叮嘱自己一下。

未若头发因风起

  • 如果觉得本文章对你有作用,请大方的点个赞吧

AD7606调试笔记:采集多路不正常,少采集几路就正常相关推荐

  1. AD7606调试笔记

    文章目录 AD7606接线图 AD7606SPI通讯接口说明 AD7606时序图 AD7606时序图讲解 AD7606 STM32引脚配置 AD7606 程序模块 遇到的问题以及总结 由于训练电赛,需 ...

  2. 调试笔记--jlink 变量转实时波形小技巧

    调试笔记–jlink 变量转实时波形小技巧 上篇讲了jlink RTT组件在RAM中开辟一段内存,将printf字符串存入然后通过jlink调试接口读取RAM,将printf字符串在jlink-RTT ...

  3. 多路视频数据实时采集系统设计与实现

    多路视频数据实时采集系统设计与实现 常永亮   王霖萱  常馨蓉 摘要 面对越来越多的实时视频采集.播放的应用,如何能更加方便的操控视频采集,保证流畅的播放效果,成为近几年实时媒体流的一个重要研究方向 ...

  4. 【分享干货】AD9653调试笔记

    标题AD9653调试笔记 一.简介 AD9653是ADI公司于2012年推出的一款四通道.16位.125MSPS模数转换器,内置片内采样保持电路,专门针对低成本.低功耗.小尺寸和易用性设计.该产品转换 ...

  5. 海思3559:BT656调试笔记

    前言   海思3559a的sdk例子是没有提供BT1120和BT656视频接入的,但实际上硬件是可以支持接入的.不过前提是只支持逐行方式输入,不支持隔行视频,如果想输入PAL制式的隔行视频,请先用芯片 ...

  6. 调试笔记--keil 测量周期小技巧

    调试笔记–keil 测量周期小技巧 本文参考安富莱专题教程第7期 http://www.armbbs.cn/forum.php?mod=viewthread&tid=87176&ext ...

  7. 调试笔记--keil 断点调试小技巧

    调试笔记–keil 断点调试小技巧 给变量打断点 调试不熟悉的项目时,卧槽!怎么这么多全局变量?这玩意又在那修改了??这个时候会给变量打断点就能省好多事. 将要监视的全局变量添加到watch窗口 选中 ...

  8. gpio驱动广播Android,[RK3288][Android6.0] 调试笔记 --- 通用GPIO驱动控制LED【转】

    Platform: ROCKCHIP OS: Android 6.0 Kernel: 3.10.92 由于板子没有lcd无法得知sd卡升级是否完成,因此使用LED显示. Recovery中升级完成后控 ...

  9. keil4怎么移植其他人的程序_【调试笔记】韦东山:在100ask_imx6ull上移植使用六轴传感器ICM20608...

    之前发了LCD调试笔记,大家很感兴趣,所以这次再来一篇:六轴传感器ICM20608驱动移植笔记,大家还需要什么移植笔记?可以留言.我们尽量满足. 1.1 移植思路 先找到驱动:也许内核里已经有,也许需 ...

最新文章

  1. 进程 互斥锁、队列与管道、生产者消费者模型
  2. JavaScript实现prim普里姆算法(附完整源码)
  3. javaweb学习总结(三十四)——使用JDBC处理MySQL大数据
  4. CodeSmith 基础用法和例子
  5. ElasticSearch插件demo
  6. oracle一页显示15行,oracle rownum分页与显示记录小测
  7. Java如何判断整数溢出,溢出后怎么得到提示?
  8. [转载]Spring Boot Actuator 使用
  9. 计算机中dhcp服务器怎么找,如何查找网络中其他非法 DHCP 服务器Unix系统 -电脑资料...
  10. 【金万维】天联高级版客户端登陆后,打开U8提示服务器端要求网络级身份证(NLA)
  11. 怎样在计算机上注册dll文件,win10如何注册dll文件_win10系统dll文件怎样安装
  12. 0x02 如何安装【XPS 查看器】?超简单哦!
  13. hivesql:行列转换
  14. 信息安全管理——网络安全监管
  15. AFDX(ARINC664)的交换机规范
  16. 网络创业理论与实践(网络通识)
  17. 《遥远的救世主》遵守客观规律(五)——文化属性
  18. python中abs函数是什么意思_python中abs是什么意思
  19. 淘宝双十一实时显示成交数据是怎么实现的?
  20. windows系统自带工具dxdiag查看电脑信息

热门文章

  1. 《js遍历json、js创建table、隐藏id列、点击获取id值》
  2. SAP VF11冲销发票BADI
  3. 64位操作系统(WIN10)+32位LabVIEW(2020)+64位MySQL,Windows10系统下用32位ODBC连接MySQL
  4. Matlab中unwrap函数内容详解
  5. 【Linux】什么是进程(process)?
  6. 华为荣耀6x内核编译修改PTRACE安装xposed/frida并打开ro.debuggable记录
  7. Windows 删除”找不到该项目”文件夹
  8. Linner介绍、安装及简单Demo
  9. 下载和使用TPXO9_atlas
  10. 【历史上的今天】2 月 26 日:施乐 Alto 设计师出生;ATM 机获得专利;Clearview AI 被盗取 30 亿张照片