极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 34378|回复: 25

从主机主板PCI接口读取主板或者CPU的温度?可行么?

[复制链接]
发表于 2013-4-22 17:25:43 | 显示全部楼层 |阅读模式
SMBUS也就是I2C总线。
一般主机上面PCI插槽上有给SMBus预留了两个引脚(A40为SMBus 时钟线,A41为SMBus 数据线),以便于PCI接口卡与主板设备之间交换信息。
而主板上面smbus总线是可以用来监控主机的物理健康特征,如温度、电压、风扇工作状态、电源状态。因为每一个传感器都是通过I2C(SMBUS)总线传输的。
所以如果我在PCI接口引线到arduino单片机上面的I2C接口能不能读取到里面的信息呢?
有没有人做过相关的测试。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

发表于 2013-4-22 20:11:11 | 显示全部楼层
楼主您好,能整一个更详细的教程吗,主板特写,接在什么地方的特写,然后是程序的代码。谢谢了
回复 支持 反对

使用道具 举报

发表于 2013-4-22 20:45:14 | 显示全部楼层
哥们,你太狠了。看你机箱被你整的多牛。 IDE线还改造了,一看就是GEEK啊。其实理论上可行,但是2个主机的IIC总线好弄么?这样搞不好烧主板就不划算了,温度监测可以采用外部探头来完成,其实更好;
首先基本上没风险(当然 你用金属罩的温度传感器就要小心把主板短路的问题,明智的方法就是外面用导热硅胶直接包裹)
其次主板上的监测系统更多的还是受到主板运行状况的影响。有时候数据有错也是可能的。
成本上看,一个数字温度管也才几块钱,钱多可以一次装它10-20个。比如CPU温度,显卡温度,硬盘0 1 2 3 温度光驱温度。 用霍尔元件还可以监测风扇转速,以及主板供电状况(比如某一路电压出现问题了,过低 过高等等) 顺便还有湿度信息
装上比如簧片可以监测机箱盖是否没盖紧。

还有好处就是可以再软驱位置安装好ARDUINO 以及LED点阵屏。并且通过串口可以传输到电脑。
SO COOL!
回复 支持 反对

使用道具 举报

发表于 2013-4-22 20:46:48 | 显示全部楼层
一起接有个问题。就是时序问题。arduino的时钟信号和主板的会冲突不?
回复 支持 反对

使用道具 举报

发表于 2013-4-22 21:56:52 | 显示全部楼层
主板上总线几百M的时钟频率,arduino跟得上么
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-23 08:47:23 | 显示全部楼层
Cupid 发表于 2013-4-22 20:11
楼主您好,能整一个更详细的教程吗,主板特写,接在什么地方的特写,然后是程序的代码。谢谢了

因为就算I2C读取也要地址,目前找不到地址信息,囧,就是不知道怎么读。。
最初看到这个是IPMI相关资料,然后就想读出来,所以我资料都是百度回来的。
在主板的PCI接口(B3=GND,B5=5V,A40=SCL,A41=SDA),还有DDR2内存插槽也有I2C\SMbus接口(119和120引脚)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-23 08:55:07 | 显示全部楼层
darkorigin 发表于 2013-4-22 20:45
哥们,你太狠了。看你机箱被你整的多牛。 IDE线还改造了,一看就是GEEK啊。其实理论上可行,但是2个主机的I ...

用外部元件监测也好。
只是既然主板本来有这样的总线,那利用上就更好。
还要。通过这个总线还可以读取到蓝屏时候的代码、BIOS里面的一些信息吧(这个貌似可以)。这样家里的经常蓝屏的下载主机就算不用整天看着
回复 支持 反对

使用道具 举报

发表于 2013-4-23 09:14:37 | 显示全部楼层
最好不好试,一不小心你的主板会挂掉!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-23 09:19:48 | 显示全部楼层
qptimus 发表于 2013-4-22 21:56
主板上总线几百M的时钟频率,arduino跟得上么

淘宝上的诊断卡应该也是一个原理吧?
笔记本电池也是通过I2C给笔记本主板传输一些电量,使用次数等信息。

笔记本SMBUS/IIC诊断卡。也是通过I2C读取主板信息的吧~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-23 09:22:24 | 显示全部楼层
Randy 发表于 2013-4-23 09:14
最好不好试,一不小心你的主板会挂掉!

烧掉倒不会吧,只是用到供电和I2C接口。{:3_62:}
回复 支持 反对

使用道具 举报

发表于 2013-4-23 09:44:50 | 显示全部楼层
心之永恒 发表于 2013-4-23 09:19
淘宝上的诊断卡应该也是一个原理吧?
笔记本电池也是通过I2C给笔记本主板传输一些电量,使用次数等信息。 ...

这个产品用的应该是cpld/fpga之类的吧

avr速度不够快吧
回复 支持 反对

使用道具 举报

发表于 2013-4-23 12:58:55 | 显示全部楼层
心之永恒 发表于 2013-4-23 09:22
烧掉倒不会吧,只是用到供电和I2C接口。

原理是这样子,但是你要注意的是电流的流出与灌流的关系,Arduino的IO口电流最大是500MA,这个电流没什么大问题,但是你用的是电脑主板,涉及的不只是这点,多方面考虑考虑!
回复 支持 反对

使用道具 举报

发表于 2013-4-23 13:05:24 | 显示全部楼层
心之永恒 发表于 2013-4-23 09:19
淘宝上的诊断卡应该也是一个原理吧?
笔记本电池也是通过I2C给笔记本主板传输一些电量,使用次数等信息。 ...

以arduino的频率,估计很悬
回复 支持 反对

使用道具 举报

发表于 2013-4-23 18:53:06 | 显示全部楼层
没问题,AVR完全可以处理PCI的SMBUS,无论电压和时序都OK
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-4-23 20:03:53 | 显示全部楼层
wing 发表于 2013-4-23 18:53
没问题,AVR完全可以处理PCI的SMBUS,无论电压和时序都OK

明天回家测试一下,应该怎么样的协议来读取呢?我尝试0x00~0xff 逐个地址读取。
{:3_60:}I2C写的不多,不是很会。还是喜欢串口o(╯□╰)o  
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-14 22:32 , Processed in 0.048150 second(s), 24 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表