ADS8688笔记

Posted 四臂西瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ADS8688笔记相关的知识,希望对你有一定的参考价值。

8688笔记

模块基本信息

指标参数备注
采样率最大500k实测32最大开发到将近300k
分辨率16位
精度14-15位大致如此,具体见数据手册
输入范围(下面列出来
供电5v不是±5V
采用方式单路采样,可以切换
  • 我测试用的是康威的ADS8688模块,我见淘宝上主要有两个版本,差距不大的。主要是接口不一样,另一个版本是SMA头,当然大家可以自己画一个板子。

  • 输入范围,可调,这是一大优势。具体的输入范围如下。

    ±10.24V

    ±5.12V

    ±2.56V

    0-10.24V

    0-5.12V

使用感触

首先是说说这个采样率,我最选择测试它主要是因为它的采样率可以高达500k,这么高的采样率很诱人,但是实际上,我在使用H7工作在480M的情况下,也只能把他开发到280k左右的采样率。

精度上有16位,精度上很常规,完全够用。虽说不及那些24位的500k采样率AD,毕竟价位放那呢。

输入范围可以调节,很香,针对不同的应用场景可以灵活调节。不过我用它主要是为了应对电赛,外部可以加运放,所以对输入范围不是特别在意。

我手上掌握的模块里,已经有AD7606,我将两者对比后,决定不用8688,8688贵,同时能开发出来的采样率不比7606的200k高太多,还不支持同步采样。

IO口模拟SPI

能达到的最大速度约280k采样率,这个采样率是我在取消掉IO口翻转后面的延时情况下,勉强达到的,后面发现,是因为比如if这样的代码运行时间导致的它仍然符合时序。我提供的代码里为了稳定,还是将延时加入了。

硬件SPI

最高170k采样率,我怀疑主要是HAL库的效率低导致的采样率这么低。

代码

由于在工程里,这里就只发.c,.h和main文件。

先声明下,代码修改自康威的例程,我把他的接口和时间参数进行了修改,并用cubemx进行了实现。商家原先的代码,为了系统的稳定,加入了很多不必要的延时,采样率低的出奇。

因为我后面不会用这个模块,所以提供的代码质量不会像其他模块那么高。


下面我以IO口模拟SPI为例,简单地讲讲提供的代码怎么用。

cubemx

给引脚配置

主要注意红框框里面的设置

keil端

接着把.c和.h文件加入工程(过程百度

在main.c里面

#include "ads8688.h"//包含头文件
uint16_t value
//....
void main()
{
       ADS8688_Init(CH0_EN | CH1_EN | CH2_EN | CH3_EN | CH4_EN | CH5_EN | CH6_EN | CH7_EN);//初始化ADS8688的底层
    Set_CH_Range(CHIR_0, ADS8688_IR_N2_5V);//设置各个通道的采样范围,具体可以看看8688.c里面的注释。康威说的很清楚的
    Set_CH_Range(CHIR_1, ADS8688_IR_N2_5V);
    Set_CH_Range(CHIR_2, ADS8688_IR_N2_5V);
    Set_CH_Range(CHIR_3, ADS8688_IR_N2_5V);
    Set_CH_Range(CHIR_4, ADS8688_IR_N2_5V);
    Set_CH_Range(CHIR_5, ADS8688_IR_N2_5V);
    Set_CH_Range(CHIR_6, ADS8688_IR_N2_5V);
    Set_CH_Range(CHIR_7, ADS8688_IR_N2_5V);
    MAN_CH_Mode(MAN_CH_0);//选择通道CH0
    value = Get_MAN_CH_Mode_Data(); //读取通道的电压值
}

未若头发因风起

  • 如果觉得本文章对你有作用,请大方的点个赞吧
  • 需要代码请评论区留言邮箱

以上是关于ADS8688笔记的主要内容,如果未能解决你的问题,请参考以下文章

2017年国赛H题:远程幅频特性测试装置

ECG - ADS1298 使用笔记- 芯片简介(转)

ECG - ADS1298 使用笔记-PACING DETECTING/起搏检测

张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号

张高兴的 Windows 10 IoT 开发笔记:使用 ADS1115 读取模拟信号

学习笔记:python3,代码片段(2017)