STM32驱动AD7656程序

AD7656程序源码
我采用的是 并行接口 进行AD7656模块与STM32L431RCT6进行通信

一、AD7656特性:

1.6个独立ADC
2.真双极性模拟输入
3.引脚/软件可选范围:+/-10V、+/-5V
4.高吞吐速率:250KSPS
5.低功耗:140mW(250KSPS,5V电源)
6.高速并行、串行和菊花链接口模式
7.高速串行接口:SPI 、QSPI、 MICROWIRE、 DSP兼容
8.待机模式:最大315uW
9.64引脚LQFP封装
10.内置6个1/14/12位,快速、低功耗逐次逼近型ADC

二、引脚使用

1.DATAR0-DATAR15 并行数据输出引脚
2.ADBUSY 输出繁忙。开始转换时,此引脚变为高电平,并保持高电平直到转换完成,并且转换数据被锁存到输出数据寄存器。如果BUSY信号处于高电平,由于会忽略任何施加的CONVST边沿,因此无法启动新的转换。
3.ADCS 片选。此引脚低电平有效逻辑输入使能数据帧传输。如果CS和RD均处于逻辑低电平,同时选择并行接口,则会使能输出总线,使转换结果被输出在并行数据总线上。如果CS和WR均处于逻辑低电平,同时选择并行接口,则利用DB[15:8]将数据写入片上控制寄存器。当选择串行接口时,利用CS使能串行数据帧传输,并逐个输出串行数据的最高有效位(MSB).
4.ADOE(RD) 读取数据。如果CS和RD均处于逻辑低电平,同时选择并行接口,则会启用输出总线。当选择串行接口时,RD线路应保持低电平。
5.RANGE 模拟输入范围选择,逻辑输入。此引脚的逻辑电平决定模拟输入通道的输入范围。当此引脚在BUSY下降沿为逻辑1时,下一次转换的范围为+/-2VREF。当此引脚在BUSY下降沿为逻辑0时,下一次转换的范围为+/-4VREF。
在硬件选择模式下,在BUSY下降沿检查RANGE引脚。在软件模式(H/S SEL=1)下,可将RANGE引脚和DGND相连,然后由控制寄存器内的RNGA、RNGB、RNGC位决定输入范围
6.ADCOV 转换开始输入A,转换开始输入B和转换开始输入C,这些逻辑输入用来启动ADC对转换。CONVST A用来启动V1和V2同步转换。CONVST B用来启动V3和V4同步转换 CONVST C用来启动V5和V6同步转换。当其中一个引脚从低电平变为高电平时,所选ADC对的取样保持开关从采样切换到保持,然后便启动转换。利用这些输入端,还可让ADC对进行部分省电模式。
7.ADRST 复位输入。设置为逻辑高时,此引脚可复位。
8.ADREFA 基准源去偶电容A
9.ADREFB 基准源去偶电容B
10.ADREFC 基准源去偶电容C
11.ADREF 基准电压输入/基准电压输出。可通过此引脚提供片上基准电压。或者,可禁用内部基准电压,并将外部基准电压施加到此输入端。参见内部/外部基准电压部分。启用内部基准电压时,利用至少一个1uf去偶电容对此引脚去偶。
12.VDD 正电源电压,这是模拟输入部分的正电源电压
13.VSS 负电源电压,这是模拟输入部分的负电源电压
14.V1-V6 模拟信号输入

注意: VDD 和 VSS必须接,否则6路通道采集不到数据
VDD 正电源电压,这是模拟输入部分的正电源电压
VSS 负电源电压,这是模拟输入不得的负电源电压

三、并行接口工作原理

采用并行工作模式,首先由CONVST引脚启动转换(CONVST脉冲应包括一个CONVST下降沿随后为一个CONVST上升沿),并保持为高电平。然后由AD7656在启动转换信号后输出BUSY信号,当BUSY信号出现下降沿时,代表AD模块转换已经结束。此时,AD7656内部的寄存器已经保存了转换的数据,可通过控制片选CS和读信号RD来依次读取各个通道的AD转换值。读取转换值后,可改变CONVST为低电平,为下一次转换做好准备。注意:一定要保证AD转换过程中CONVST为高电平。

注意:片选信号CS和读数据信号RD用CPU的引脚模拟时序,把CPU的数据引脚连接到AD7656的数据输出引脚上,同时读取AD7656输出的16位数据,进行转换计算

并行接口时序图

四、AD7656取值范围

-32768 - 32768 第一位是符号位 ;满值是7FFF

程序源码在最上面进行下载

