当前在openubmc中适配920L/920模组SMC命令字。发现920L和920的模组SMC命令字GET_SENSOR_ALL返回的数据差异较大。
1.首先在 鲲鹏模组SMC命令字 看到S920X08和S920L08的命令字GET_SENSOR_ALL都是返回8个相同传感器。


按表格的方法计算1v8_cpu的寄存器值: 1.8 * 32767 / 2.5 = 23592.24
所以1v8_cpu的寄存器正常值应在23592左右;
以此类推计算其他ADC传感器的寄存器值
0v9_vddavs的寄存器正常值应在11796左右
3v3_vcc的寄存器正常值应在21626左右
vcc_12v0的寄存器正常值应在26213左右
stby_1v8的寄存器正常值应在23592左右
stby_3v3的寄存器正常值应在21626左右
2.在920模组上执行GET_SENSOR_ALL指令获取所有传感器
硬件环境:S920X08模组
uid:00000001020302064399
cpld版本:0.15

图片中返回的是10进制数据,具体对应关系如下:
已将十进制数转换为十六进制表示:
十进制 十六进制
80 0x50
93 0x5d
56 0x38
43 0x2b
101 0x65
83 0x53
79 0x4f
103 0x67
55 0x37
92 0x5c
21 0x15
83 0x53
每个传感器占两个字节,如下:
实际电压:
23888 / 32767 *2.5 = 1.8226
11064 / 32767 * 2.5 = 0.8443
21349 / 32767 * 2.5 * 2 = 3.2575
26447 / 32767 *2.5 * 6 = 12.1068
23607 / 32767 * 2.5 = 1.8012
20789 / 32767 * 2.5 * 2 = 3.1726
显然,实际电压是在正常范围内。
3.在920L模组上执行GET_SENSOR_ALL指令获取所有传感器
硬件环境:S920L08模组
uid:00000001020302080020
cpld版本:0.06

十进制 十六进制
68 0x44
92 0x5C
119 0x77
46 0x2E
251 0xFB
102 0x66
175 0xAF
126 0x7E
30 0x1E
113 0x71
170 0xAA
101 0x65
每个传感器占两个字节,如下:
1v8_cpu:23620 / 32767 * 2.5 = 1.8022
0v9_vddavs:11895 / 32767 * 2.5 = 0.9076
3v3_vcc :26363 / 32767 * 2.5 * 2 = 4.0222
vcc_12v0 :32431 / 32767 * 2.5 * 6 = 14.8422
stby_1v8:28958 / 32767 * 2.5 = 2.2096
stby_3v3 :26026 / 32767 *2.5 * 2 = 3.9714
显然:3v3_vcc、vcc_12v0、stby_1v8和stby_3v3寄存器读数存在问题。
4.问题:920L、920和920S模组SMC命令字GET_SENSOR_ALL返回的传感器是否一致?
当前在openubmc中适配920L/920模组SMC命令字。发现920L和920的模组SMC命令字GET_SENSOR_ALL返回的数据差异较大。
1.首先在 鲲鹏模组SMC命令字 看到S920X08和S920L08的命令字GET_SENSOR_ALL都是返回8个相同传感器。
按表格的方法计算1v8_cpu的寄存器值: 1.8 * 32767 / 2.5 = 23592.24
所以1v8_cpu的寄存器正常值应在23592左右;
以此类推计算其他ADC传感器的寄存器值
0v9_vddavs的寄存器正常值应在11796左右
3v3_vcc的寄存器正常值应在21626左右
vcc_12v0的寄存器正常值应在26213左右
stby_1v8的寄存器正常值应在23592左右
stby_3v3的寄存器正常值应在21626左右
2.在920模组上执行GET_SENSOR_ALL指令获取所有传感器
硬件环境:S920X08模组
uid:00000001020302064399
cpld版本:0.15
图片中返回的是10进制数据,具体对应关系如下:
已将十进制数转换为十六进制表示:
十进制 十六进制
80 0x50
93 0x5d
56 0x38
43 0x2b
101 0x65
83 0x53
79 0x4f
103 0x67
55 0x37
92 0x5c
21 0x15
83 0x53
每个传感器占两个字节,如下:
实际电压:
23888 / 32767 *2.5 = 1.8226
11064 / 32767 * 2.5 = 0.8443
21349 / 32767 * 2.5 * 2 = 3.2575
26447 / 32767 *2.5 * 6 = 12.1068
23607 / 32767 * 2.5 = 1.8012
20789 / 32767 * 2.5 * 2 = 3.1726
显然,实际电压是在正常范围内。
3.在920L模组上执行GET_SENSOR_ALL指令获取所有传感器
硬件环境:S920L08模组
uid:00000001020302080020
cpld版本:0.06
十进制 十六进制
68 0x44
92 0x5C
119 0x77
46 0x2E
251 0xFB
102 0x66
175 0xAF
126 0x7E
30 0x1E
113 0x71
170 0xAA
101 0x65
每个传感器占两个字节,如下:
1v8_cpu:23620 / 32767 * 2.5 = 1.8022
0v9_vddavs:11895 / 32767 * 2.5 = 0.9076
3v3_vcc :26363 / 32767 * 2.5 * 2 = 4.0222
vcc_12v0 :32431 / 32767 * 2.5 * 6 = 14.8422
stby_1v8:28958 / 32767 * 2.5 = 2.2096
stby_3v3 :26026 / 32767 *2.5 * 2 = 3.9714
显然:3v3_vcc、vcc_12v0、stby_1v8和stby_3v3寄存器读数存在问题。
4.问题:920L、920和920S模组SMC命令字GET_SENSOR_ALL返回的传感器是否一致?