单片机
返回首页

STM32单片机AD4630-24驱动程序

2025-11-07 来源:bilibili

AD4630-24是亚德诺推出的一款24位双通道支持同步采样的ADC,高昂的售价注定了这不会是一款常用芯片,我在做驱动开发期间在中文互联网基本没有找到可以参考的资料或例程。但这次毕竟做的是一款高精度同步电压电流表,这款芯片是领导亲自选的,要求很明确,就是分辨率拉满,咱也只能硬着头皮开干。


这次也是分享以下驱动开发的思路和例程,希望能够帮助到相关人士,顺便,这款芯片要求5V和1.8V双电源供电也是让硬件同事疯狂吐槽。


1.通讯接口

AD4630-24支持串行通讯,为了提高采样结果的读取速率,SDO最高支持8通道同步输出,但很可惜这次使用的单片机是STM32F407,意法连QSPI都不给,只能使用标准的SPI接口通讯,例程也基于上述硬件条件运行。

首先看一下AD4630-24的串口时序要求,

SPI写入寄存器时序图

SPI读取寄存器时序图

可以看出SCK最高波特率100Mb,已经超过单片机的速率上限了,时钟极性是低电平,时钟相位是上升沿有效。


2.工作模式

与很多ADC类似,AD4630-24有两种工作状态,ADC转化状态和寄存器配置状态,上电后默认处于ADC转化状态,当需要对芯片的工作模式和参数进行修改时,按照下图所示发送特殊指令即可进入寄存器配置模式。

切换至寄存器模式的指令

寄存器模式相关指令描述

关于工作状态的切换,数据手册描述的非常细致,由于AD4630的回读需要将MSB置1,所以进入寄存器模式的指令就相当于是回读地址为0x3FFF的虚拟寄存器,读取的数据内容可完全无视,只需要提供完整的24个时钟组成一帧即可,配置完成后退出寄存器模式则需要向0x0014寄存器写入0x01。退出的同时会让所有修改内容生效。

BUSY引脚的3种工作模式

BUSY引脚总共有3种工作模式,在SPI时钟模式下,BUSY会在ADC转化触发后拉高,并在转化完成后拉低以提示芯片当前的状态,方便我们读取数据,非常有用。回响模式下该引脚作为输出信号提供一个有延迟的SCK时钟输入,在主始终模式下,BUSY引脚使用芯片内部时钟源向外提供时钟信号。很显然我们使用标准SPI时钟模式。

数据输出格式

对于数据输出模式,由于硬件设计的限制,我们只能使用的Interleaved模式,让两个通道的采样结果全部通过SDO0输出,至于加快时钟频率的DDR模式我们这次就不使用了,在该模式下SCK的每一次跳变沿均对应一位数据,相当于通讯速率翻了一倍。最后是输出数据长度,可以选择单通道输出24位差模数据,或是在差模信号后附带8位的共模信号输出,此处我们使用了芯片提供的平均模式,我个人将其理解为过采样,相关内容见下一部分。


3.平均值模式

想要使能该模式必须在配置模式寄存器的数据输出模式为OUT_DATA_MD,即30位平均值计算结果+1位溢出指示+1位同步指示;同时在平均值模式寄存器中配置不小于1的AVG_VAL,即每完成多少次采样后计算一次平均值。

平均值模式相关描述

与广泛使用的AD7606过采样模式相比,AD4630的平均值模式需要控制单元完成所有额外采样的触发,如下图所示

平均值模式下的采样触发和数据读取时序

在平均值模式下,CNV引脚拉高触发AD转化后,BUSY引脚会自动拉高,提示转化正在进行,但用户必须提供全部2^N次有效的触发信号,且AD转化全部完成以后,BUSY引脚才会被拉低,提示数据有效。

输出结果中的SYNC位就是用于提示输出数据是否是根据完整的2^N次采样结果计算获得的,这也说明2^N次转化未全部完成时就读取结果理论上也是支持的,虽然我没有实际尝试过。

另外,我实际测试过BUSY引脚自动拉低需要的CNV脉冲个数,与芯片手册说明一致,也就是过采样率配置了多少就必须提供多少次CNV脉冲,一个也不能少。只要硬件设计合理,芯片正常工作,触发一轮采样的CNV脉冲信号个数是可以提前确定的。


4.数据处理

在interleaved模式下,两个通道的采样结果是位与位交叠在一起输出的,如下图所示,需要先将两个通道的数据分离开才能进行后续处理。驱动例程中也提供当前项目使用的分离函数供大家参考。

在单SDO输出模式下,可以看到两个通道的数据是交织在一起的

另外就是电压的换算关系公式

输入电压和输出结果换算关系式

我们可以利用int32_t数据类型帮助我们完成输入信号为负数时的补码运算。

最后AD4630还提供了一个测试模式,在该模式下每次触发采样后输出的结果是确定的,可以用来辅助我们完成对数据处理结果的正确性验证,非常有帮助。

最后附上实际项目中使用的驱动程序例程供大家参考

链接:https://pan.baidu.com/s/1_nKEDSOUhdIoQAHFjfM9Nw 提取码:vht0 


进入单片机查看更多内容>>
相关视频
  • 【TI MSPM0 应用实战】智能小车+工业角度编码器+血氧仪+烟雾探测器!硬核参考设计详解!

  • 2022 Digi-Key KOL 系列: 你见过1GHz主频的单片机吗?Teensy 4.1开发板介绍

  • TI 新一代 C2000™ 微控制器:全方位助力伺服及马达驱动应用

  • MSP430电容触摸技术 - 防水Demo演示

  • 直播回放: Microchip Timberwolf™ 音频处理器在线研讨会

  • 基于灵动MM32W0系列MCU的指夹血氧仪控制及OTA升级应用方案分享

精选电路图
  • 1瓦四级调频发射机

  • 500W MOS场效应管电源逆变器,12V转110V/220V

  • 12V 转 28V DC-DC 变换器(基于 LM2585)

  • 红外开关

  • 12V转110V/220V 500W逆变器

  • DS1669数字电位器

    相关电子头条文章