STM32——HAL库函数版——AD7656驱动程序相关推荐

  1. STM32F103C6T6A USB虚拟串口调测 cubeIDE HAL库函数版一篇就够了

    STM32F103C6T6A  USB虚拟串口调测 cubeIDE HAL库函数版 原先手上有一块STM32F103RTC6测试版,但怎么弄不不出现usb设备(正常插上usb口pc应该会识别一个unk ...

  2. 关于STM32 Hal 库函数编写的程序 在编译时报错 :“Error: L6218E: Undefined symbol 函数名 (referred from xx.o)” 的解决办法

    问题描述:在借鉴别人的程序时,直接把部分hal库的程序拿来用,在编译时出现下图所示的问题 1 . 尝试解决但是没有成功的办法: 1.1 头文件包含问题 一开始以为是没有包含头文件,将头文件包含后,再次 ...

  3. stm32单片机屏幕一直闪_STM32使用HAL库函数点亮OLED

    OLED屏幕应用十分广泛,我们可以使用STM32单片机对其进行控制,使其显示我们需要的各种数字.字母.汉字.图画等.我们此次使用下图这款非常普遍的0.96寸OLED液晶屏.此款OLED屏采用IIC的通 ...

  4. 《STM32单片机开发应用教程(HAL库版)—基于国信长天嵌入式竞赛实训平台(CT117E-M4)》第四章4.9 TIM---输入捕获(脉冲频率测量)实验

    写在前面-- <STM32单片机开发应用教程(HAL库版)-基于国信长天嵌入式竞赛实训平台(CT117E-M4)>第四章4.9 TIM-输入捕获(脉冲频率测量)实验,讲解TIM输入捕获的原 ...

  5. HAL库版STM32双轮自平衡车(二) ——— CubeMX的配置、原理图接线、物料准备

    系列文章目录 编码电机测速 HAL库版 0.96'OLED的使用 HAL库版STM32双轮自平衡车(一) ---代码思路和PID的简单介绍 HAL库版STM32双轮自平衡车(二) --- CubeMX ...

  6. STM32入门笔记(02):MPU6050、MPU9250、ICM20948及姿态解算(SPL库函数版)

    目录 MPU6050 什么是MPU6050? MPU6050的特点 MPU6050框图 MPU6050初始化 MPU6050寄存器 电源管理寄存器1(0X6B) 陀螺仪配置寄存器(0X1B) 加速度传 ...

  7. HAL库版STM32双轮自平衡车(三) ———代码精讲

    系列文章目录 编码电机测速 HAL库OLED的使用 HAL库版STM32双轮自平衡车(一) ---代码思路和PID基础精讲 HAL库版STM32双轮自平衡车(二) --- CubeMX的配置.原理图接 ...

  8. HAL库版STM32双轮自平衡车(一) ———代码思路和PID基础精讲

    系列文章目录 HAL库版STM32双轮自平衡车(一) ---代码思路和PID的简单介绍(本篇) HAL库版STM32双轮自平衡车(二) --- CubeMX的配置.原理图接线.物料准备 HAL库版ST ...

  9. HAL库版STM32双轮自平衡车(五) ———— 调参

    系列文章目录 HAL库版STM32双轮自平衡车(一) ---代码思路和PID基础精讲 HAL库版STM32双轮自平衡车(二) --- CubeMX的配置.原理图接线.物料准备 HAL库版STM32双轮 ...

  10. STM32入门笔记(02):MDK Keil5 开发环境搭建及新建工程模板教程(SPL库函数版)

    目录 Keil5 开发环境搭建 芯片数据手册 Mec 多功能智能小车底盘开发与使用手册 Mec 主控原理图 Mec STM32F103VET6集成主控板资源分配 Mec OLED 显示内容 如何给 S ...

最新文章

  1. 这应该是全网最好的「机器学习」科普文
  2. thinkphp5.0 cache数据缓存机制
  3. 汽车之家的安全框架,是如何从0到1搭建的?
  4. 天融信安全接入客户端_天融信提示您警惕物联网设备Ripple20漏洞风险
  5. 基于Django进行简单的微信开发
  6. CRC冗余校验码的介绍和实现
  7. POJ 2752 Seek the Name, Seek the Fame (KMP)
  8. lambda函数 python菜鸟教程-Python3 函数
  9. JS输入框统计文字数量,并过滤拼音时的统计
  10. 我是不是该安静的走开
  11. CSDN下载资源报错:This XML file does not appear to have any style information associated with it.
  12. 案例|山东省中医院基于ZABBIX构建网络设备监控预警平台
  13. Jacobi的GPU并行迭代 OpenACC
  14. php后台腾讯地图显示折线图
  15. 江苏高等学校计算机等级考试大纲与样卷,江苏省高等学校计算机等级考试大纲(2015 年修订).pdf...
  16. CHECK约束使用自定义函数
  17. 高并发 收获大厂Offer必不可少的利器
  18. css同时设置最大宽度和最小宽度
  19. 微信小程序云开发之云数据库入门
  20. 国网计算机职称考试题库,2012国家电网计算机职称考试(理论题库)

热门文章

  1. mysql 正则 捕获_在mysql中模拟正则表达式捕获组
  2. php二维数组引用变量,PHP二维数组的引用赋值容易犯的错误
  3. 网络工程师考试第一节计算机硬件基础
  4. sql如何在两张表中得到每组数据,并知道数据的个数,举例,判断有多少班级,每个班的人数
  5. 国网376.1协议报文地址域
  6. bzoj3550: [ONTAK2010]Vacation(单纯形法+线性规划)
  7. 准备学Java的同学看过来,初学者入门必备!
  8. 基础都掌握了却还是敲不出代码?编程新手如何快速提升coding能力?
  9. Node Stream 入门与深入
  10. tf.cast()的用法(转)