16位ADC芯片SGM58031驱动重点

16位ADC芯片SGM58031驱动重点


文章目录

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


引脚描述

16位ADC芯片SGM58031驱动重点_第1张图片

时间要求

16位ADC芯片SGM58031驱动重点_第2张图片

I2C时序图

16位ADC芯片SGM58031驱动重点_第3张图片

I2C通讯描述

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

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

16位ADC芯片SGM58031驱动重点_第4张图片

图4和图5显示了一个演示的读写操作序列。
16位ADC芯片SGM58031驱动重点_第5张图片

注意事项:
1。A0和A1值取决于ADDR引脚。
2.SDA可以由主机设置为高电平,以终止单字节读取操作。
3.SDA可以由主机设置为高电平,以终止两字节的读取操作。
16位ADC芯片SGM58031驱动重点_第6张图片

注: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所示
16位ADC芯片SGM58031驱动重点_第7张图片

I2C地址选择

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

16位ADC芯片SGM58031驱动重点_第8张图片

I2C常规呼叫

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

I2C速度模式

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

从模式操作

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

寄存器

SGM58031有七个指针寄存器。表9和表10显示了这些寄存器映射。图4显示了如何访问该指针寄存器
16位ADC芯片SGM58031驱动重点_第9张图片

指针寄存器

在这里插入图片描述

转换寄存器

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

注:默认值=0000h。

配置寄存器

配置寄存器(Config Register)如表12所示。
16位ADC芯片SGM58031驱动重点_第10张图片

注意事项:
1.默认值=8583h。
2.这是ADC缩放的理论满刻度范围。实际输入必须在电气限制范围内(0V~VDD+0.3V)。
16位ADC芯片SGM58031驱动重点_第11张图片
16位ADC芯片SGM58031驱动重点_第12张图片

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显示了这两种寄存器格式。
16位ADC芯片SGM58031驱动重点_第13张图片

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

Config1寄存器

16位ADC芯片SGM58031驱动重点_第14张图片

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寄存器

16位ADC芯片SGM58031驱动重点_第15张图片

GN_Trim1寄存器(当使用EXT_REF时)

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

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

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

你可能感兴趣的:(#,电网相关项目,单片机,单片机,嵌入式硬件,arm开发,嵌入式,SGM58031,ADC,c)