问题描述
ADC芯片监控电压,通过scanner获取和I2C获取数据不一致
L1管理板Ads78对象配置:
现在L1管理板上配置的ADC事件监控都存在事件告警
确认I2C测试方法没问题:
目前在OSFP测试I2C获取到的值经过换算后与电压表读值一致:
ADC芯片监控电压,通过scanner获取和I2C获取数据不一致
L1管理板Ads78对象配置:
现在L1管理板上配置的ADC事件监控都存在事件告警
确认I2C测试方法没问题:
目前在OSFP测试I2C获取到的值经过换算后与电压表读值一致:
答案内容由AI生成,仅供参考:
将防抖(Debounce)配置中的 IsSigned 属性改为 false。
修改完成后重新编译升级,再次对比 Scanner 读取值与硬件实际电压,即可保持一致。
参考来源:文档 使用Scanner读取Adc芯片数据与实际不符问题分析(reference_id: 3)明确给出了此解决方案。
根据提供的上下文信息,该类问题已有明确的分析记录和处理方案。以下内容均来源于 Context 中的文档《使用Scanner读取Adc芯片数据与实际不符问题分析》及相关知识。
在使用 Scanner 读取ADC芯片电压时,得到的值与通过 Chip 的 read 方法(直接 I2C 读取寄存器)获取的电压值不一致。
tracechip 命令实时追踪硬件芯片的读写操作,辅助定位。将防抖(Debounce)配置中的 IsSigned 属性改为 false。
修改完成后重新编译升级,再次对比 Scanner 读取值与硬件实际电压,即可保持一致。
参考来源:文档 使用Scanner读取Adc芯片数据与实际不符问题分析(reference_id: 3)明确给出了此解决方案。
midavg_u6(无符号中值平均6次防抖)等防抖策略(文档5、6)。IsSigned 配置错误(如误设为 true),会导致电压换算偏差。IsSigned 字段,若为 true,则改为 false。tracechip 工具监控芯片访问数据流。注意:以上分析完全基于提供的 Context 内容,未引入外部知识。若需更详细的防抖配置指南,可参考上下文中的《CSR对象防抖动和精度配置介绍》文档。
从mdbctl 查询的Scanner属性看,也和sr配置的Offset不同,你是不是弄错sr了。