找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5000|回复: 4
打印 上一主题 下一主题
收起左侧

SGM58200 ADC模块 I2C通讯协议分析

[复制链接]
跳转到指定楼层
楼主
ID:468566 发表于 2021-1-8 10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

一、ADC值与电压的转换关系

24bit ADC,1 LSB对应的电压值是:4.096V*2/16777216=0.000000488V=0.488uV=488nV

得到2DCC73对应的电压值为:2863085*2*4.096V/16777216=1.3979907V,计算值精确到0.5uV(非实际测量精度)。


二、通信协议分析

采样20个点的数据如下,用逻辑分析仪抓到的通信波形为21次。第1次为写ADC寄存器,第2~21次为读取ADC采样数据。

第1次通信内容如下:

Setup Write to [0x00]+ACK                            //General call address(通用广播地址是用来包括软件复位的几个功能)

0x06+ACK                                                                      //复位并通过硬件写从机地址的可编程部分

0x00+NACK                                                                      //

0x00+NACK                                                                      //

Setup Write to [0x90]+ACK                            //Write to Config Register:First byte: 0b10010000                                                                                                

0x01+ACK                                                                      //Second byte: 0b00000001 (points to Config register)

0xC2+ACK                                                                      //Third byte: 0b11000010 (MSB of the Config register to be written)

0xE3+ACK                                                                      //Fourth byte: 0b11100011 (LSB of the Config register to be written)


Setup Write to [0x90]+ACK                            //Write to Pointer Register:First byte: 0b10010000(first 7-bit I2C address followed by

//a low read/write bit)

0x00+ACK                                                                      //Second byte: 0b00000000 (points to Conversion register)

Setup Read to[0x91]+ACK              //Read Conversion Register:First byte: 0b10010001(first 7-bit I2C address followed                                                                                                  //by a high read/write bit)

0x00+ACK                                                        //Second byte: the SGM58200 response with the MSB of the Conversion register

0x00+ACK                                                        //Third byte: the SGM58200 response with the second byte of the Conversion register

0x00+NACK                                                        //Fourth byte: the SGM58200 response with the LSB of the Conversion register

第一次通信是复位寄存器,读取到的ADC数据为000000(hex),即读到的数据是零。

通用广播地址说明:

通用广播地址是用来同时寻址所有连接到I2C总线上的设备.如果一个设备在广播地址时不需要数据,它可以不产生应答来忽略.如果一个设备从通用广播地址请求数据,它可以应答并当作一个从-接收器.当一个或多个设备响应时主机并不知道有多少个设备应答了.每一个可以处理这个数据的从-接收器可以响应第二个字节.从机不处理这些字节的话,可以响应NA.如果一个或多个从机响应,主机就无法看到NA.通用广播地址的含义一般在第二个字节中指明.

有两种情况需要考虑:

1.最低有效位B是0

2.最低有效位B是1

当B是0,第二个字节有如下的定义:

1.0000 0110(06h):复位并通过硬件写从机地址的可编程部分.在接收到这样的2个字节时,所有可以响应这个广播地址的设备将复位并进入地址的可编程部分.要采取预防措施来确保设备不会在加上电源电压后将SDA或SCL拉低,因为这些低电平会阻塞总线.

2.0000 0100(04h):通过硬件写从机地址的可编程部分.行为同上,但设备不复位

3.0000 0000(00h):这个不应该作为第二个字节使用

编程过程的顺序参考相应设备的Datasheet

软件复位说明

在通用广播(0000 0000)之后发送0000 0110(06h)作为第二个字节会引起软件复位.这个特性是可选的,不是所有的设备都会响应这个命令.在接收到这样的2个字节时,所有可以响应这个广播地址的设备将复位并进入地址的可编程部分.要采取预防措施来确保设备不会在加上电源电压后将SDA或SCL拉低,因为这些低电平会阻塞总线.

第2次通信内容如下:

Setup Write to [0x90]+ACK

0x00+ACK

Setup Read to[0x91]+ACK

0x2B+ACK

0xAF+ACK

0xED+NACK

读取内容为第1个采样的ADC数据2BAFED,对应电压值为1.3979907V

第3次通信内容如下:

Setup Write to [0x90]+ACK

0x00+ACK

Setup Read to[0x91]+ACK

0x2B+ACK

0xB0+ACK

0x48+NACK

读取内容为第2个采样的ADC数据2BB048,对应电压值为1.3980352V


以此类推,第4~21次通信内容为第3~20个采样数据。


以上的图文Word格式文档51黑下载地址:

SGM58200 ADC模块 I2C通讯协议分析.docx (631.72 KB, 下载次数: 38)


评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1009348 发表于 2022-3-9 22:30 | 只看该作者
仿真软件是圣邦微提供的吗?谢谢!
回复

使用道具 举报

板凳
ID:313601 发表于 2022-4-19 14:40 | 只看该作者
本帖最后由 菜鸟机器 于 2022-4-24 17:55 编辑

官网未查询到有SGM58200芯片资料,请问楼主有没有SGM58031案例程序?
回复

使用道具 举报

地板
ID:1007495 发表于 2022-5-6 16:43 | 只看该作者
菜鸟机器 发表于 2022-4-19 14:40
官网未查询到有SGM58200芯片资料,请问楼主有没有SGM58031案例程序?

用我们的ADC吧,应该比SGM58200成熟
回复

使用道具 举报

5#
ID:313601 发表于 2022-7-7 10:49 | 只看该作者
qq329769206 发表于 2022-5-6 16:43
用我们的ADC吧,应该比SGM58200成熟

型号是?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表