记录bios学习的点点滴滴,虽然已经学了很长时间才发出来,但就当是温故而知新吧,由于水平有限,难免存在错误,望指正,同时感谢CSDN提供的平台。

1、LPC

定义:​ Intel所定义的PC接口,将以往ISA BUS的地址/数据分离译码,改成类似PCI的地址/数据信号线共享的译码方式,信号线数量大幅降低,工作速率由PCI总线速率同步驱动,虽然改良过的LPC接口一样维持最大传输值16MB/s,不过所需要的信号脚位数大幅降低25~30个,以LPC接口设计的Super I/O芯片、Flash芯片都能享有脚位数减少、体积微缩的好处,主板的设计也可以简化,这也就是取名LPC——Low Pin Count的原因。

应用:

LPC总线上一般都是低速设备,比如说鼠标,键盘,EC,SIO以及一些FLASH。

2、SIO

超级输入输出芯片(SIO)一般位于主板左下方或者左上方。主要使用的芯片有Winbond、ITE,Fintek,它为主板上的标准I/O接口提供控制处理功能。这里所说的“超级”是指它集成了PS/2键盘、PS/2鼠标、串口COM、并口LPT接口等处理功能,而这些接口都是计算机中的慢速I/O设备。它们全部位于主板后部右边。它的主要功能包括负责处理从键盘、鼠标、串行接口等设备传输来的串行数据,将它们转换成为并行数据,同时也负责并行接口、软驱接口数据的传输与处理。

SIO通过LPC总线与南桥通信,进行数据传输,而且SIO本身也是一块MCU,可以独立的控制输入输出设备。
        目前主要使用的SIO芯片的品牌有winbond华邦电子,ITE联阳半导体,以及Fintek精拓科技三个。本次介绍的为精拓科技的F81866芯片。

F81866的介绍:

F81866主要由H/W Monitor,FDC,Parallel Port,KBC,UART,GPIO,ACPI等构成,EDS中给出的介绍如下:

在访问SIO时,需要输入“KEY”,KEY的值可以通过硬件的设计来获知:如下

通过下面的硬件图对照上面的表格来确定key值

在使用SIO之前需要完成对0X2E中输入两次0X87操作,下面介绍使用SIO的H/W monitor的功能。

H/W monitor的使用需要在index 07H中输入04,在上面有提到过。

在ru下对sio的H/W monitor进行操作:

在index 07H中写04选择H/W monitor
其中60h,61h是H/W monitor的基地址。

RU界面下的H/W monitor:

编程实现对SIO的访问:

对SIO进行访问需要知道访问的是哪一个设备以及该设备的哪一个寄存器,设备选择是将该设备对应的值写入Index 04H当中,如何对该设备的某一个寄存器进行读写操作。其程序设计如下(对一个字节):

我们都知道电脑的CPU都有风扇,他可以实现智能对CPU进行降温,这是怎么实现的呢?

对sio的了解会知道这一点:

Smart  Fan的相关寄存器设置

Index 94H

选择风扇工作类型的寄存器,共三种工作类型。

Index 96H

选择风扇的工作模式,一共4种,分别为auto模式下的
RPM/duty cycle 控制,以及manual模式下的RPM/duty cycle

auto 模式下设置温度的寄存器(A6H,A7H,A8H,A9H)

auto 模式下设置RPM/duty cycle的寄存器(AAH,ABH,ACH,ADH,AEH)

温度,转速寄存器的使用说:

manual 模式下的寄存器设置
转速的设置,选择manual模式之后,可以在A3寄存器当中设置所需要的风扇的转速,其寄存器如下,并且给出了转速的计算方式(duty cycle),若设置的值为X,则为:
X*100/255

Smart Fan转速的计算
设置风扇的转速也需要将风扇实际的转速读出来,风扇实际的转速会保留在A0,A1寄存器当中:

在F81866当中也给出了转速的计算公式,如下:

编程实现对smart fan 的控制:

将每一个我们需要看到的数值,以及状态通过scan()函数读出来,然后打印在屏幕上,主要的值有当前状态是auto还是manual,设定的温度界限值,5个区间所对应的转速值,以及当前cpu温度以及当前风扇的转速。

总结
LPC总线继承了ISA总线的优点之余,也大大减少了电路针脚的设计,降低了硬件设计的难度,也实现了体积微缩,而SIO芯片则是将外部的低速的输入输出设备的控制以及信息交流全部集中在了一块芯片上,使信息的交流更加方便,同时整合多个功能在一块芯片上,使用的时候也更加方便。F81866芯片上集成了有:
一个FDC,9组GPIO,一个KBC,一组Parallel Port,一个WDT,一个H/W monitor,以及PME,
ACPI,ERP。
对于各个device来说,一般0x30寄存器为其的enable,0x60,0x61作为基地址的寄存器,0x70是中断寄存器,但不同设备有所区别,如kbc的中断寄存器除了0x70之外,还有0x72,分别对于的是键盘,鼠标的中断寄存器。

