当前位置: 首页 > news >正文

ADS8331手册驱动开发

ADS8331手册

  • 1. 系统框架
  • 2. 引脚定义
  • 3. 时序
  • 3. 寄存器映射表
    • 3.1 CMR寄存器
    • 3.2 CFR寄存器
  • 4. 总结


1. 系统框架

ADS8331是一款低功耗、16比特分辨率500ksps采样率4通道的模数转换器。
在这里插入图片描述
其特点如下所示:

  • 2.7-5.5V模拟电压供电
  • 在AUTO-NAP模式下功耗低至8.7mW(250ksps,VA=2.7V,VBD=1.65V)
  • 14.2mW(500ksps,VA=2.7V,VBD=1.65V)
  • 500ksps采样率
  • 4通道采样
  • 24PIN

2. 引脚定义

在这里插入图片描述
在这里插入图片描述值得注意的就几个引脚,CONVST,EOC,CS,RESET,SDI,SDO,SCLK。
CONVST:转换开始标志
EOC:状态输出,转换过程中EOC是一直为低的,这个引脚也可以编程为INT中断信号。如果编程为INT信号,在转换后引脚会拉低并在cs拉低后拉高
CS:片选信号,低有效,没啥好说的
RESET:ADC复位信号,高有效
SDI:可以理解为SPI接口的MISO
SDO:MOSI,SPI接口
SCLK:SPI时钟

3. 时序

重要的时序来了,时序图如下:
在这里插入图片描述
这是ADC的采样时序,手动触发模式
在这里插入图片描述这是ADC的转换时序,自动触发模式

两种触发模式都可以采集数据,但是我只实现了手动触发的时序,自动触发的时序一直读取不了正确的数据,具体原因我i也不知道为什么。然后要想实现ADC驱动,必须要按照时序进行开发,SCLK的时钟频率最高为40MHz,转换信号CONVST拉低至少40ns。

3. 寄存器映射表

这款ADC的寄存器不是很多,分为CMR和CFR寄存器,CMR寄存器是4位,CFR是12位。
寄存器表如下;
在这里插入图片描述

3.1 CMR寄存器

  1. 0000:选择通道0
  2. 0001:选择通道1
  3. 0010:选择通道2
  4. 0011:选择通道3
  5. 1100:读CFR寄存器
  6. 1101:读数据
  7. 1110:写CFR寄存器

3.2 CFR寄存器

在这里插入图片描述
D11:手动/自动通道选择
D10:CCLK时钟来源选择,可以选SCLK或者内部时钟
D9:手动/自动触发模式选择
D8:采样率选择,可选500ksps/250ksps
D7:选择EOC引脚定义,EOC或者INT
D6:EOC的极性,低还是高
D5:EOC输出还是CDI输入
D4:AUTO-NAP模式使能
D3:
D2:
D1:TAG标志位,可以用来指示通道ID,三位
D0:软复位,拉低复位

4. 总结

整个介绍大概就这样吧,重点还是在时序和时序图上面,驱动开发最难的就是在于调试,一个时序图要debug很久才能得到正确的结果,希望后面能实现自动触发模式下的adc数据采集,好了,内容大概就这些了,希望大家喜欢我的文章,为我多多支持,我会努力更新的!

http://www.dtcms.com/a/282289.html

相关文章:

  • HTML基础知识 二(创建容器和表格)
  • 达梦数据库CASE_SENSITIVE大小写敏感差异比较
  • HTB cap wp
  • 0 - MIT 6.S081 2020 操作系统 实验环境配置
  • 前端性能与可靠性工程:前端韧性工程 - 优雅降级与离线支持
  • Nginx,MD5和Knife4j
  • 使用TIANAI-CAPTCHA进行行为验证码的生成和缓存的二次校验
  • 【后端】.NET Core API框架搭建(6) --配置使用MongoDB
  • 随机链表的复制数据结构oj题(力口138)
  • 数据结构--准备知识
  • 随机链表的复制数据结构oj题(CM11)
  • SOTI MobiControl vs EasyControl:MDM 解决方案对比 —— 理解差异与价值
  • batchnorm1d,layernorm,revin区别
  • 关于程序=数据结构+算法这句话最近的一些思考
  • 【数据结构】「栈」(顺序栈、共享栈、链栈)
  • iOS 抓包工具选择与配置指南 从零基础到高效调试的完整流程
  • 时序大模型为时序数据库带来的变革与机遇
  • Flutter 记录 使用ModalRoute获取参数
  • flutter app内跳转到其他安卓 app的方法
  • qt udp接收时 丢包
  • 安卓开发使用Android Studio配置flutter环境
  • 《Qt信号与槽机制》详解:从基础到实践
  • Flutter运行Android项目时显示java版本不兼容(Unsupported class file major version 65)的处理
  • 《Qt实战开发》:从计算器到音乐播放器的全栈实现指南
  • 7月16日作业
  • QOpenGLWidget自定义控件— 2D点云显示(支持平移、放缩、绘制网格)
  • 桥下的蓝色风景线
  • 数据库连接池调优以及常见问题
  • SSM框架学习——day3
  • 如何解决WordPress数据库表损坏导致的错误