LPC(Low Pin Count) 与SIO(Super IO)
記錄bios學(xué)習(xí)的點(diǎn)點(diǎn)滴滴,雖然已經(jīng)學(xué)了很長(zhǎng)時(shí)間才發(fā)出來,但就當(dāng)是溫故而知新吧,由于水平有限,難免存在錯(cuò)誤,望指正,同時(shí)感謝CSDN提供的平臺(tái)。
1、LPC
定義:??Intel所定義的PC接口,將以往ISA BUS的地址/數(shù)據(jù)分離譯碼,改成類似PCI的地址/數(shù)據(jù)信號(hào)線共享的譯碼方式,信號(hào)線數(shù)量大幅降低,工作速率由PCI總線速率同步驅(qū)動(dòng),雖然改良過的LPC接口一樣維持最大傳輸值16MB/s,不過所需要的信號(hào)腳位數(shù)大幅降低25~30個(gè),以LPC接口設(shè)計(jì)的Super I/O芯片、Flash芯片都能享有腳位數(shù)減少、體積微縮的好處,主板的設(shè)計(jì)也可以簡(jiǎn)化,這也就是取名LPC——Low Pin Count的原因。
應(yīng)用:
LPC總線上一般都是低速設(shè)備,比如說鼠標(biāo),鍵盤,EC,SIO以及一些FLASH。
2、SIO
超級(jí)輸入輸出芯片(SIO)一般位于主板左下方或者左上方。主要使用的芯片有Winbond、ITE,Fintek,它為主板上的標(biāo)準(zhǔn)I/O接口提供控制處理功能。這里所說的“超級(jí)”是指它集成了PS/2鍵盤、PS/2鼠標(biāo)、串口COM、并口LPT接口等處理功能,而這些接口都是計(jì)算機(jī)中的慢速I/O設(shè)備。它們?nèi)课挥谥靼搴蟛坑疫叀K闹饕δ馨ㄘ?fù)責(zé)處理從鍵盤、鼠標(biāo)、串行接口等設(shè)備傳輸來的串行數(shù)據(jù),將它們轉(zhuǎn)換成為并行數(shù)據(jù),同時(shí)也負(fù)責(zé)并行接口、軟驅(qū)接口數(shù)據(jù)的傳輸與處理。
?SIO通過LPC總線與南橋通信,進(jìn)行數(shù)據(jù)傳輸,而且SIO本身也是一塊MCU,可以獨(dú)立的控制輸入輸出設(shè)備。
? ? ? ? 目前主要使用的SIO芯片的品牌有winbond華邦電子,ITE聯(lián)陽半導(dǎo)體,以及Fintek精拓科技三個(gè)。本次介紹的為精拓科技的F81866芯片。
? ? F81866的介紹:
F81866主要由H/W Monitor,FDC,Parallel Port,KBC,UART,GPIO,ACPI等構(gòu)成,EDS中給出的介紹如下:
在訪問SIO時(shí),需要輸入“KEY”,KEY的值可以通過硬件的設(shè)計(jì)來獲知:如下
通過下面的硬件圖對(duì)照上面的表格來確定key值
?
在使用SIO之前需要完成對(duì)0X2E中輸入兩次0X87操作,下面介紹使用SIO的H/W monitor的功能。
H/W monitor的使用需要在index 07H中輸入04,在上面有提到過。
在ru下對(duì)sio的H/W monitor進(jìn)行操作:
?
在index 07H中寫04選擇H/W monitor
其中60h,61h是H/W monitor的基地址。
?
RU界面下的H/W monitor:
?
?
編程實(shí)現(xiàn)對(duì)SIO的訪問:
對(duì)SIO進(jìn)行訪問需要知道訪問的是哪一個(gè)設(shè)備以及該設(shè)備的哪一個(gè)寄存器,設(shè)備選擇是將該設(shè)備對(duì)應(yīng)的值寫入Index 04H當(dāng)中,如何對(duì)該設(shè)備的某一個(gè)寄存器進(jìn)行讀寫操作。其程序設(shè)計(jì)如下(對(duì)一個(gè)字節(jié)):
我們都知道電腦的CPU都有風(fēng)扇,他可以實(shí)現(xiàn)智能對(duì)CPU進(jìn)行降溫,這是怎么實(shí)現(xiàn)的呢?
對(duì)sio的了解會(huì)知道這一點(diǎn):
Smart ?Fan的相關(guān)寄存器設(shè)置
Index 94H
選擇風(fēng)扇工作類型的寄存器,共三種工作類型。
?
Index 96H
選擇風(fēng)扇的工作模式,一共4種,分別為auto模式下的
RPM/duty cycle 控制,以及manual模式下的RPM/duty cycle
?
?
auto 模式下設(shè)置溫度的寄存器(A6H,A7H,A8H,A9H)
auto 模式下設(shè)置RPM/duty cycle的寄存器(AAH,ABH,ACH,ADH,AEH)
?
?
溫度,轉(zhuǎn)速寄存器的使用說:
?
manual 模式下的寄存器設(shè)置
轉(zhuǎn)速的設(shè)置,選擇manual模式之后,可以在A3寄存器當(dāng)中設(shè)置所需要的風(fēng)扇的轉(zhuǎn)速,其寄存器如下,并且給出了轉(zhuǎn)速的計(jì)算方式(duty cycle),若設(shè)置的值為X,則為:
X*100/255
?
Smart Fan轉(zhuǎn)速的計(jì)算
設(shè)置風(fēng)扇的轉(zhuǎn)速也需要將風(fēng)扇實(shí)際的轉(zhuǎn)速讀出來,風(fēng)扇實(shí)際的轉(zhuǎn)速會(huì)保留在A0,A1寄存器當(dāng)中:
在F81866當(dāng)中也給出了轉(zhuǎn)速的計(jì)算公式,如下:
?
?
編程實(shí)現(xiàn)對(duì)smart fan 的控制:
?
?
將每一個(gè)我們需要看到的數(shù)值,以及狀態(tài)通過scan()函數(shù)讀出來,然后打印在屏幕上,主要的值有當(dāng)前狀態(tài)是auto還是manual,設(shè)定的溫度界限值,5個(gè)區(qū)間所對(duì)應(yīng)的轉(zhuǎn)速值,以及當(dāng)前cpu溫度以及當(dāng)前風(fēng)扇的轉(zhuǎn)速。
?總結(jié)
LPC總線繼承了ISA總線的優(yōu)點(diǎn)之余,也大大減少了電路針腳的設(shè)計(jì),降低了硬件設(shè)計(jì)的難度,也實(shí)現(xiàn)了體積微縮,而SIO芯片則是將外部的低速的輸入輸出設(shè)備的控制以及信息交流全部集中在了一塊芯片上,使信息的交流更加方便,同時(shí)整合多個(gè)功能在一塊芯片上,使用的時(shí)候也更加方便。F81866芯片上集成了有:
一個(gè)FDC,9組GPIO,一個(gè)KBC,一組Parallel Port,一個(gè)WDT,一個(gè)H/W monitor,以及PME, ACPI,ERP。
對(duì)于各個(gè)device來說,一般0x30寄存器為其的enable,0x60,0x61作為基地址的寄存器,0x70是中斷寄存器,但不同設(shè)備有所區(qū)別,如kbc的中斷寄存器除了0x70之外,還有0x72,分別對(duì)于的是鍵盤,鼠標(biāo)的中斷寄存器。
今天狀態(tài)不好,腦袋有點(diǎn)疼,寫的東西基本是以前學(xué)習(xí)的時(shí)候整理的PPT上再整理下來的,有點(diǎn)亂,見諒,SIO里有的會(huì)設(shè)置DIO,通過繼電器來實(shí)現(xiàn)用主板對(duì)外部強(qiáng)電設(shè)備進(jìn)行直接控制,下一章節(jié)會(huì)提到。
Thanks for your reading.
轉(zhuǎn)載:http://blog.csdn.net/vito_bin/article/details/52973056
轉(zhuǎn)載于:https://www.cnblogs.com/chengqi521/p/8021893.html
總結(jié)
以上是生活随笔為你收集整理的LPC(Low Pin Count) 与SIO(Super IO)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个新开超市3天竟充值270多万,锁定2
- 下一篇: 如何使用微软提供的TCHAR.H头文件