今天状态不好,脑袋有点疼,写的东西基本是以前学习的时候整理的PPT上再整理下来的,有点乱,见谅,SIO里有的会设置DIO,通过继电器来实现用主板对外部强电设备进行直接控制,下一章节会提到。

Thanks for your reading.

转载:http://blog.csdn.net/vito_bin/article/details/52973056

LPC(Low Pin Count) 与SIO(Super IO)的更多相关文章

  1. SDRAM interface slashes pin count

    Many designs need deep buffering but don't require ultrahigh-memory bandwidth. Examples include imag ...

  2. X86架构

    在接触BIOS的时候,都需要对PC架构有一定的认知.目前的PC架构绝大多数都是Intel的X86架构,貌似也是因为INTEL的这个X86架构早就了目前INTEL如日中天的地位. 废话不多说,X86架构 ...

  3. Linux内核配置选项

    http://blog.csdn.net/wdsfup/article/details/52302142 http://www.manew.com/blog-166674-12962.html Gen ...

  4. 深入linux kernel内核配置选项

    ============================================================================== 深入linux kernel内核配置选项 ...

  5. Trusted Execution Technology (TXT) --- 基本原理篇

    版权声明:本文为博主原创文章,未经博主允许不得转载. http://www.cnblogs.com/tsec/p/8409600.html 1. Intel TXT 介绍 TXT是Trusted Ex ...

  6. 2.2 HOST主桥

    本节以MPC8548处理器为例说明HOST主桥在PowerPC处理器中的实现机制,并简要介绍x86处理器系统使用的HOST主桥. MPC8548处理器是Freescale基于E500 V2内核的一个P ...

  7. 006 PCI总线的桥与配置(一)

    在PCI体系结构中,含有两类桥片,一个是HOST主桥,另一个是PCI桥.在每一个PCI设备中(包括PCI桥)都含有一个配置空间.这个配置空间由HOST主桥管理,而PCI桥可以转发来自HOST主桥的配置 ...

  8. System Address Map Initialization in x86/x64 Architecture Part 2: PCI Express-Based Systems

      原文  http://resources.infosecinstitute.com/system-address-map-initialization-x86x64-architecture-pa ...

  9. Development of Intel chipsets interconnection

    http://en.wikipedia.org/wiki/Chipset Chipset From Wikipedia, the free encyclopedia     A chipset is ...

随机推荐

  1. Singleton 单例模式(懒汉方式和饿汉方式)

    单例模式的概念: 单例模式的意思就是只有一个实例.单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例.这个类称为单例类. 关键点: 1)一个类只有一个实例       这是最基本 ...

  2. 升级struts到2.5.2遇到的问题及解决方案

    原来的版本是2.3.x,由于安全原因需要升级到2.5.2.1,2.5.2版本不再提供xwork.jar ,整合到了 struts-core包中. 2,方法不能访问的问题,需要在每个action配置文件 ...

  3. EF Power Tools使用介绍

            EF Power Tools可以从数据库反向生成实体及映射文件.一般在使用EF,有Database First,Code First以及Model First.常用的是Database ...

  4. Scrum 思考

    下个月就要离职,所以这个月特别清闲,上班时间都在上网看书,偶然在Startup News的一篇文章(http://blog.devtang.com/blog/2013/06/17/startup-an ...

  5. 数学图形(2.13)Spherical trochoid曲线

    该曲线与上一节的herical cycloid球面外摆曲线 很相似,难道这是球面内摆曲线? #http://www.mathcurve.com/courbes3d/cycloidspheric/tro ...

  6. dynamic bone unity github

    https://github.com/unity3d-jp/unitychan-crs 我发现我总找不到以前的东西.. https://www.cnblogs.com/alps/p/8284577.h ...

  7. 当Windows Server 2012的主DC出了问题, 如何迁移其上的FSMO角色?

    步骤如下: 1. 遵循https://support.microsoft.com/kb/255504中的transfer FSMO的步骤. 2. 这样做之后还没完. 因为Windows Server ...

  8. java中 HashMap和Hashtable,list、set和map 的区别

    摘自: http://blog.chinaunix.net/uid-7374279-id-2057584.html HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Ma ...

  9. Tensorflow 深度学习简介(自用)

    一些废话,也可能不是废话.可能对,也可能不对. 机器学习的定义:如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以在经验中学习. “程序”指的是需要用到的机器学习算法 ...

  10. Android 自己主动化測试(3)<monkeyrunner> 依据ID查找对象&touch&type (python)

    我在之前的两篇文章中用java来实现过 Android 自己主动化測试(1)怎样安装和卸载一个应用(java).Android 自己主动化測试(2)依据ID查找对象(java). 可是本质上都是用mo ...