ITE Super IO入门篇

BIOS实战之Super IO-Smart Fan 超级输入输出芯片(SIO)一般位于主板左下方或者左上方。主要使用的芯片有Winbond、ITE,它为主板上的标准I/O接口提供控制处理功能。 Super这里所说的“超级”是指它集成了PS/2键盘、PS/2鼠标、串口COM、并口LPT接口等处理功能,而这些接口都是计算机中的慢速I/O设备。它们全部位于主板后部右边。它的主要功能包括负责处理从键盘、鼠标、串行接口等设备传输来的串行数据,将它们转换成为并行数据,同时也负责并行接口、软驱接口数据的传输与处理。 SIO芯片通过LPC连接在南桥,台式机主板EC RO 阅读详情
AI摘要

本文是ITE Super IO入门篇,介绍了SIO应用,如电源管理、外围接口扩充等,它是半可定制化芯片。还说明了通过index/data的IO方式访问SIO,以IT8625为例介绍其8个逻辑设备及对应寄存器,最后提及SIO的IO Space及访问方法,后续将讲解各逻辑设备使用。

接触BIOS以来算起来已经有四年了,想着将自己所学的知识记录起来,这样也方便他人学习。这是我的第一篇博客,从SIO开始吧!

简介

SIO应用在台式机比较多,主要用来做电源管理,如上电时序控制;外围接口扩充,如串口、并口;还有温度、电压监控、智能风扇等。

SIO是一个半可定制化的芯片,怎么说是半可定制化呢?比如上电时序,这一部分就是固化好的,而可定制化部分则是逻辑设备(Logic Device)部分。接入电源后SIO便根据固化的程序开始运作,等待power button触发。按下power button后SIO开始跑上电时序,CPU Reset后BIOS才开始跑,此时BIOS给SIO配置的Logic Device也才生效。

访问SIO

可以通过 index/data 的IO的方式访问SIO,端口分别是0x2E/0x2F。访问前需要先进入PnP mode,之后便可以通过往0x07这里写入逻辑设备号切换到相应的逻辑设备。怎么进入PnP mode呢?SPEC上有说明。
在这里插入图片描述
即只需在0x2E/0x4E这个端口分别写入0x87,0x01,0x55,0x55 就可以了,进入PNP mode后我们便可以读出逻辑设备中的256个寄存器值,读完后需要退出PnP mode。我们可以在带SIO的机器上用RW做下实验。
在这里插入图片描述

SIO中的逻辑设备

本文及以后的文章将会以IT8625这款型号进行讲解,其它型号也是大同小异的。

IT8625这款Super IO 共有8个逻辑设备可用,分别如下:

  1. LDN 1 为串口1
  2. LDN 2 为串口2
  3. LDN 3 为并口
  4. LDN 4 为环境控制器,比如温度,电压监控,风扇控制等
  5. LDN 5 为PS/2键盘
  6. LDN 6 为PS/2鼠标
  7. LDN 7 为GPIO,如Power LED呼吸灯的控制
  8. LDN A 红外
    在这里插入图片描述
    每个逻辑设备都有对应的256个寄存器可配置,值得注意的是,256个寄存器中,有部分属于通用的全局寄存器,即每个逻辑设备这部分的寄存器都是共享的,如下表。
    在这里插入图片描述
    如0x20,0x21这两个寄存器,你在LDN1读出来的跟LDN2或LDN3等任何逻辑设备中读出来的都是一样的值,它都是属于Chip ID,此类寄存器称为Global Configuration Register。

每个逻辑设备中的寄存器除了全局部分,也有部分是有相同含义的,如0x30这个位置,大多数属于Activate功能,用来设置该设备是否启用,其它的具体可参照SPEC 8.2章节。

SIO中的IO Space

逻辑设备中的256个byte寄存器对于配置一些比较复杂的功能(如Smart Fan)远远是不够的,所以SIO还给我们提供了额外的寄存器去实现更加复杂的功能,那便是IO Space。要访问这个Space,就得知道它的Base Address,那在哪里呢?

