我手上有两个板子,板子1和板子2
我在板子1上进行adc测试:
万用表测电压为 0.905v 软件获取的为895
~ # busctl --address=unix:abstract=/tmp/dbus-WaRKgV2RBe introspect bmc.kepler.hwproxy /bmc/kepler/Scanner/Scanner_Adc_0_01
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
bmc.kepler.Object.Properties interface - - -
.Value property t 895 emits-change
将其接地后 读数为5
~ # busctl --address=unix:abstract=/tmp/dbus-WaRKgV2RBe introspect bmc.kepler.hwproxy /bmc/kepler/Scanner/Scanner_Adc_2_01
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.Value property t 5 emits-change
以上情况基本正常。
但是我同样配置去板子2上进行测试。
接地的通道读数为141
busctl --address=unix:abstract=/tmp/dbus-WaRKgV2RBe introspect bmc.kepler.hwproxy /bmc/kepler/Scanner/Scanner_Adc_9_01
NAME TYPE SIGNATURE RESULT/VALUE FLAGS
.Value property t 141 emits-change
root.sr配置
"Objects": {
"Adc_1": {
"ScanRate": 32768,
"VoltRefSrc": 1,
"VoltRefVal": 1200
},
"Chip_Adc_1": {
"Address": 0,
"AddrWidth": 4,
"OffsetWidth": 4
},
"Scanner_Adc_9": {
"Chip": "#/Chip_Adc_1",
"Offset": 9,
"Size": 1,
"Period": 1000
},
"Scanner_Adc_0": {
"Chip": "#/Chip_Adc_1",
"Offset": 0,
"Size": 1,
"Period": 1000
},
读取adc0获取的读数为1011 万用表直接测量是1.007v
但是读取adc1的时候读数为1031 万用表直接测量的是0.84v
问题1,我在板子2上的adc2读数不正确是否软件上的问题? 因为同样的配置在板子1均正常,板子2不正常。
问题2,板子2中adc9的值也偏高,但是原理图直接接地,此处是否也有问题?
问题3,在root.sr中"AddrWidth": 4,和"Scanner_Adc_0"的"Size": 4,字段需要对应上吗?
"Chip_Adc_0": {
"Address": 0,
"AddrWidth": 4,
"OffsetWidth": 4
},
"Scanner_Adc_0": {
"Chip": "#/Chip_Adc_0",
"Offset": 0,
"Size": 4,
"Period": 1000
},
问题4,为什么我的busctl命令,需要添加 --address=unix:abstract=/tmp/dbus-WaRKgV2RBe
如果不添加,命令无法运行,是否是因为这个导致我的读数与实际有所偏差?
opt/bmc/sr #
/opt/bmc/sr # systemctl status dbus
● dbus.service - D-Bus System Message Bus
Loaded: loaded (/lib/systemd/system/dbus.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 1970-01-01 00:00:21 CGP; 4h 59min ago
TriggeredBy: ● dbus.socket
Docs: man:dbus-daemon(1)
Process: 2198 ExecStartPost=/opt/bmc/rundbus.sh (code=exited, status=0/SUCCESS)
Main PID: 2176 (dbus-daemon)
Tasks: 2 (limit: 10414)
Memory: 3.4M
CGroup: /system.slice/dbus.service
├─ 2176 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
└─ 2216 /usr/bin/dbus-daemon --syslog --fork --print-pid 4 --print-address 6 --config-file /opt/bmc/dbus.config
Jan 01 00:00:20 localhost systemd[1]: Starting D-Bus System Message Bus...
Jan 01 00:00:20 localhost dbus-daemon[2176]: dbus[2176]: Unknown username "systemd-timesync" in message bus configuration file
Jan 01 00:00:20 localhost dbus-daemon[2176]: dbus[2176]: Unknown username "systemd-network" in message bus configuration file
Jan 01 00:00:20 localhost dbus-daemon[2176]: dbus[2176]: Unknown username "systemd-resolve" in message bus configuration file
Jan 01 00:00:21 localhost systemd[1]: Started D-Bus System Message Bus.
Hint: Some lines were ellipsized, use -l to show in full.
/opt/bmc/sr #
/opt/bmc/sr # echo $XDG_RUNTIME_DIR/bus
/bus