前言

购买到的AD7606八通道AD转换模块可以用于各种实验。本文就该模块的基本性能进行测试。

▲ 模块基本信息


简介

相应的资料可以在AD7606百度网盘下载,提取文件密码:6f5g.
https://pan.baidu.com/s/1i4HIJvn 密码: 6f5g

1. 模块外部接口

▲ 模块外部接口

2.模块的参考电路图

▲ 模块的电路图


制作实验电路

1. 模块对外接口

原来模块是32芯的外部接口,使用10芯电缆制作串行的对外接口。

▲ 制作十芯对外接口

引线管脚定义:

管脚 定义
1 GND
2 +5V
3 RANGE
4 CA-CB
5 RD-CLK
6 RST
7 BUSY
8 CS
9 D7-DOUTA
10 D8-DOUTB

2.Oversample Bit Setting

OS012确定了AD7606数字滤波器的截止频率。实验中,在电路模块后面使用锡桥将OS012焊接在一起,然后通过短路子与GND,+5V选择连接。

▲ Oversample Bit Setting

▲ 使用短路子将OS0,1,2都接地

3.串行接口

AD7606数据接口是依靠管脚 _PAR/SER/BYTE来选择的。当管脚为高电平,输出为串行接口;如果是低电平,输出为并行接口。

在模块中,通过R1,R2来确定_PAR管脚的电平的高低。现在配置的是高电平,模块为串行输出接口。

▲ 板上通过R1,R2的焊接来确定串行和还是并行接口

4.CA,CB接口

模块中,CA,CB已经使用锡桥在背面焊接在一起了。因此在控制中只需要一个信号线便可以启动所有的八个通道的采样转换了。


与MCU相连

1.MCU电路板1

电路板采用了在博文“23LC1024四线访问数据”中的MCU板,其中集成了23LC1024串口RAM作为数据缓存,这样可以保证采集数据的速率和时间均匀采样。

该电路模块留有10pin的接口用于控制AD7606模块,接口的定义分别为:

管脚 符号 功能定义
1 GND 电源地
2 +5V 电源
3 AD_CLK SPI的CLK, P3,2
4 AD_MISO SPIMISO, P3.3
5 AD_MOSI SPIMOSI, P3.4
6 AD_SS SPI_SS, P3.5
7 ADCP1 AD控制线1, P3.6
8 ADCP2 AD控制线2, P3.7
9 ADCP3 AD控制线3, P1.6
10 ADCP4 AD控制线4, P1.7

2.连接MCU与AD7606模块

按照以下规格,通过面包板搭建实验电路。实际上就是按照顺序将MCU的PIN1,8连接到AD7606模块引脚的3-10。

序号 MCU引线 AD7606
1 ADCP4, P1.7 D8_DOUTB
2 ADCP3, P1.6 D7_DOUTA
3 ADCP2,P3.7 CS
4 ADCP1,P3.6 BUSY
5 AD_SS,P3.5 RST
6 AD_MOSI, P3.4 RD-CLK
7 AD_MISO,P3.3 CA-CB
8 AD_CLK,P3.2 RANGE

▲ 搭建的实验电路


软件调试2

1. 基本时序信号

(1) 启动转换与BUSY信号

CACB脉冲C宏定义:

#define AD7606_STARTC           (OFF(AD7606_CACB), ON(AD7606_CACB))
  • CACB的脉冲宽度:TCACB=33nsT_{CACB} = 33nsTCACB​=33ns
  • BUSY信号的宽度为:TBUSY=3.93μsT_{BUSY} = 3.93\mu sTBUSY​=3.93μs

▲ 启动转换脉冲与BUSY脉冲

根据TBUSYT_{BUSY}TBUSY​的大小,可以看到,最快的转换速率为:1/TBUSY=1/3.93×10−6=250kHz1/T_{BUSY} = 1/3.93 \times 10^{ - 6} = 250kHz1/TBUSY​=1/3.93×10−6=250kHz

设计一个函数用于转换并等待BUSY信号完成转换:

//------------------------------------------------------------------------------
unsigned int AD7606Convert(void) {unsigned int i;AD7606_STARTC;for(i = 0; i < 0x100; i ++) {if(VAL(AD7606_BUSY) == 0) break;}return i;
}

使用AD7606_CLK作为外部时间指示,测量AD7606Convert()函数执行时间为:TCONV=4.17μsT_{CONV} = 4.17\mu sTCONV​=4.17μs。

▲ 测量ADC7606Convert()执行时间

(2)读取转换数据

AD7606的串行数据读取时序图为:

▲ AD7606串行数据读取时序图

读取相应的子程序:

void AD7606ReadData(int * pData, unsigned char ucNumber) {unsigned int nA, nB, nMask;unsigned char i, j;OFF(AD7606_CS);for(j = 0; j < ucNumber; j ++) {nMask = 0x8000;nA = nB = 0;for(i = 0; i < 16; i ++) {ON(AD7606_CLK);if(VAL(AD7606_DOUTA))nA |= nMask;if(VAL(AD7606_DOUTB))nB |= nMask;OFF(AD7606_CLK);nMask >>= 1;            }*(pData ++) = nA;*(pData ++) = nB;}ON(AD7606_CS);
}

