GAD7980/CL1680/AD7980详解与开发说明

目录

    • 1 概述
    • 2 GAD7980简介
    • 3 用法时序
    • 4 参数计算与参数解释
    • 4.1 采样率
    • 4.2 转换时间
    • 4.3 采集时间
    • 5 采样数值折算
    • 6 设计注意事项
    • 7 代码demo

1 概述

本文用于讲述GAD7980的功能与用法,以及其中一些参数的计算方法,用法时序,输出数值等等,便于后续沟通交流。
GAD7980与AD7980/CL1680时序兼容,硬件兼容可以使用同一套代码。

2 GAD7980简介

GAD7980是一款16位1MSPS SAR ADC,常用来采集电压信号。最大采样率为1MSPS,采用兼容的SPI接口进行数据输出,没有寄存器等配置,使用简单。
其原理框图如下:
GAD7980/CL1680/AD7980详解与开发说明_第1张图片

3 用法时序

虽然本芯片手册介绍了很多种使用模式,但本文仅以CS模式(三线式且无繁忙指示)举例说明使用情况其时序如下所示:
GAD7980/CL1680/AD7980详解与开发说明_第2张图片

资料上的CS模式的意思为采集分两步:
1) 转换区间:当SDI=1后,进入CS模式,当CNV的上升沿来临时启动转换进入转换区间(CONVERSION),在最大转换时间内CNV要一直保持高电平。
2) 采集区间:之后CNV拉低开始进入采集区间(ACQUISITION),在CNV拉低后的第一个SCK的处开始拿数据,总共16个数据,MSB先出来。16个个SCK后就关断了采集,等待进入下一个周期。

4 参数计算与参数解释

4.1 采样率

采样率=1s/tcyc;
所以最大采样率是在tcyc最小时出现,即最大采样率=1s/1us=1MHZ
Tcyc=转换时间(tCONV)+采集时间(tACQ);

4.2 转换时间

转换时间tconv是器件将模拟信号转换为数字信号的时间,有一个根据资料可知典型值为0.6us,最大值为0.7us,即在代码设计时,选择CS模式时CNV保持高电平的时间应该至少大于0.6us,最好大于0.7us。

4.3 采集时间

采集时间为将数据用SDO吐出的时间,共16个SCK。虽然手册上说tsck最小为12ns,即SPI的理论速率可以达到83MHZ左右。但是又规定了tacq最小为0.3us,则实际上tsck的最小周期=0.3us/16=18.75ns,即SPI的速率最大应该以周期18.75ns算得到53MHZ左右。
当然若要尝试把SPI速率拉到解决理论值,在需要把CNV的高电平时间拉的更长。

5 采样数值折算

根据手册可知,本器件输出的值代表的电压值大小是根据VREF来的,比如当VREF为5V时,折算结果如下所示。如果VREF=2.5V则输出码值1代表的电压还要除以2即38.15uv:

GAD7980/CL1680/AD7980详解与开发说明_第3张图片

6 设计注意事项

1) 由于转换时间TCONV最大值为0.7us,因此在设计代码时CNV的高电平的高电平时间要大于0.7us设计,否则可能还没转换完就出数据,出的值可能不对;
2) 由于TEN的最大值为10ns,因此输出SCK的与产生CNV的控制时钟可能需要反向;

7 代码demo

cl1680/GAD7980/AD7980 CFG DEMO
https://download.csdn.net/download/u014586651/87994516

你可能感兴趣的:(FPGA,ad7980,GAD7980,CL1680,fpga,verilog,ADC采样)