打印
[应用相关]

STM32与AD7606开发

[复制链接]
5682|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangjiahao88|  楼主 | 2019-8-7 15:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

使用特权

评论回复
沙发
wangjiahao88|  楼主 | 2019-8-7 15:07 | 只看该作者

使用特权

评论回复
板凳
wangjiahao88|  楼主 | 2019-8-7 15:07 | 只看该作者

使用特权

评论回复
地板
wangjiahao88|  楼主 | 2019-8-7 15:08 | 只看该作者

使用特权

评论回复
5
wangjiahao88|  楼主 | 2019-8-7 15:08 | 只看该作者

使用特权

评论回复
6
wangjiahao88|  楼主 | 2019-8-7 15:08 | 只看该作者

使用特权

评论回复
7
wangjiahao88|  楼主 | 2019-8-7 15:09 | 只看该作者
AD7606_芯片数据手册_中文

AD7606_芯片数据手册_中文.pdf

886.35 KB

使用特权

评论回复
8
wangjiahao88|  楼主 | 2019-8-7 15:10 | 只看该作者
AD7606_芯片数据手册_英文

AD7606_芯片数据手册_英文.pdf

799.56 KB

使用特权

评论回复
9
wangjiahao88|  楼主 | 2019-8-7 15:11 | 只看该作者
AD7606 的配置很简单,它没有内部寄存器。量程范围和过采样参数是通过外部IO控制的。
采样速率由MCU或DSP提供的脉冲频率控制。

AD7606 必须使用单5V供电。
AD7606 和MCU之间的通信接口电平由VIO引脚控制。也就是说 VIO必须接单片机的电源,可以是3.3V也可以是5V。

使用特权

评论回复
10
wangjiahao88|  楼主 | 2019-8-7 15:11 | 只看该作者
【模块引脚说明】
    OS2 OS1 OS2 : 的组合状态选择过采样模式。
        000表示无过采样,最大200Ksps采样速率。
        001表示2倍过采样, 也就是硬件内部采集2个样本求平均
        010表示4倍过采样, 也就是硬件内部采集4个样本求平均
        011表示8倍过采样, 也就是硬件内部采集8个样本求平均
        100表示16倍过采样, 也就是硬件内部采集16个样本求平均
        101表示32倍过采样, 也就是硬件内部采集32个样本求平均
        110表示64倍过采样, 也就是硬件内部采集64个样本求平均

使用特权

评论回复
11
wangjiahao88|  楼主 | 2019-8-7 15:12 | 只看该作者
        过采样倍率越高,ADC转换时间越长,可得到的最大采样频率就越低。

    CVA,CVB : 启动AD转换的控制信号。CVA决定1-4通道,CVB决定5-8通道。
        2个信号可以错开短暂的时间。一般情况可以将CVA,CVB并联在一起。

    RAGE : 量程范围选择。0表示正负5V, 1表示正负10V.
    RD : 读信号
    RST : 复位信号
    BUSY : 忙信号
    CS : 片选信号
    FRST : 第1个通道样本的指示信号
    VIO : 通信接口电平
    DB0-DB15 : 数据总线

使用特权

评论回复
12
wangjiahao88|  楼主 | 2019-8-7 15:13 | 只看该作者
AD7606模块             MCU侧
    GND       <-----    地
    +5V       <-----    5V电源
    RAGE      <-----    可接GPIO也可接固定电平
    OS2       <-----    可接GPIO也可接固定电平
    OS1       <-----    可接GPIO也可接固定电平
    OS0       <-----    可接GPIO也可接固定电平

    CVA       <-----    接GPIO(输出)用于启动AD转换 【推荐接具有PWM输出能力的引脚】
    CVB       <---|

    RD        <-----    8080总线读信号 NOE
    RST       <-----    GPIO输出  硬件复位AD606
    BUSY      ----->    GPIO输入  AD606正在转换指示。【推荐接具有外部中断能力的引脚】
    CS        <-----    8080总线片选 NCS

    VIO       <-----    单片机的电源

    DB0-DB15  ----->    8080数据总线(16位)

    FRST      可不接