读取时序与时间:
完成8个数据的读取时间为:T8INT=44.1μsT_{8INT} = 44.1\mu sT8INT​=44.1μs

▲ 读取8个数据的时序

分别测试读取1~4组数据所需要的时间:

读取组数 消耗时间(us)
1 11.6
2 22.9
3 34.4
4 45.5

如果使用单路数据读取,则读取四个数据的时间为:T4=35.5μsT_4 = 35.5\mu sT4​=35.5μs,比使用双路同时读取两个通道的四个数据少了9us。

实测读取一个数据的时间为9μs9\mu s9μs。

读取单个(DOUTA, DOUTB)的子程序为:

void AD7606ReadDataA(int * pData, unsigned char ucNumber) {unsigned int nA, nMask;unsigned char i, j;OFF(AD7606_CS);for(j = 0; j < ucNumber; j ++) {nMask = 0x8000;nA = 0;for(i = 0; i < 16; i ++) {ON(AD7606_CLK);if(VAL(AD7606_DOUTA))nA |= nMask;OFF(AD7606_CLK);nMask >>= 1;            }*(pData ++) = nA;}ON(AD7606_CS);
}

采集数据测试

1. 电压与AD转换数据

测量在AD端口不同的电压,所ADC转换后的数据。下面是给出的采集数据以及相应的数据波形。

volt=[-4.94,-4.74,-4.53,-4.33,-4.13,-3.93,-3.72,-3.52,-3.32,-3.12,-2.91,-2.71,-2.51,-2.31,-2.10,-1.90,-1.70,-1.50,-1.29,-1.09,-0.89,-0.69,-0.48,-0.28,-0.08,0.07,0.31,0.51,0.72,0.92,1.13,1.33,1.53,1.74,1.94,2.15,2.35,2.55,2.76,2.96,3.16,3.37,3.57,3.77,3.98,4.18,4.39,4.59,4.79,5.00]
data=[-16555.00,-15704.00,-15248.00,-14389.00,-13837.00,-13158.00,-12423.00,-11791.00,-11115.00,-10450.00,-9876.00,-9092.00,-8488.00,-7845.00,-7129.00,-6519.00,-5816.00,-5136.00,-4479.00,-3840.00,-3180.00,-2493.00,-1841.00,-1178.00,-526.00,87.00,756.00,1427.00,2100.00,2750.00,3447.00,4083.00,4748.00,5403.00,6122.00,6742.00,7393.00,8037.00,8798.00,9424.00,10185.00,10817.00,11390.00,12081.00,12734.00,13414.00,14187.00,14862.00,15410.00,16005.00]

▲ 电压与采集的AD数据

2. 改变RANGE的设置

前面的实验设置RANGE=1, 这样测量电压范围是±10V\pm 10V±10V。下面将RANGE设置为低电平,此时采集电压的范围是±5V\pm 5V±5V。重新采集前面的电压,得到如下的测量数据和相关的曲线。

volt=[-4.94,-4.74,-4.53,-4.33,-4.13,-3.93,-3.72,-3.52,-3.32,-3.12,-2.91,-2.71,-2.51,-2.31,-2.10,-1.90,-1.70,-1.50,-1.29,-1.09,-0.89,-0.69,-0.48,-0.28,-0.08,0.07,0.31,0.51,0.72,0.92,1.13,1.33,1.53,1.74,1.94,2.15,2.35,2.55,2.76,2.96,3.16,3.37,3.57,3.77,3.98,4.18,4.39,4.59,4.79,5.00]
data=[-16555.00,-15704.00,-15248.00,-14389.00,-13837.00,-13158.00,-12423.00,-11791.00,-11115.00,-10450.00,-9876.00,-9092.00,-8488.00,-7845.00,-7129.00,-6519.00,-5816.00,-5136.00,-4479.00,-3840.00,-3180.00,-2493.00,-1841.00,-1178.00,-526.00,87.00,756.00,1427.00,2100.00,2750.00,3447.00,4083.00,4748.00,5403.00,6122.00,6742.00,7393.00,8037.00,8798.00,9424.00,10185.00,10817.00,11390.00,12081.00,12734.00,13414.00,14187.00,14862.00,15410.00,16005.00]

▲ 输入电压与ADC数值


  1. 电路板设计工程文件:AD\Test\2020\TestAD7606STC\TestAD7606STC8G.SchDoc ↩︎

  2. C51工程文件:C51\STC\Test\2020\testAD76068G1K\TestAD76068G.uvproj ↩︎