IO Base Address一般是每个逻辑设备0x60,0x61,0x62,0x63这几个位置的值,当然,这段空间首先得经过南桥decode才可以,decode的这个问题我们暂且忽略。为了方便理解,我们举个例子。

就拿LDN 4 EC这个设备来说,我们要访问他的IO Space,首先得知道它的地址是多少,从IT8625的SPEC可以知道,地址就是0x60,0x61中的值。
在这里插入图片描述
这里的两个值是不能直接用的,按照说明,需要分别给他们加上05h和06h,再用index/data的IO方式访问就可以了。假如0x60的值是02h,0x61的值是90h(这两个值可以用RW看到),则:

  • index port address = 290h + 05h = 295h
  • data port address = 290h + 06h = 296h

用RW访问这个IO地址便可以看到结果了。

入门篇到这里就结束了,总体认识了一下SIO,后面的文章将逐一讲解每个逻辑设备的使用。

UEFI学习(四)-SuperIo的访问 UEFI学习(四)-SuperIo的访问一、什么是Super I/O?二、我们要用SuperIo实现什么三、NCT5581D的访问机制 一、什么是Super I/O? Super I/O 芯片也叫 I/O 芯片。在 486 以上档次的主板上都有 I/O控制电路。因为在南桥这样的高速设备和串行、并行接口、软盘驱动器及键盘鼠标等大量低速设备之间必定存在资源的不匹配,而需要经过转换和管理。而 Super I/O 芯片则完成了该功能。 通常在硬件监控芯片硬件监控芯片中会整合超级 I/O 功能,可用于监控受监控对象 阅读详情

相关推荐

Linux 访问superio 寄存器,ITE Super IO 学习 - GPIO

简述Super IO中的GPIO逻辑设备功能还是挺丰富的,除了通用GPIO功能,还支持看门狗(Watch Dog Timer)、SMI输出路由(SMI Ouput Routing)、外部中断路由(External Interrupt Routing)、LED闪烁(LED Blinking)等功能。这里就主要记录下LED Blinking这个功能,其它的有需要再研究。LED Blinking主要用在...

weixin_31435039的博客 2617

ITE Super IO 学习 – GPIO

000000000

tianpu2320959696的博客 1772

ITE Super IO - 串口

串口算是一个比较古老的功能了,平常我们日常中是很少使用的。但是对于我们做BIOS是则是经常用到,比如用于打印BIOS的DEBUG 信息。对于台式机的串口,一般都是由SIO接出来的。我们BIOS用来DEBUG的是SIO的第一个串口,即COM1。这里顺便提一下,假如要从板子接串口出来DEBUG,需要看看自己的串口线是哪种类型的,一种是带RS232转换芯片的,一种是不带的,如下图: 假如是第一种不带...

zerochen_的博客 3317

ITE Super IO 学习 – 入门篇

000000

tianpu2320959696的博客 1121

ITE Super IO - Environment Controller

简介 Environment Controller,即环境控制器,可以说是SIO中最复杂也是最重要的功能了,它主要包含了风扇控制、电压监测和温度监测三个模块,它们组合起来就可以实现智能风扇(Smart Fan)功能,能根据主机温度实时调节风扇转速,保证CPU能够稳定运行。 访问 在SIO关于Environment Controller这一章的SPEC中,里边所定义的寄存器是比较少的,SIO会把寄存器放在IO SPACE中,这一点我第一篇中就有讲到。访问IO SPACE就需要知道这个空间的地址,从SPEC中可

zerochen_的博客 4652

BIOS实战之Super IO-智能风扇控制与ITE8738芯片深度解析

本文深入解析了Super IO芯片在主板上的核心作用,特别是ITE8738芯片如何通过LPC总线实现智能风扇控制(Smart Fan)。文章详细介绍了从进入PnP配置模式、选择环境控制器到配置温度-转速曲线的完整实战流程,为BIOS开发者和硬件爱好者提供了底层硬件控制的实用指南。

