AMI BMC读取VR(voltage regulator)温度

2023-10-28 19:30

本文主要是介绍AMI BMC读取VR(voltage regulator)温度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

现在有一个读取vr温度作为传感器的需求

拿到vr芯片手册,查看pmbus相关命令

可以看到Command code 是 8E h,Direct的格式代表两个byte作为温度

经过询问同事得知vr的i2c信号是通过cpld转过来到i2c-9上 

查看原理图找到i2c-9的连线,看看怎么连的

继续往下追发现连到一个switch芯片上(搞不懂为什么要switch,明明没有什么冲突的)

注意这里RESET这个 GPIO需要pull low,不然芯片不会作用,找不到这个0xE2的地址的

Reset信号往下找找,找到gpio号

可以看到是GPIOG7,计算一下 6 * 8 + 7=55

利用gpiotool来拉低和设置direct

注意如果是ast2600的平台,比如archercity,那么这个GPIOG7是被复用成sd2的,结果就会发现gpiotool set fail, 因此需要保证bootloader和kernel部分没有复用芯片这部分功能(要把dts中的配置disable)

GPIOG7 default 是做gpio 

这样就保证该GPIO没有被复用了

可以看到这个PCA9546的地址出来了

接下来就要利用i2c来做switch control 

先看看PCA9546的datasheet ,看看怎么做switch

由原理图可以看出,我们需要switch channel 2

由上图原理图可知i2c-9是SMB_HOST_STBY_BMC_LVC3_R_SDA ,对应pca9546的SD2(channel 2)

 接着查看pca9546 datasheet

找到control register 描述部分,可以看到如果想要switch channel 2, 需要往该寄存器的bit 2置为1,也就是04h(这里由于没有地址冲突,其他channel也没接,所以我写了FF h,偷懒了)

利用i2cset工具,往pca8546的地址 71h写入04h,你看vr芯片的地址都可以看到了 

 VR的地址有了,接下来只需要看vr datasheet的read temperature部分,利用pmbus读就OK了

先拉几个sensor出来

由上文的vr datasheet可以知道8Eh这个command code读取internal temperature,所以read部分的函数只有address不同,所以我们自己建一个ddf文件

下图为read 函数部分 

 

 

 在ddf中配置SLAVE_ADDR等需要的config项

Reflash,Build一下,烧录,开机

可以看到vr的温度了!

这篇关于AMI BMC读取VR(voltage regulator)温度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/295419

相关文章

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

argodb自定义函数读取hdfs文件的注意点,避免FileSystem已关闭异常

一、问题描述 一位同学反馈,他写的argo存过中调用了一个自定义函数,函数会加载hdfs上的一个文件,但有些节点会报FileSystem closed异常,同时有时任务会成功,有时会失败。 二、问题分析 argodb的计算引擎是基于spark的定制化引擎,对于自定义函数的调用跟hive on spark的是一致的。udf要通过反射生成实例,然后迭代调用evaluate。通过代码分析,udf在

下载/保存/读取 文件,并转成流输出

最近对文件的操作又熟悉了下;现在记载下来:学习在于 坚持!!!不以细小而不为。 实现的是:文件的下载、文件的保存到SD卡、文件的读取输出String 类型、最后是文件转换成流输出;一整套够用了; 重点: 1:   操作网络要记得开线程; 2:更新网络获取的数据 切记用Handler机制; 3:注意代码的可读性(这里面只是保存到SD卡,在项目中切记要对SD卡的有无做判断,然后再获取路径!)

ROS1 + Realsense d455 固件安装+读取rostopic数据

目录 安装固件(一定要匹配)ROS1 wrapper 安装方法Realsense SDK 安装方法Realsense Firmware 安装方法 修改roslaunch配置文件,打开双目图像和IMU数据其他坑点参考链接 安装固件(一定要匹配) 如果你是使用ROS1获取realsense数据的话,一定要注意,SDK, Firmware的版本不是越新越好!!,这是因为intel已经不

Python批量读取身份证信息录入系统和重命名

前言 大家好, 如果你对自动化处理身份证图片感兴趣,可以尝试以下操作:从身份证图片中快速提取信息,填入表格并提交到网页系统。如果你无法完成这个任务,我们将在“Python自动化办公2.0”课程中详细讲解实现整个过程。 实现过程概述: 模块与功能: re 模块:用于从 OCR 识别出的文本中提取所需的信息。 日期模块:计算年龄。 pandas:处理和操作表格数据。 PaddleOCR:百度的

java读取resource/通过文件名获取文件类型

java读取resource java读取resource目录下文件的方法: 借助Guava库的Resource类 Resources.getResource("test.txt") 通过文件名获取文件类型 mongodb java

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(4)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(3)-CSDN博客  这节就是真正的存储数据了   理清一下思路: 1.存储路径并检查 //2进制文件类存储private static string Data_Binary_Pa

力扣 739. 每日温度【经典单调栈题目】

1. 题目 理解题意: 1.1. 给一个温度集合, 要返回一个对应长度的结果集合, 这个结果集合里面的元素 i 是 当前 i 位置的元素的下一个更高温度的元素的位置和当前 i 位置的距离之差, 若是当前元素不存在下一个更高温度的元素, 则这个位置用0代替; 2. 思路 本题用单调栈来求解;单调栈就适用于来求当前元素左边或者右边第一个比当前元素大或者小的元素;【单调栈:让栈中的元素保持单调

Linux下读取默认MAC地址

一、适用范围 这里主要介绍读取网卡MAC地址的方法,适用于EasyARM-i.MX287A开发套件,其应用原理及配套示例也适用于下表1.1所列出的产品型号。 二、原理介绍 MAC(Media Access Control,介质访问控制)是用来定义网络设备的位置。用来表示互联网上每一个站点的标识符,采用十六进制数表示,共六个字节(48位)。其中,前三个字节是由IEEE的注册管理机构RA负责给

win7上R读取excel过程

win7上R读取excel过程 按照书上操作,出现 Error in odbcConnectExcel("c:/r-workspace/contacts.xls") :    odbcConnectExcel is only usable with 32-bit Windows 测试使用剪贴板(先将数据复制,则存在剪贴板了)的读取excel的方法,是可