16位ADC芯片SGM58031驱动重点

news2024/12/24 2:11:21

16位ADC芯片SGM58031驱动重点


文章目录

  • 16位ADC芯片SGM58031驱动重点
  • 引脚描述
  • 时间要求
  • I2C时序图
  • I2C通讯描述
  • I2C接口
    • I2C地址选择
    • I2C常规呼叫
    • I2C速度模式
    • 从模式操作
  • 寄存器
    • 指针寄存器
    • 转换寄存器
    • 配置寄存器
    • 低阈值和高阈值寄存器
    • Config1寄存器
    • 芯片ID寄存器
    • GN_Trim1寄存器(当使用EXT_REF时)


引脚描述

在这里插入图片描述

时间要求

在这里插入图片描述

I2C时序图

在这里插入图片描述

I2C通讯描述

SGM58031是一款低功耗、16位、Δ∑模数转换器(ADC)。
SGM58031支持差分输入和单端输入。
SGM58031有两种工作模式:单次发射模式和连续转换模式。
在单次触发模式下,ADC执行一次转换并给出完整的固定数据,无需丢弃任何数据。一旦ADC完成转换,它就会进入低功率关闭模式。
在连续模式中,ADC在先前的转换完成后自动开始新的转换。给出了每一个转换结果。数据速率等于配置的数据速率。

ADC的基本连接如图3所示。通信接口与I2C兼容。SGM58031在从属模式下工作。I2C地址配置为0b1001000(ADDR连接到GND)。

在这里插入图片描述

图4和图5显示了一个演示的读写操作序列。
在这里插入图片描述

注意事项:
1。A0和A1值取决于ADDR引脚。
2.SDA可以由主机设置为高电平,以终止单字节读取操作。
3.SDA可以由主机设置为高电平,以终止两字节的读取操作。
在这里插入图片描述