weixin_28292761的博客 508

Superio进入寄存器配置空间详细操作

SIO进入配置空间,进行配置和退出配置空间详细操作

weixin_49478315的博客 5490

主板维修必看:Super IO芯片(ITE87系列)风扇控制故障排查指南

本文提供了一份针对主板维修中ITE Super IO芯片风扇控制故障的深度排查指南。文章详细阐述了从硬件电路测量、LPC总线通信验证到通过2E/2F端口进行寄存器级调试的完整流程,并重点介绍了Smart Fan功能的配置原理与修复方法,帮助维修人员精准定位并解决风扇转速失控等疑难问题。

s4t5u6v7的博客 504

【我所認知的BIOS】—>Super IO

【我所認知的BIOS】—>Super IOBy LightSeed2009-9-2   1、Superio概述Super I/O芯片也叫I/O芯片。在486以上档次的主板上都有I/O控制电路。因为在南桥这样的高速设备和串行、并行接口、软盘驱动器及键盘鼠标等大量低速设备之间必定存在资源的不匹配,而需要经过转换和管理。而Super I/O芯片则完成了该功能。通常在硬件监控芯片硬件监

肢解BIOS 3万+

主板维修必看:Super IO芯片ITE系列常见故障排查指南(含Smart Fan异常解决方案)

本文深入解析ITE Super IO芯片的架构与功能,重点介绍Smart Fan异常诊断与高级修复策略。涵盖典型故障模式识别、三级诊断流程、寄存器级修复技术及电路级维修要点,提供BIOS协同调试和固件逆向的实用方案,帮助技术人员高效解决主板维修中的常见问题。

weixin_33734785的博客 551

【UEFI系列】Super IO

Super Input/Output超级输入输出控制器。通过LPC(low pin count)总线与南桥进行通信。LPC:基于intel标准的33MHz 4bit并行总线协议,代替以前的ISA总线协议。用于串口、并口、键盘/鼠标、软盘驱动器等低速设备的连接。本身是个单片机,可以独立控制输入输出设备。

qq_44954543的博客 1597

ITE Super IO 学习 – 串口

000000000000

tianpu2320959696的博客 954

Super IO芯片选型指南:Fintek/ITE/华邦五大厂商特性对比

本文详细对比了Fintek、ITE、华邦等五大厂商的Super IO芯片特性,涵盖逻辑设备支持、硬件监控精度、成本结构及供应链等关键维度。通过实测数据和商业分析,为工业控制、服务器管理等应用场景提供选型建议,帮助决策者平衡技术参数与商业考量,优化系统稳定性和总拥有成本。

weixin_30689307的博客 56

ITE Super IO 学习 – 环境控制器

000000

tianpu2320959696的博客 865

手把手教你用ITE8738芯片实现主板风扇智能调速(附完整代码)

本文深入解析了如何通过ITE8738 Super I/O芯片实现主板风扇的底层智能调速。文章提供了从进入芯片配置模式、定位环境控制器基地址,到读写风扇控制寄存器的完整实战流程,并附带了核心代码示例,帮助开发者和硬件爱好者绕过BIOS限制,实现自定义的Smart Fan控制策略。

brandy的博客 490

保姆级教程:Unraid下搞定ITE IT8613E监控芯片,让温度和风扇转速乖乖显示

本文提供了一份详细的Unraid服务器硬件监控指南,重点解决ITE IT8613E监控芯片的温度和风扇转速显示问题。通过sensors-detect工具识别芯片、安装IT87驱动插件、加载驱动模块并验证,最终实现数据的持久化配置和可视化集成。适合需要完善硬件监控功能的Unraid用户。

weixin_26800111的博客 472
下一篇: ITE Super IO - 串口
劈了个C
博客等级 码龄12年 52粉丝 3原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值