• 关于mpy电压采集模块的那些事儿(ads1256 ads8688 ad7606)


    先来个人生碎碎念,越狱第三次失败了,而且第四次也可能失败,没错就是这么尴尬,绝对越狱的事件还有917天,其实比较麻木了,越狱成功与否都无所谓了,其实现在出去,外头的疫情,日子也不会好过。趁着还在里面养精蓄锐,也不失为好选择。
    再来说说mpy采集电压的事儿,很多人有电压采集的需要,现在已经给三个模块写了mpy驱动,分别是ads1256 ads8688 ad7606,选模块的时候就注意这么几个参数,通道数、精度、采样速率就可以了。
    以前我说过mpy不适合高速项目,所以这里就涉及到较真的采样速率问题了,比如ad7606,官方给的最大采样率,8通道200k,这个速度对于mpy来说已经很吃力了,然后有的详情里面也有写,单片机实际达不到,具体是多少也没说。。
    这里我就较真一下,速率到底可以到多少,网上只会给个例程,速度是200hz。。。根本不能说明问题,互联网就是这样,想找点真正的资料很费劲,都是哪几片浅一些的文章抄来抄去。
    挑战一下mpy的极限速率,下面是我的发现:
    1.pico比esp32快,原因未知,我猜想可能是pico的mpy更科学
    2.mcu是可以超频的,超频了之后速度也会上去,esp32最大超频240mhz,pico可以到270mhz
    3.spi的读取极限速度测试,测试硬件pico,频率270mhz,跑spi.read(2) 5万次循环,平均速度是90k,也就是一秒读9万次
    4.实际不可能这么理想,因为需要拉低点评,还要存储数据或者发送数据,拉低电平这里也很有学问,如果用最普通的方式写:
    pin.value(1)
    pin.value(0)
    出乎意料,有点慢其实,远大于cpu周期
    但是pico如果用pio写,会快近一倍!
    5.最终的工程是这样的逻辑:
    拉低电平
    spi读2bytes
    串口马上发送
    这里串口也是火力全开,波特率921600

    最终实际速率,大约40k左右,是我能做到的极限了。

    然后简单自学了QT,做了个pc上位机,可以直接将读的数据存txt,并且画图。
    大致这个样子:
    在这里插入图片描述
    在这里插入图片描述
    因为是有悬空电压的,所以读书在3200左右,正常。

  • 相关阅读:
    JVM系列一
    Ubuntu安装Redis
    2023年最新一面二面通关王炸java八股文面试题--持续更新
    Java应用生产Full GC或者OOM问题如何定位
    想做扫码看图效果,你需要学会这一招
    J2EE基础-自定义MVC(上)
    c++视觉处理---拉普拉斯金字塔和高斯金字塔
    网络系统管理 - Server01配置
    【服务器】服务器推荐
    PostgreSQL问题记录:column “...“ does not exist
  • 原文地址:https://blog.csdn.net/jd3096/article/details/128060572