注:1。A0和A1值取决于ADDR引脚。
例如,写入配置寄存器0x01将SGM58031设置为连续转换模式,我们需要以下顺序:1。第一个字节,0b1001000(第一个7位是I2C地址),第8位是读/写位,现在是低写2。第二个字节,0b00000001(指向配置寄存器0x01)3。第三个字节,0b10000100(要写入的配置寄存器的MSB,Bit[8]=0表示连续模式)4。第四字节,0b10000011(要写入的配置寄存器的LSB,Bit[7:5]='100’表示数据速率100Hz)
例如,要从SGM58031读取转换结果,可以遵循以下顺序:1。第一个字节,0b1001000(第一个7位是I2C地址),第8位是读/写位,现在是低写2。第二个字节,0b00000000(指向转换寄存器0x00)3。第三个字节,0b10010001(第一个7位是I2C地址),第8位是读/写位,现在是高读4。第四个字节,SGM58031用转换寄存器5的MSB进行应答。第五个字节,SGM58031用转换寄存器的LSB应答。

I2C接口

SGM58031通信接口为I2C接口。
SGM58031只能作为从设备。I2C时序图如图1所示
在这里插入图片描述

I2C地址选择

SGM58031有一个单独的地址设置引脚ADDR,可以连接到GND、VDD、SDA和SCL。表8显示了四个可用地址。
表8。ADDR引脚连接和相应的从地址

在这里插入图片描述

I2C常规呼叫

SGM58031支持I2C通用调用地址(0000000),第八位必须为“0”。设备确认通用呼叫地址。如果第二个字节是00000110(06h),则SGM58031重置所有寄存器并断电。

I2C速度模式

I2C总线操作支持三种速度模式:标准模式、快速模式和高速模式。详见电气特性部分。
要进入标准快速模式,无需特殊操作。
要进入高速模式,请在I2C启动条件后发送一个特殊地址字节00001XXX。SGM58031没有对此字节给出ACK(确认),SGM5803 1在接收到该字节后切换到高速模式。SGM58031在下一个STOP(停止)条件下退出高速模式。

从模式操作

SGM58031在从模式下工作,不驱动SCL线路。

寄存器

SGM58031有七个指针寄存器。表9和表10显示了这些寄存器映射。图4显示了如何访问该指针寄存器
在这里插入图片描述

指针寄存器

在这里插入图片描述

转换寄存器

ADC转换结果为16位2的补码格式。表11显示了数据格式。其重置默认值为“0”。
在这里插入图片描述

注:默认值=0000h。

配置寄存器

配置寄存器(Config Register)如表12所示。
在这里插入图片描述

注意事项:
1.默认值=8583h。
2.这是ADC缩放的理论满刻度范围。实际输入必须在电气限制范围内(0V~VDD+0.3V)。
在这里插入图片描述
在这里插入图片描述

D15
工作状态/单次激发转换开始对于写入状态:
0=无效果
1=开始单次转换(处于单次激发模式时)
对于读取状态:
0=芯片正在进行转换
1=芯片没有进行转换
此位报告芯片的状态。
只有当芯片处于断电状态时,才能写入此位。
D14-12(000)
输入多路复用器(MUX)配置
D11-9(010)
可编程增益放大器(PGA)配置
D8(1)
设备操作模式
0=连续转换模式
1=断电单次触发模式(默认)
D7-5(100)
数据速率
这些比特控制数据速率设置。
见表5
D4(0)
比较器模式
0=具有滞后的传统比较器(默认)
1=窗口比较器
D3(0)
比较器极性
0=有效低(默认)
1=有效高
此位设置ALERT/RDY引脚的有效极性
D2(0)
锁存比较器
0=非锁存比较器(默认)
1=锁存比较器
该位设置ALERT/RDY引脚在其输出设置后是否锁存,或者当ADC转换结果在上限和下限阈值限制内时是否复位。
D1-0(11)
比较器队列和禁用功能
00=一次转换后断言
01=两次转换后断定
10=四次转换后确信
11=禁用比较器(默认)
这些位可以禁用比较器。
在alert/RDY引脚上输出警报之前,这些位可以将连续ADC转换所需的时间设置为超过阈值。

低阈值和高阈值寄存器

低(低阈值)和高(高阈值)阈值寄存器采用16位2的补码格式。表13显示了这两种寄存器格式。
在这里插入图片描述

注:低阈值默认值=8000h,高阈值默认值=7FFFh。

Config1寄存器

在这里插入图片描述

D8

D7
将“1”写入PD使该部分断电,该PD位在内部自动清除。可以再次进行另一次连续/单次转换,而无需清除此位。

D6
0=DR[2:0]=000~111转换率为6.25Hz、12.5Hz、25Hz、50Hz、100Hz、200Hz、400Hz和800Hz(默认)
1=DR[2:0]=000~111转换速率为7.5Hz、15Hz、30Hz、60Hz、120Hz、240Hz、480Hz和960Hz

D5
0=无电流源(默认值)
1=为选定的一对AIN提供一对2μa电流

D4
0=在I2C总线电压低于部件VDD的情况下禁用泄漏阻断电路。I2C接口仍然可以工作,但当VBUS<VDD-0.3V(默认值)
1=总线电压可以低于VDD而不会导致泄漏时,VDD会出现泄漏。VDD范围为3V至5.5V,I2C总线电压应限制在3V至5.5 V

D3
0=无(默认)
1=使用AIN3作为ADC的外部参考

D2-0

芯片ID寄存器

在这里插入图片描述

GN_Trim1寄存器(当使用EXT_REF时)

ADC增益系数,用于用户选择Config1寄存器EXT_REF位作为参考。我们提供了一个默认值,如果用户想要补偿外部引用错误,则用户有责任将正确的值写入寄存器。当EXT_REF=0并且选择了内部引用时,此寄存器不起作用。
在这里插入图片描述

ADC GN_Trim1寄存器是一个无符号值。用于最终微调的默认值为1.3333,以补偿默认ADC增益3/4。GN[10:0]的值加上一个常数,得到最终的增益微调值。
GN_Trim1+CONST=GN_Trim。CONST的二进制值为1010011010110000,对应于1.30225的增益因子。
加上GN_Trim1寄存器的默认值(01111111010)后,最终的默认增益微调值为1.3333。当微调寄存器全部为“1”时,最大最终增益微调值为1.3547;当寄存器全部为“0”时,MIN值为1.30225。这使得GN微调的范围为±3%,步长为32ppmFS

如果文章对您有所帮助,点赞支持,感谢!!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/747513.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux(驱动编程)(调试技术)(imx6ull)

调试技术 1、在写驱动程序时函数未包含头文件 在linux内核源码driver/char目录下输入命令 grep “XXXX” * -nrw查看次函数在那个.c里用过,然后在vscode界面下按altp搜索这个.c就可以参考这个.c的头文件。 2、编译完驱动跟应用后先 insmod xxx.ko //插入 cat /…

原创 | SQL和 NoSQL的基本操作和查询语句

作者:杨金珊本文约3500字,建议阅读7分钟本文为你介绍SQL和 NoSQL的基本操作和查询语句。 SQL(结构化查询语言) SQL是用于管理和操作关系型数据库的语言。它遵循结构化模式,将数据组织成具有预定义关系的表格形式。以下…

告别被坑!掌握合合信息AI图像篡改检测工具,轻松识别图片造假

文章目录 一、前言1.1 背景与危害1.2会议探讨1.3 技术先行 二、亮点技术1:AI图像篡改检测技术2.1 传统方法Python实现步骤2.2 合合信息——PS纂改检测体验 三、亮点技术2:生成式图像鉴别3.1 生成式图像安全问题3.2 传统方法Python实现步骤3.2 合合信息—…

03_007linux内存管理架构以虚拟内存空间布局架构

内存管理子系统架构 内存管理子系统架构可以分为:用户空间、内核空间及硬件部分3个层面,具体结构如 下图所示: 1、用户空间:应用程序使用malloc()申请内存资源/free()释放内存资源。 2、内核空间:内核总是驻留在内存中,是操作系统的一部分。内核空间为内…

nginx uwsgi配置django

uwsgi文件 [uwsgi] # 服务端口号,这里没有设置IP值,默认是加载服务器的IP地址 #http :5000 socket:8000 # flask项目地址 chdir /pyprogram/electric # wsgi文件 /home/flask_project/mange.py #module app:app wsgi-file/pyprogram/electric/electr…

CompletionService的基本使用以及原理

文章目录 一、CompletionService的简介二、CompletionService的底层大致原理三、CompletionService的使用场景1. 批量下载文件:2. 多个商品价格查询:3. 并发处理多个API请求: 四、CompletionService的使用demo1. 代码如下:2. 案例…

mac上 如何批量在文件名中插入文字

mac上 如何批量在文件名中插入文字?在使用Mac电脑的时候,我们经常需要对大量文件的名称进行修改,例如需要在大量文件的名称中插入一些相同的文字或者字符的时候,你会用什么方法来完成这项工作呢?相信很多人就面对过类似…

前端vue入门(纯代码)30_路由的props配置

喜欢的东西太贵了,我一咬牙,狠下心决定不喜欢了! 【28.Vue Router--路由的props配置】 props配置官网文档 props属性用法和params属性差不多,都是要在src/router/index.js文件中配置 // 该文件专门用于创建整个应用的路由器 i…

Spring 项目的创建和使用1(配置国内源)

目录 一、Spring项目的创建 1. 创建Maven项目 2. 添加Spring依赖(重要) (1) 必须要设置两个配置文件的国内源配置(当前项目配置文件,新项目配置文件) (2) 复制上一步中的User setting file 后面的路径在文件资源管理…

SpringBoot集成Flowable工作流

SpringBoot集成Flowable工作流 Flowable是什么?一、添加依赖二、flowable配置三、定义流程文件1.使用流程文件定义工作流2.idea使用插件来定义流程图1.安装插件2.创建bpmn文件并画流程图3.右击流程用模型设计器打开文件 四、测试controller Flowable是什么&#xff…

美女与修狗儿【 InsCode Stable Diffusion 美图活动一期】

女朋友最近买了一只小泰迪,于是给她和修狗儿做一幅画 一、Stable Diffusion 模型在线使用地址 https://inscode.csdn.net/inscode/Stable-Diffusion 二、模型版本及相关配置 模型:chilloutmix-Ni.safetensors[7234b76e42采样方法:Euler a…

算法拾遗三十五indexTree和AC自动机

算法拾遗三十五indexTree和AC自动机 indexTree(树状数组)indexTree规则 IndexTree二维AC自动机 indexTree(树状数组) 给定数组下标统一从1开始 如果要求L。。R范围上任意区间的和,我们通常的解法是定义一个help&…

msvcp140.dll重新安装的解决方法,msvcp140.dll丢失修复教程

计算提示msvcp140.dll丢失需要怎么重新安装呢?下面小编就把msvcp140.dll丢失重新安装的修复教程分享给大家。msvcp140.dll是Microsoft Visual C Redistributable文件的一部分,它是一个动态链接库文件。该文件包含了一些用于C程序开发的函数和类的定义&am…

【Vue2.0源码学习】模板编译篇-模板解析阶段(HTML解析器)

文章目录 1. 前言2. HTML解析器内部运行流程3. 如何解析不同的内容3.1 解析HTML注释3.2 解析条件注释3.3 解析DOCTYPE3.4 解析开始标签3.5 解析结束标签3.6 解析文本 4. 如何保证AST节点层级关系5. 回归源码5.1 HTML解析器源码5.2 parseEndTag函数源码 6. 总结 1. 前言 上篇文…

如何应对ChatGPT这一波AI浪潮

最近我在写一系列文章,其中包括《ChatGPT 实战系列》和《WPS Office AI实战系列》。想通过这些文章提供实践指导,既自己动手实践了,也能与大家分享我的实践结果,这是一个学习的过程。在实践过程中,我发现有些实用的方面…

基于springboot文学创作的社交论坛新闻文章系统vue

相比于传统的社交论坛管理方式,智能化的管理方式可以大幅提高社交论坛的管理效率,实现了社交论坛管理的标准化、制度化、程序化的管理,有效地防止了社交论坛信息的随意管理,提高了信息的处理速度和精确度,能够及时、准…

OnlyHome三代金属智能手环|健康、科技齐实现

近年来,人们越来越追求生活的品质与趣味,生活中的一点点小确幸、小惊喜最能让人感受到深深地愉悦。这不,Only&Home三代金属智能手环也带来了惊喜,有了它,健康、科技两手抓,享受生活更自由。 Only&Home三代金属智能手环给人的第一印象是它超高的颜值,延用了二代手环奢华…

Proton 推出开源密码管理器,兼身份管理器

导读Proton 是由来自欧洲核研究组织 (CERN) 的科学家于 2014 年在瑞士日内瓦创立的一家公司,其最知名的应该就是电子邮件服务 Proton Mail,主打端到端加密、安全和隐私保护。Proton 由科学家领导,其中包括万维网的发明者 Tim Berners-Lee。 …

高速入门知识02:降低串扰和维持信号完整性的布线方法

文章目录 前言一、单端走线布线1.1.带有短截线的菊花链布线1.2.没有短截线的菊花链布线1.3.星型布线1.4.蛇型布线 二、差分走线布线 前言 串扰是并行走线间不需要的信号耦合。微带线和带状线正确的布线和叠层布局能够降低串扰。 双带线布局有两个靠近的信号层,为降…

MQ的优劣势及RabbitMQ相关概念

一,MQ 1,MQ 的概念 MQ 全称 Message Queue(消息队列),是用来存储消息数据的容器(是一个中间件),一般用于分布式系统间的通信;MQ主要介于生产者和消费者之间&#xff0c…