AD7606八通道AD采集模块测试相关推荐

  1. 基于AD7606八通道高速数据采集模块

    01前言 AD7606八通道AD采集模块 是一款16比特AD转换器.它最大可以提供200kps的采样速率.通过 带有128KB缓存的AD7606模拟采集板 可以在占用C51CPU执行时间30%的情况下 ...

  2. 用ADC0809实现八通道采集

    ADC0809完成八通道采集 1.ADC0809的概述 1.1芯片特点 1.2引脚介绍 1.3工作过程 2.使用原理图仿真 2.1实验仿真概述 2.2原理图 3.解析原理图 3.1晶振和复位模块 3. ...

  3. AD7606/AD7616使ZYNQ在能源电力领域如虎添翼,可实现16/32/64通道AD同步采样

    1 AD7606/AD7616介绍 AD7606是ADI公司的16位.8通道同步采样AD芯片,并行采样率高达200KSPS(AD7616是16位.16通道.1MSPS).在电力线路测量和保护系统中,需 ...

  4. 8通道250MSPS 14位AD采集FMC子卡

    FMC124是北京青翼科技的一款8通道250MHz采样率14位AD采集FMC子卡模块,该板卡符合VITA57规范,可以作为一个理想的IO模块耦合至FPGA前端,8通道AD通过高带宽的FMC连接器(HP ...

  5. 16 通道 65MSPS 14 bit 直流耦合 AD 采集卡/ FMC 子卡

    FMC149 是一款 16 通道 65MHz 采样率 14 位直流耦合 AD 采 集 FMC 子卡,符合 VITA57.1 规范,可以作为一个理想的 IO 模块耦合至 FPGA 前端,16 通道 AD ...

  6. 8通道250MSPS采样率16位AD采集FMC子卡-高速数据采集专家

    FMC128是一款8通道250MHz采样率16位分辨率AD采集FMC子卡,符合VITA57.1规范,可以作为一个理想的IO模块耦合至FPGA前端,8通道AD将模拟信号数字化后通过高带宽的FMC连接器( ...

  7. 【国产虚拟仪器】4 通道3.2GSPS(或者配置成2 通道6.4GSPS)采样率的12 位AD 采集FMC+子卡模块

    板卡概述 FMC_XM134 是一款4 通道3.2GSPS(或者配置成2 通道6.4GSPS)采样率的12 位AD 采集FMC+子卡模块,该板卡为FMC+标准,符合VITA57.4 规范,可以作为一个 ...

  8. 基于 VITA57.1 标准的单通道 6GSPS 12 位AD采集,单通道 6GSPS 16 位 DA(AD9176)输出 子卡

    FMC147 是一款单通道 6.4GSPS(或者配置成 2 通道 3.2GSPS)采样率的 12 位 AD 采集.单通道 6GSPS(或配置成 2 通道 3GSPS)采样率 16 位 DA 输出子卡模 ...

  9. FMC子卡:4 通道 16bit 12.6G AD 采集

    FMC131 是一款 4 通道 12.6GSPS 采样率 16 位 AD 采集 FMC子卡模块,该板卡为 FMC+标准,符合 VITA57.4 规范,可以作为一个理想的 IO 模块耦合至 FPGA 前 ...

最新文章

  1. %matplotlib inline %config InlineBackend.figure_format = “retina为了将图片嵌入notebook及提高分
  2. [bzoj2229][Zjoi2011]最小割
  3. 数据结构——折半查找
  4. 安装graphviz
  5. MongoDB 查询时间差问题修复
  6. 中国农业大学计算机专业在陕西录取分数线,陕西考生,400多分被985大学录取,分不高的考生“捡漏“注意这几点...
  7. spring gateway 鉴权_通过spring实现service变成controller,代码得到了简化
  8. sql 为什么要用where 1=1或者where 1 =0 ?
  9. matlab 嵌入式,面向嵌入式系统的 MATLAB 和 Simulink
  10. java搭建线程池框架_JAVA线程池经管及分布式HADOOP调剂框架搭建
  11. 动态规划系列问题—从小白到大佬的入门、进阶之旅!!!
  12. bom csv java_Java系列化与反系列化
  13. python 字符串_Python中常用的8种字符串操作方法
  14. C语言中断函数c_int00的作用,关于DSP程序中的_c_int00含义
  15. 安装tomcat时出错:failed to install tomcat6 service问题的解决方法
  16. 前言:电商产品经理必修课-如何打造实战型商品系统
  17. 为什么要做访问学者?
  18. 浏览器中网址访问过程解析
  19. 计算机毕设-学籍管理系统
  20. 国标GB/T28181协议下EasyGBS互联网无插件视频播放器起播慢或延迟高问题解决方案

热门文章

  1. HTTP:SSL证书简介!
  2. windows版微信Hook开发SDK之C#版-微信二次开发
  3. linux下安装点歌系统,V8点歌系统
  4. 充电桩,成了新能源汽车发展的“拦路虎”?
  5. 青龙面板nvjdc诺兰自定义公告页面
  6. servlet:共享资源造成的线程冲突
  7. vc6.0 如何添加全局变量
  8. niushop多商户商户端手机uniapp源码v4单商户v4_Saas开源版含uniapp以及niushop社区团购标准版源码开源的区别
  9. 招银网络科技Java社招面经
  10. cobalt strike profile