使用特权

评论回复
13
wangjiahao88|  楼主 | 2019-8-7 15:14 | 只看该作者
【SPI接口模式接线图】

AD7606模块             MCU侧
    GND       <-----    地
    +5V       <-----    5V电源
    RAGE      <-----    任意输出GPIO,可接固定电平
    OS2       <-----    任意输出GPIO,可接固定电平
    OS1       <-----    任意输出GPIO,可接固定电平
    OS0       <-----    任意输出GPIO, 可接固定电平

    CVA       <-----    接GPIO(输出)用于启动AD转换 【推荐接具有PWM输出能力的引脚】
    CVB       <---|

    RD/SCLK   <-----    SPI总线时钟 SCK
    RST       <-----    任意输出GPIO, 用于硬件复位AD606
    BUSY      ----->    GPIO输入, AD606正在转换指示。【推荐接具有外部中断能力的引脚】
    CS        <-----    SPI总线片选 SCS

    VIO       <-----    单片机电源

    DB7(DOUTA) ----->   SPI总线数据线MISO
    DB15      ------    GND

    其他数据线: 可不接或接GND
    FRST      可不接

使用特权

评论回复
14
wangjiahao88|  楼主 | 2019-8-7 15:14 | 只看该作者
【软件定时采集的实现方案1】 ---
    在定时器中断服务程序中实现:

    定时器中断ISR:
    {
        中断入口;

        读取8个通道的采样结果保存到RAM;     ----> 读取的其实是上次的采集结果,对于连续采集来说,是没有关系的

        启动下次ADC采集;(翻转CVA和CVB)

        中断返回;
    }

    定时器的频率就是ADC采样频率。这种模式可以不连接 BUSY 口线。

使用特权

评论回复
15
wangjiahao88|  楼主 | 2019-8-7 15:15 | 只看该作者
【软件定时采集的实现方案2】

    配置CVA CVB 引脚为PWM输出模式,周期设置为需要的采样频率;  ---> 之后MCU将产生周期非常稳定的AD转换信号

    将BUSY口线设置为中断下降沿触发模式;

    外部中断ISR
    {
        中断入口;

        读取8个通道的采样结果保存到RAM;

        中断返回;
    }

使用特权

评论回复
16
wangjiahao88|  楼主 | 2019-8-7 15:16 | 只看该作者
【软件定时采集的实现方案1和方案2的差异】
(1)方案1 可以少用 BUSY口线, 但是其他中断服务程序或者主程序临时关闭全局中断时,可能导致ADC转换周期存在轻微抖动。

(2)方案2 可以确保采集时钟的稳定性,因为它是MCU硬件产生的。但是需要多接一根 BUSY口线。

使用特权

评论回复
17
wangjiahao88|  楼主 | 2019-8-7 15:19 | 只看该作者
void bsp_InitAD7606(void)
{
        AD7606_CtrlLinesConfig();
        AD7606_FSMCConfig();

        AD7606_SetOS(AD_OS_NO);                /* 无过采样 */
        AD7606_SetInputRange(0);        /* 0表示输入量程为正负5V, 1表示正负10V */

        AD7606_Reset();

        CONVST_1();                                        /* 启动转换的GPIO平时设置为高 */
}

使用特权

评论回复
18
wangjiahao88|  楼主 | 2019-8-7 15:23 | 只看该作者
AD7606_FSMC FSMC例程(STM32F407)

AD7606_FSMC FSMC例程(STM32F407).rar

2.72 MB

使用特权

评论回复
19
wangjiahao88|  楼主 | 2019-8-7 15:24 | 只看该作者
AD7606_SPI例程(STM32F103)

AD7606_SPI例程(STM32F103).rar

1.95 MB

使用特权

评论回复
评论
Berrywu 2020-4-20 15:59 回复TA
感谢分享 
20
wangjiahao88|  楼主 | 2019-8-7 15:24 | 只看该作者
AD7606_SPI例程(STM32F407)

AD7606_SPI例程(STM32F407).rar

6.64 MB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

474

主题

7520

帖子

30

粉丝