找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 6313|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

SGM58200 ADC模塊 I2C通訊協(xié)議分析

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:468566 發(fā)表于 2021-1-8 10:06 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

一、ADC值與電壓的轉(zhuǎn)換關(guān)系

24bit ADC,1 LSB對應(yīng)的電壓值是:4.096V*2/16777216=0.000000488V=0.488uV=488nV

得到2DCC73對應(yīng)的電壓值為:2863085*2*4.096V/16777216=1.3979907V,計算值精確到0.5uV(非實際測量精度)。


二、通信協(xié)議分析

采樣20個點(diǎn)的數(shù)據(jù)如下,用邏輯分析儀抓到的通信波形為21次。第1次為寫ADC寄存器,第2~21次為讀取ADC采樣數(shù)據(jù)。

第1次通信內(nèi)容如下:

Setup Write to [0x00]+ACK                            //General call address(通用廣播地址是用來包括軟件復(fù)位的幾個功能)

0x06+ACK                                                                      //復(fù)位并通過硬件寫從機(jī)地址的可編程部分

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

第一次通信是復(fù)位寄存器,讀取到的ADC數(shù)據(jù)為000000(hex),即讀到的數(shù)據(jù)是零。

通用廣播地址說明:

通用廣播地址是用來同時尋址所有連接到I2C總線上的設(shè)備.如果一個設(shè)備在廣播地址時不需要數(shù)據(jù),它可以不產(chǎn)生應(yīng)答來忽略.如果一個設(shè)備從通用廣播地址請求數(shù)據(jù),它可以應(yīng)答并當(dāng)作一個從-接收器.當(dāng)一個或多個設(shè)備響應(yīng)時主機(jī)并不知道有多少個設(shè)備應(yīng)答了.每一個可以處理這個數(shù)據(jù)的從-接收器可以響應(yīng)第二個字節(jié).從機(jī)不處理這些字節(jié)的話,可以響應(yīng)NA.如果一個或多個從機(jī)響應(yīng),主機(jī)就無法看到NA.通用廣播地址的含義一般在第二個字節(jié)中指明.

有兩種情況需要考慮:

1.最低有效位B是0

2.最低有效位B是1

當(dāng)B是0,第二個字節(jié)有如下的定義:

1.0000 0110(06h):復(fù)位并通過硬件寫從機(jī)地址的可編程部分.在接收到這樣的2個字節(jié)時,所有可以響應(yīng)這個廣播地址的設(shè)備將復(fù)位并進(jìn)入地址的可編程部分.要采取預(yù)防措施來確保設(shè)備不會在加上電源電壓后將SDA或SCL拉低,因為這些低電平會阻塞總線.

2.0000 0100(04h):通過硬件寫從機(jī)地址的可編程部分.行為同上,但設(shè)備不復(fù)位

3.0000 0000(00h):這個不應(yīng)該作為第二個字節(jié)使用

編程過程的順序參考相應(yīng)設(shè)備的Datasheet

軟件復(fù)位說明

在通用廣播(0000 0000)之后發(fā)送0000 0110(06h)作為第二個字節(jié)會引起軟件復(fù)位.這個特性是可選的,不是所有的設(shè)備都會響應(yīng)這個命令.在接收到這樣的2個字節(jié)時,所有可以響應(yīng)這個廣播地址的設(shè)備將復(fù)位并進(jìn)入地址的可編程部分.要采取預(yù)防措施來確保設(shè)備不會在加上電源電壓后將SDA或SCL拉低,因為這些低電平會阻塞總線.

第2次通信內(nèi)容如下:

Setup Write to [0x90]+ACK

0x00+ACK

Setup Read to[0x91]+ACK

0x2B+ACK

0xAF+ACK

0xED+NACK

讀取內(nèi)容為第1個采樣的ADC數(shù)據(jù)2BAFED,對應(yīng)電壓值為1.3979907V

第3次通信內(nèi)容如下:

Setup Write to [0x90]+ACK

0x00+ACK

Setup Read to[0x91]+ACK

0x2B+ACK

0xB0+ACK

0x48+NACK

讀取內(nèi)容為第2個采樣的ADC數(shù)據(jù)2BB048,對應(yīng)電壓值為1.3980352V


以此類推,第4~21次通信內(nèi)容為第3~20個采樣數(shù)據(jù)。


以上的圖文Word格式文檔51黑下載地址:

SGM58200 ADC模塊 I2C通訊協(xié)議分析.docx (631.72 KB, 下載次數(shù): 38)


評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:1009348 發(fā)表于 2022-3-9 22:30 | 只看該作者
仿真軟件是圣邦微提供的嗎?謝謝!
回復(fù)

使用道具 舉報

板凳
ID:313601 發(fā)表于 2022-4-19 14:40 | 只看該作者
本帖最后由 菜鳥機(jī)器 于 2022-4-24 17:55 編輯

官網(wǎng)未查詢到有SGM58200芯片資料,請問樓主有沒有SGM58031案例程序?
回復(fù)

使用道具 舉報

地板
ID:1007495 發(fā)表于 2022-5-6 16:43 | 只看該作者
菜鳥機(jī)器 發(fā)表于 2022-4-19 14:40
官網(wǎng)未查詢到有SGM58200芯片資料,請問樓主有沒有SGM58031案例程序?

用我們的ADC吧,應(yīng)該比SGM58200成熟
回復(fù)

使用道具 舉報

5#
ID:313601 發(fā)表于 2022-7-7 10:49 | 只看該作者
qq329769206 發(fā)表于 2022-5-6 16:43
用我們的ADC吧,應(yīng)該比SGM58200成熟

型號是?
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表