AD7606使用系列篇0--AD7606引脚使用与数据读取

AD7606使用系列篇0--AD7606引脚使用与数据读取

AD7606简介

AD7606是一款由ADI公司生产的,包含八通道,双极性输入,同步采样16位ADC,内置2.5V基准电压。AD7606需要用引脚配置内部工作模式,有并行和串行两种方式通信,由于我手上的板卡的引脚数量有限,因此我采用串行SPI通信方式进行通信。

引脚定义说明

1.CS引脚:CS引脚用于判断是否可以进行下一个SPI信号的传输,所以当每完成一次传输时,需要将其拉高。
2.RESET引脚:RESET用于对芯片进行重置,高电平有效。RESET引脚在芯片手册中描述仅需50ns的脉冲信号即可触发,所以从理论上来说,再低一些也是可以的。
3.CONVST引脚:CONVST引脚是8个引脚的重置,只有当8个引脚都轮流输出过一遍时,才会需要进行一次拉低。
4.OS引脚:OS引脚是过采样引脚,类似硬件滤波。输入不同的数字信号过采样率不同。
5.RANGE引脚:RANGE引脚是用来判断输入范围的,-5V至5V时,RANGE设置成0即可,-10V至10V时,RANGE设置成0即可。
6.BUSY引脚:BUSY引脚是用来判断是否可以执行SPI传输,当BUSY引脚拉低时,即开始进行SPI传输,因此必须放在中断里。

引脚使用

以下是我对AD7606芯片引脚使用的一些理解,如有问题,还请各位批评指正(可私信与我探讨)。

初始化引脚

在触发中断之前,现需初始化各引脚。
1.初始化SPI通信。
2.初始化CS引脚,将CS引脚拉高。
3.初始化RESET引脚,先将RESET引脚拉低,延时1ms后将RESET引脚拉高,再延时1ms后将RESET引脚拉低即可。
4.初始化CONVST引脚。这里采用让CONVST引脚输出一个100kHz,99%占空比的PWM波,以确定AD7606的采样率,便于后期进行傅里叶变化(注意这里为保证PWM占空比相对准确,请采用硬件定时器进行输出,不可使用延时函数输出)。
5.初始化OS引脚。在接下来所提供的例程中,我均将引脚设置成000,即不进行过采样。
6.初始化RANGE引脚。在接下来所提供的例程中,我均将该引脚设置成了高电平,即输入电压范围-10V至+10V。
7.启用中断BUSY引脚,拉低时触发外部中断。

中断函数

当BUSY引脚被拉低,触发中断。
1.CS引脚拉低,表示进入SPI通信阶段,在此期间不再进行新一轮的数据传输。
2.SPI通信,以从高位到低位的顺序,按位读取16位数据(注意是从高到低的顺序)。
3.判断首位数据,根据首位数据不同解算公式不同。
4.CS引脚拉高,表示可以再次进行SPI通信。

  • 9
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
AD7606 数据采集模块,16位ADC,8通道同时200KHz频率采集,每秒8*200K样本。SPI接口或8080 16位并口,可自行选择。 AD7606 数据采集模块特性: 使用AD7606 高精度16位ADC芯片 8路模拟输入。阻抗1M欧姆。【无需负电源,无需前端模拟运放电路,可直接接传感器输出】 输入范围正负5V,正负10V。可通过IO控制量程。 分辨率 16位。 最大采样频率 200Ksps。 支持8档过采样设置(可以有效降低抖动) 内置基准 单5V供电 SPI接口或16位总线接口。接口IO电平可以是5V或3.3V AD7606 数据采集模块实物截图: 2种接口方式: 并口模式跳线:R1 悬空(不贴),R2贴10K电阻 SPI接口模式跳线:R1 贴10K电阻,R2 悬空(不贴) 附件内容例程主要包括AD7606_SPI例程、ADS7606_SPI_51单片机例程等 见截图; 【软件定时采集的实现方案1】 --- 我们提供的SPI例子采用这种方案,见bsp_spi_ad7606.c文件 在定时器中断服务程序中实现: 定时器中断ISR: { 中断入口; 读取8个通道的采样结果保存到RAM; ----> 读取的是上次的采集结果,对于连续采集来说,是没有关系的 启动下次ADC采集;(翻转CVA和CVB) 中断返回; } 定时器的频率就是ADC采样频率。这种模式可以不连接BUSY口线。 【软件定时采集的实现方案2】 --- 我们提供的8080接口例子采用这种方案,见bsp_ad7606.c文件 配置CVA、CVB引脚为PWM输出模式,周期设置为需要的采样频率; ----> 之后MCU将产生周期非常稳定的AD转换信号 将BUSY口线设置为中断下降沿触发模式; 外部中断ISR: { 中断入口; 读取8个通道的采样结果保存到RAM; } 【软件定时采集的实现方案1和方案2的差异】 (1)方案1 可以少用 BUSY口线,但是其他中断服务程序或者主程序临时关闭全局中断时,可能导致ADC转换周期存在轻微抖动。 (2)方案2 可以确保采集时钟的稳定性,因为它是MCU硬件产生的。但是需要多接一根BUSY口线。
AD7606是一款高分辨率数据采集芯片,具有16个并行输入通道,适用于各种测量应用。FPGA是一种可编程逻辑器件,可以实现数字电路中的逻辑功能。在AD7606数据读取过程中,可以利用FPGA进行并行数据读取AD7606与FPGA的连接可以采用并行通信方式。当进行数据读取时,AD7606通过其16个通道同时传输数据到FPGA。FPGA通过对这些数据进行并行读取,并进行进一步处理和存储。 在使用FPGA进行AD7606数据读取的Verilog代码中,需要定义AD7606与FPGA之间的通信接口。这可以通过FPGA上的GPIO引脚AD7606的控制引脚相连来实现。在代码中,需要定义适当的信号协议和数据处理算法。 首先,需要对AD7606进行初始化,并设置相应的工作模式和采样率。然后,在读取数据之前,需要发送读取命令到AD7606,并通过GPIO引脚将其与FPGA进行连接。 接下来,需要在FPGA中设计一个状态机来控制数据读取过程。通过适当的时序控制,可以确保在AD7606数据有效时,FPGA能够准确地读取并存储数据。FPGA可以通过并行读取数据,并通过FIFO缓存或存储器来存储这些数据。 同时,还需要设计适当的数据处理算法,对AD7606采集到的数据进行处理和分析。这可以根据具体应用来确定,例如进行数字滤波、数据压缩、错误检测等。 总的来说,AD7606-FPGA并行数据读取可以通过合适的Verilog代码实现。这种方式可以充分利用AD7606的并行数据传输特性,并通过FPGA对数据进行进一步处理和存储,实现高效的数据采集应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值