EDN首页   博客首页 用户登陆  |  注册

12

关于投票
内存频率的自动设置原理

作者:陈忠民

我们在购买内存条时,往往关心的是它的容量和接口类型。其实,内存的工作频率也不可忽视,因为频率决定了内存的工作性能,对电脑系统的整体性能也有很大关系。譬如,同样是512MB的DDR2内存条,就有DDR2-533、DDR2-667以及DDR2-800等类型,533、667和800这些数字表示内存条的频率,单位为MHz。在容量和接口类型相同时,你当然希望选择频率较高的产品,以提高系统的运行速度。

不过,有这样一个问题:从市场买回的内存条,插入电脑后,是否一定会按照产品标称的频率工作呢?如果可以的话,又是怎样实现的呢?这就是本文要回答的问题。

如果仔细观察内存条,我们会发现在内存条上除了存储芯片外还有一个很小的芯片,这就是所谓的SPDSerial Presence Detect 内存性能检测)芯片(图1),内存的频率就是由这个芯片决定的。

点击看大图

  内存条上的SPD芯片

 

我们知道,即插即用的外部设备的频率设置是由设备决定的,主机通过读取设备中ROM芯片中包括频率在内的特征参数,然后自动分配系统资源,自动配置驱动程序,使得设备可以正常工作。

内存条上的SPD芯片的作用类似于主板上的BIOS其中存储了内存芯片的内存容量、工作频率、延迟时间(CAStRCDtRPtCA)及工作电压和厂商信息等,内存控制器通过SMBus总线的SDA引脚读取DIMM上的SPD参数,SPD芯片的信息就会被记录在内存控制器中的PLL电路的寄存器(Register)中。

早期主板上内存总线的时钟信号由频率合成器提供,较新的主板已经将频率合成器集成到北桥芯片中(图2)。CPU频率的自动设置原理相似,北桥芯片内的频率合成器也是通过读取内存信息的方法实现自动设置频率的。

  内存时钟频率的获取机制

 

内存总线时钟与系统时钟的频率往往并不相同,譬如系统时钟为133MHz,而内存时钟的频率为200MHz时,两者之间存在67MHz的差异,这种频率上的差异被成为“内存异步”。不过,为了实现内存与CPU之间的同步通信,两个总线在相位上仍然需要保持同步。实现相位的同步在技术上并不困难,只要北桥芯片中的PLL电路与频率合成器中的PLL电路使用同一个参考频率fref就可以了。

系统分类: DSP
用户分类: 深度挖掘
标签: 内存异步 频率合成器 北桥 SPD
来源: 原创
发表评论 阅读全文(2692) | 回复(2)

13

关于投票
CPU频率的按需供应机制

作者:陈忠民

CPU时钟频率的设置不仅影响系统性能,还会影响CPU的安全。那么CPU的时钟频率到底是如何得来的呢? 

    BSEL信号设定CPU外频

CPU制造商和主板制造商共同开发时钟频率的自动设置技术,其中CPU外频是频率合成器提供的,而倍频则由CPU自身进行设定。为了实现对外频的调节和控制,早期主板通过跳线设定的方式让频率合成器产生不同的外频,后来在CPU外频设定引脚和频率合成器之间建立了一个逻辑信号转换芯片,使CPU外频可以通过BIOS或超频软件进行调节。

 改变频率合成器的输出频率,是通过修改它的控制寄存器的频率控制位实现的。寄存器中的数据发生变化时,频率合成器的工作状态也随之改变,从而实现不同频率的输出。由于不同型号的CPU有着不同的外频,因此电脑在启动时就要告诉频率合成器按照怎样一个频率来启动系统,这一功能是通过CPUBSELFSB_Sense)引脚来实现的,BSEL信号通过SMBus总线将二进制数值存放到频率合成器的频率寄存器中,频率合成器按照所设定的编码-频率表,实现了CPU对频率合成器的控制。譬如,Socket 478封装的各款处理器,外频是由BSELAD5)和BSEL0AD6)两个引脚来控制的,两者不同的电平组合决定了CPU的外频,见表1

1  Socket 478之频率设置

BSEL

BSEL0

外频

0

0

100 MHz

0

1

133 MHz

1

0

200 MHz

 

    FID信号设置CPU倍频

如同CPU供电电路使用VIDVoltage Identify,电压识别码)信号自动设置核心电压的值一样,CPU倍频的设置是采用FIDFrequency Identify,频率识别码)信号来设置的,见2。这样不仅能实现CPU工作频率的自动识别和设置,还能有效地防止不法商家对其进行Remark 

2  FID电平与倍率对照表

FID3

FID2

FID1

FID0

CPU倍频

0

0

0

0

11

0

0

0

1

11.5

0

0

1

0

12

0

0

1

1

12.5

0

1

0

0

5

0

1

0

1

5.5

0

1

1

0

6

0

1

1

1

6.5

1

0

0

0

7

1

0

0

1

7.5

1

0

1

0

8

1

0

1

1

8.5

1

1

0

0

9

1

1

0

1

9.5

1

1

1

0

10

1

1

1

1

10.5

1Socket K7 CPU倍频信号工作流程,当RESET#信号到来时,处理器将FID信号送给逻辑信号转换芯片,由该芯片产生SIPSerialization Initialization Packet,串行初始化数据包),对系统总线进行初始化和设置。

 点击看大图

1  Socket K7 CPU倍频信号工作流程(点击图片放大)

 

CPU上设置有一些连接线(称之为金桥),FID信号的电平可以通过改变金桥的通断进行设置,金桥接通时为低电平,断开时则为高电平。FID信号在内置倍频控制单元内生成,并经内置FID驱动电路对信号进行放大后,从FID引脚送至逻辑信号转换芯片,产生的SIP数据包再从BP_FID引脚返回到CPU。这样,CPU内部的频率合成电路便可以将倍频与外频两个信号一起合成CPU的核心频率。

系统分类: DSP
用户分类: 深度挖掘
标签: CPU 频率合成器 频率识别码 FID
来源: 原创
发表评论 阅读全文(1475) | 回复(0)

15

关于投票
时钟芯片:可编程的频率合成器

作者:陈忠民

电脑中的不同设备对时钟频率的要求是不一样的,286主板上有好几颗晶振排列在一起,而现在的主板往往只有一颗晶振,因为现在已经普遍使用频率合成器输出多个不同频率的时钟信号。

电脑中的CPUAGP插槽、PCI插槽、硬盘接口、USB端口和PS/2端口等在通信速度上有很大差异,所以需要提供不同的时钟频率,譬如PCI要求33MHzUSB48MHz等,如1。可是,一只石英振荡器只能提供一种频率,所以主板制造商通常将这些原本散布在主机板上各处的振荡电路整合成一颗“频率合成器(Frequency Synthesizer)”芯片,对晶体振荡器产生的脉冲信号进行分频(或倍频),以便为不同运行速度的芯片(或设备)提供所需要的时钟频率。

点击看大图

图1   Intel 875主板上各个总线的带宽

普通分频器为整数分频器,其输出频率与输入频率之间为整数倍的关系,只能分段调节频率,不能满足精密调节的要求。频率合成器是“分数分频器”,可对输出频率进行精细调节。研发工程师可自由地设计电路中的各种频率,不再受限于石英震荡晶体的固定频率规格。目前电脑中的时钟芯片一般都具有“分数分频”能力,可以根据需要将调节步长设计到1%,甚至1%%。为了指导和规范频率合成器的设计和应用,Intel制定了频率合成器设计指南,如CK97CK40X等,适用于最新Pentium 4处理器的规范是CK410

    频率调节原理

频率合成器是一个具有频率负反馈的时钟信号系统(2),其中使用了两个分频器,Mdiv用于降低基准频率,Ndiv则用于对VCO进行分频。晶体振荡器(OSC)产生的频率fiM分频器后得到参考频率fref,它与反馈频率ffb分别送入鉴频/鉴相器(Frequency  Phase DetectorFPD)的两个反向输入端,FPD输出一个反映两者之商的误差电压。这一误差电压控制电荷泵(Charge PumpCP)进行充电或放电电流,经低通滤波器Low Pass FilterLPF)滤除交流分量后,提供给压控振荡器(Voltage Controlled OscillatorVCO),由VCO输出所需要的频率信号fout

点击看大图

图2   PLL原理

频率合成器的输出频率fout与输入频率fin之间的关系可以用公式fout = fin×(Nk/M)来表示,其中NMK均为整数,K可取0M间的任意整数。非整数值N+k/M通常写作N.F,这里的圆点代表小数点,N表示频率的整数部分,而Fk/M则表示频率的小数部分。在输入频率finNM均不改变的条件下,只要修改k值即可得到所需要频率值fout

在频率合成器芯片中,有专门的SMBus接口电路,这是芯片的寄存器与外部联络的途径,有了它,就能够通过BIOS或软件对寄存器进行改写了。频率寄存器中的每一位数据有两种可能,“0”或者“1”,那么当这几位按不同状态进行组合时,我们也就可得到多种外频输出。

频率合成器的频率调节精度与频率寄存器的位数有关,譬如,如果频率寄存器为5位,则调节步长为1MHz。为数越多,调节精度越高。在实用的频率合成器中,MdivNdiv两个分频器均为可编程的,只要用户设定相应的fout数值,BIOS便能自动给出NMK的值,并通过SMBus总线写入相应的寄存器中。

    PLL实现相位同步的自动控制原理

时钟芯片是电脑的心脏,其性能和稳定性直接决定着整个硬件系统的性能。采用频率合成器一方面可以节省成本与主板空间,更为重要的目的是使主板各芯片以及外部设备的时钟信号与CPU的时钟信号之间保持严格的同步关系,以保证正确地交换数据。FS芯片不仅具有倍频/分频功能,更主要的特点就是具有相位锁定功能——输出信号的相位被强制跟参考信号的相位保持一致。因此,频率合成器输出的各种时钟信号虽然频率各不相同,但它们在相位上是完全一致的,它们都与参考信号源保持相位同步。

为了实现相位锁定,VCO输出的时钟信号与参考频率信号在鉴相器中进行相位比较,如果两者相位不同,就会输出一个与相位差大小成比例的误差电压;误差电压的极性决定了电荷泵内的电流源是吸收还是送出电流,所以电荷会流入或流出滤波器内的电容器,电荷流动的数量与相位差的大小成正比。压控振荡器是一个受电压控制的振荡器,内部的变容二极管两端电压变化时,其电容量会随之改变,从而改变振荡器的频率。

压控振荡器是PLL电路的核心单元,相位控制过程是依靠改变压控振荡器的输入电压(即调谐电压)实现的,调谐电压的大小和极性决定了相位调整是滞后还是超前,从而使相位误差得以校正。

    频率合成器的其他功能

在主板设计中使用频率合成器芯片,可以很容易地实现时钟频率的调整和相位锁定。除了这些功能,频率合成器还允许主板设计工程师通过微调各种接口时钟之间的时钟延迟,使各种相关接口的组件保持同步,方便了设计和调试工作,如3

点击看大图

图3   PLL芯片总体结构

此外,频率合成器芯片在系统稳定性和安全性方面也是可以有所作为的。一方面,可以对不需要调整的频率进行锁定,防止因超CPU的频率而导致其他设备失效的情况;另一方面,一些频率合成器芯片中还设计了“看门狗”功能,一旦超频失败而导致死机时,看门狗功能可以对频率寄存器进行清零,使系统按照CPU的默认值正常启动。

整合的时钟电路,是硬件技术进步的一个标志。目前,频率合成器芯片的应用已经十分普遍,常见的有ICSCypressIDTRealtekWinbond等品牌。不过,在nForce2主板中,已经找不到频率合成器的身影了,因为频率合成功能已经整合到IGP/SPP芯片中去了。

系统分类: DSP
用户分类: 深度挖掘
标签: 频率合成器 晶体振荡器 时钟 频率 锁相环
来源: 原创
发表评论 阅读全文(2473) | 回复(2)

20

关于投票
刻录中的物理反应

作者:陈忠民

      无论CD-R、CD-RW,还是DVD-R、DVD-RW,刻录和擦除数据的机理都是染料层的材料分子发生了排列秩序上的变化,就好比液晶显示器中通过施加不同强度的电场使液晶分子发生不同程度的扭曲一样,材料发生了物理变化。

       对于CD-R刻录盘来说,在刻录过程中激光头发出高能量密度(功率要比读取激光强得多)的激光,透过光盘表面的涂漆层,深入到光盘腹地,使有机染料层局部熔化——从固体到液态的物理变化,光照后的局部冷却后,透光性遭到永久性破坏,而没有受到光照的局部则呈现良好的透光率。读盘时,从光盘上返回的激光就会产生有光与无光的变化,从而获得由“0”和“1”表示的数据序列。

      CD-RW的刻录原理基于某些可逆变晶体物质的相变特性--在不同温度下分别呈结晶态与非结晶态,可使用不同功率的激光对其进行照射,使其发生相变。空白的CD-RW盘的记录层全部处于透明的结晶态,刻录数据时,被较高功率激光照射的局部温度超过材料的熔点,冷却后变为不透明的非结晶态。擦除数据时,较低功率的激光可以使非结晶态的局部返回结晶态。

系统分类: 消费电子
用户分类: 深度挖掘
标签: 刻录机
来源: 原创
发表评论 阅读全文(1253) | 回复(0)

37

关于投票
闪存与EPROM有何不同?

作者:陈忠民

      通过前面的博客文章《闪存与EEPROM,一对同胞兄弟》,我们已经知道,闪存与EEPROM具有相同的存储单元和工作原理,两者的差别仅在于采用了不同的存储元组织结构。EEPROM以字节为单位进行读写,而闪存以块为单位,所以读写速度更快。

      那么,闪存与EPROM之间又有什么关系呢?闪存是由EPROM演化而来的,两者的存储原理基本一致,所不同的是,EPROM利用紫外线进行读写,所以也称作UV-EPROM,而闪存和EEPROM都是通过电场的方式进行读写的。

       为什么会有这样的不同呢?我们可以从它们不同的显微结构中找到答案。

EPROM的显微结构

闪存的显微结构

      从上面两幅图片中我们可以看出,闪存和EPROM的构造基本相同,从外部看都是具有源极、漏极和控制极的三端元件,从内部看也十分相似,都是利用浮栅极存储电荷、实现记忆。两者的差别仅在浮栅极与硅基之间的绝缘层的厚度:EPROM的绝缘层较厚,闪存的绝缘层较薄。

       闪存与EPROM的读写同样基于隧道效应,内部构造也十分相似。仅仅因为绝缘层厚度上的差异,便导致了性能上的巨大差异:

      擦除数据时,闪存只要在源极上加一高压(控制栅极接地),通过F-N隧道电流将浮置栅极中的电子 “清”到漏源区就可以实现数据“擦除”,而EPROM必须使用波长为253.7nm的紫外线辐射,以提供更大的能量才能将浮置栅极中的电子激发到高能态并将它们“清除”到漏源区。

      写入数据时,闪存数据的写入是利用FN-隧道效应,而向EPROM写入数据是利用热电子注入(hot electron injection)现象。

      EPROM诞生于上个世纪70年代,由于起读写都需要专门的设备,使用十分不便,而且读写速度较慢,被闪存取而代之也就在情理之中了。

关于EPROM应用的趣味问答:

(1)既然紫外线可以擦除EPROM中数据,那么,能否在日光下完成数据擦除? 

        答:可以,用专用的擦除器尚且需要20分钟,如果用日光照射大概三个礼拜的时间。

(2)能否利用日光灯擦除EPROM中的数据?

        答:没问题,只要你不介意等待一年甚至更长的时间。

Reference:

(1)http://smithsonianchips.si.edu/ice/cd/MEMORY97/SEC09.PDF

系统分类: 消费电子
用户分类: 深度挖掘
标签: 闪存 EPROM EEPROM
来源: 原创
发表评论 阅读全文(2011) | 回复(0)

28

关于投票
闪存与EEPROM,一对同胞兄弟

作者:陈忠民

[导读]闪存和EEPROM是一对同胞兄弟,它们具有相同的存储元,由于采用不同的管理方式,所以读写速度也有所不同。

1998年,台湾小伙子陈盈豪写了一段可以抹去BIOS信息小程序,正是这段小程序让他一夜成名。因为这段小程序执行以后,电脑中BIOS信息丢失,导致了一种不可逆的故障——黑屏。这是电脑史上首例可以摧毁硬件恶意程序——以陈盈豪的英文名字Chen Ing-hau的缩写命名的CIH病毒。 1998426CIH发作,导致全球6000万台电脑瘫痪,造成巨大的经济损失。西方媒体因为这一病毒被设定在切尔诺贝利核电厂事故的周年纪念日这一天发作,因此又称之为切尔诺贝利病毒。

CIH病毒之所以这么厉害,是因为当时电脑采用一种新的器件来存放BIOS信息,这就是EEPROMElectrically Erasable Programmable ROM,电可擦可编程只读存储器),而在此之前使用的是完全不可改写的mask ROM或利用紫外线才能改写的PROM

使用EEPROM的目的是可以方便地升级BIOS,升级后的BIOS可以让电脑的功能更强,性能更好。譬如一块不支持新型号处理器的主板,刷新BIOS以后就支持了,再譬如老的电脑主板本来并不支持CPU电压的调整,刷新以后就支持了。

CIH病毒的影响,后来改用一种供电电压可变的EEPROM芯片来存储BIOS信息。电脑正常工作时,使用+5V的供电电压——此时芯片是只读的,而在进行刷新的时候,需要利用主板上的一个跳线将电压设置在+12V的位置。这就意味着,只要你把跳线放在+5V的位置,CIH病毒对你的电脑就无计可施了。

如果说陈盈豪给中国人的脸上抹了黑,那么就在一年以后,另外两个中国人给中国人挽回了颜面——邓国顺和成晓华共同发明了闪存盘(因为使用USB接口与电脑进行通讯,所以也称作U盘),他们的发明不仅为人们携带数据提供了极大的方便,还催生一个巨大的产业。大家注意到没有,围绕编写CIH病毒程序和发明U盘这两件互不相干的事情,有一个共同点,就是都打了EEPROM芯片的主意。

发明闪存盘的邓国顺

闪存盘的发明和广泛应用,让我们知道了闪存这个技术词汇。闪存与普通的EEPROM具有相同的存储原理,只是采用了不同的组织结构:EEPROM以字节为单位进行读写(所以也称作Byte EEPROM),而闪存则是以块(block)为单位对整个芯片进行读写。

闪存与EEPROM具有相同的存储单元

在闪存芯片中,块的大小并没有严格规定,但是比起字节来要大得多,因此在读写速度方面,闪存的优势非常明显。NAND型闪存执行一次擦除操作只需要4ms眨眼之间就能将芯片中的数据全部擦除。日本科学家Arrizumi由此联想到照相机的闪光灯,于是就给这种新器件起了“Flash memory”这个名字,中文译名闪速存储器,简称闪存

系统分类: 接口电路
用户分类: 深度挖掘
标签: 闪存 flash memory EEPROM
来源: 原创
发表评论 阅读全文(2690) | 回复(0)

30

关于投票
制作USB彩灯迎圣诞

DIY a USB color lamp for your PC

作者:陈忠民

      再过两天就到圣诞节了。为了增添一点节日气氛,avan利用废弃的彩色小灯泡制作了一个USB彩灯,来装扮自己的电脑。现将制作过程贴出来,供朋友们参考。

1 前期准备

     (1)找来一根USB外接连线和两根不同颜色的导线,USB连接线用来给彩灯取电,导线用来连接小灯泡。

      (2)从废旧的彩灯中剪下一些小灯泡。市售的彩灯是由小白炽灯泡串联起来,供电电压一般为6V左右,改造成USB接口供电后电压只有5V,所以亮度稍低,不过在室内使用时装饰效果还是可以满意的。

   (3)剪刀和美工刀各一把。

2 可行性分析

现在电脑上的USB接口是USB2.0规范,其供电电流为500mA由于主板上每个USB HOST HUB可支持两个USB接口,它们共同使用一组电源供应,所以如果仅连接一台USB设备时,其最大供电电流可达1A

另一方面,因为电路中接有自恢复保险,即便过流,大不了灯不亮,也不会造成什么严重后果(过去的老主板有可能因为过流而烧断保险丝),所以可以大胆地进行试验。

实际测量小灯泡电流为70mA左右,从理论上讲USB接口最多只能并联7只这样的小灯泡,实际上连接14只灯泡也不会有什么问题的。实际制作时连接了10只灯泡,结果工作十分正常,印证了分析的正确性。

3 制作步骤

(1)用刀片在导线上切开一些缺口,两个缺口间的距离约为5cm将彩灯并联在两根导线之间,然后用胶带纸缠绕,一方面可以绝缘,同时也起到固定的作用。

(2)USB外接连线拨开一个缺口,然后将两根导线分别连接到USB连线的红线(+5V)与黑线(地线)上

Connect the little bulb to USB wire

(3)USB插头插入电脑试验,10只彩灯全部点亮,制作完毕。

4 检验测试

用万用表测量并联后的10纸小灯泡的总电流为0.6A。通过测量,一方面检查了联接的正确性,另一方面对USB接口的负载承受能力也有数了。

Current test

 

用+5V电压给小灯泡供电,看上去亮度有些不足,不过在室内使用时装饰性效果还是可以满意的

 

Appearance_1

Apearance_2

系统分类: 电源技术
用户分类: 深度挖掘
标签: USB 彩灯
来源: 原创
发表评论 阅读全文(2116) | 回复(1)

29

关于投票
发现新硬件的前前后后(连载之二)

5Windows 95:构筑即插即用的理论体系

即插即用系统的设计目标就是使普通用户安装新硬件的操作更容易,减少麻烦事。1995年,微软公司在其发布的Windows 95操作系统中率先提供了对即插即用技术的支持,即插即用技术从此走上了不断发展的道路。即插即用操作系统能够动态地分配和管理系统资源,有效地避免资源冲突,提高了电脑的可靠性和易用性。

Windows也好,Linux也罢,操作系统就是一个管理和利用好硬件资源、然后为应用程序做好服务的一个中间件。操作系统的主要任务是将设备、主机(包括BIOS)与设备驱动程序三者结合起来。为此,操作系统要完成两个基本任务:一是为设备配置资源,让设备在主板上占有一席之地;二是为设备选择匹配的驱动程序,以便在需要时可以调用它。

前文曾提到,操作系统对一些基本的硬件(如键盘、鼠标和软驱、硬盘等)进行操作时,是通过调用BIOS的中断服务程序实现的。因为这些BIOS所支持设备的驱动程序固化在BIOS中,系统通过调用软件中断的方式来执行它们,因此称为中断服务程序。对于BIOS所不支持的设备,操作系统需要操作和管理这些设备时,就要利用设备驱动程序。

驱动程序是随新硬件而来的用于管理硬件的程序,可别小看了它的作用。如果把新硬件比作新娘,驱动程序就是陪嫁的仆人,她既了解新娘的嗜好和习惯,对新主人也惟命是从。驱动程序执行操作系统给出的任务,去与硬件打交道,并将执行结果返回给操作系统。

操作系统安装驱动程序,就是让操作系统、驱动程序和新硬件三者之间实现无缝连接。已经安装的设备驱动程序保存在\WINDOWS\SYSTEM目录中,注册表中记录了驱动程序的位置及文件名、版本号等详细信息。操作系统欲对某设备进行操作时,可以立即找到它,并把操作任务交给它去做。操作系统软件之所以越来越庞大,其中一个主要原因就是其中捆绑了更多的驱动程序,这样就让更多的设备可以实现无人值守的安装了。

说了半天,Windows发现和安装硬件驱动程序的究竟是怎样一个过程呢?这大概才是大家最想知道的。Windows利用“PnP管理器“I/O管理器这两个家伙来发现和完成新设备安装,如3

图3   即插即用系统信息流程

新设备插入后,即PnP管理器会发现它,然后告诉用户说:发现了新硬件。之后,它会默不作声地去注册表中寻找,看有没有现成的驱动程序,如果能找到,就告诉用户,你安装的新硬件已经可以使用了。如果没有找到与这台设备相匹配的驱动程序,就会提醒用户说,我找到你所安装的设备,但还要请你插入这台设备的驱动程序盘。用户把驱动程序盘给了它,它立即打开盘上的.inf文件(inf的意思是install information,安装信息),检查.inf文件里的标志与新设备的标志是否相同,如果相同,它就会依照.inf文件里提供的路径去找驱动程序,找到之后,后面的工作交给I/O管理器去做,由I/O管理器来完成驱动程序的安装工作。I/O管理器当然也不是白干活,它成了驱动程序的新主人,驱动程序以后就听它使唤了。

6.即插即用理论的最新发展

Windows 95首创了即插即用的理论架构,但它却远不是一个可靠的解决方案,也因此得了一个绰号Plug and Pray(即插即祈祷)。Windows98Windows2000直至现在最新Windows XP都对即插即用技术进行了不断完善。

Windows2000Windows95的即插即用模式进行了重大变革,Window2000采用新型的WDMWindows Driver ModelWindows驱动模型)体系结构,对于为Windows 95Windows 98所编制的VxD(虚拟设备驱动)程序不提供支持。相比之下,Windows98还是一个过渡产品,在使用WDM的同时,也保留了对VxD的支持。

Windows2000对即插即用的支持是按照ACPIAdvanced Configuration and Power Interface,高级配置和电源接口)规范来处理的,所有电源管理和配置设置都处于操作系统的控制之下,而不再受BIOS控制。BIOS与操作系统在资源配置问题上分庭抗礼的局面已经结束,BIOS不再对资源进行配置,其主要任务转变成为ACPI创建一个资源需求表供操作系统使用。这种新的控制模式使Window2000对即插即用的支持比Window95具有更为广泛的适应性。

Windows 2000对资源实行动态分配,多台设备可以共享同一IRQ,这个特性可以使用户添加多个硬件而不用关心硬件冲突的事情。你可能看到在设备管理器中许多设备共同使用一个IRQ,比如IRQ9,但每一台设备都可以正常运转。

最新的Windows XPWindows 2000的内核基本相同,能够更好地支持一些新近出现的设备,如DVDIEEE1394接口的AV设备等。Windows XP将即插即用应用范围扩展到了整个网络上,可以发现和控制网络打印机、Internet网关以及消费电子设备。

为了确保硬件对即插即用操作系统的支持,Microsoft对硬件制造商提供硬件及驱动程序的PnP兼容性测试服务,获得通过的硬件和驱动程序可获得MicrosoftDesigned for Windows标志及驱动程序的数字签名。目前,这一技术已经被纳入到Windows 2000Windows XP的即插即用管理器中。

7.开放体系结构:即插即用的基石

 

20年前,IBMIntel和微软在个人计算机制造业的联姻,诞生了开放的PC工业标准,标志着个人计算机应用时代的全面到来。开放的硬件体系结构、统一的操作系统和应用软件,这个一统江湖的标准沿用至今。

开放体系可以让各种设备非常容易地连接在一起。基于简单扩展总线的开放体系结构的出现是电脑的一次革命,也是PC最重要的概念。如果没有开放体系,从工厂造出来的电脑一切都不能更改,不能扩充功能,不能升级,电脑就是一个死机器。一句话,没有开放体系结构,新硬件压根儿无从谈起。

开放体系结构已经沿用了20年,现在仍然可以把最早期的PC扩展卡插在最新的PC主板上并保证正常工作,这就是开放标准的魅力所在。ISA是最早的总线标准,最初为8位数据宽度,运行速度为4.77MHz,与当时的CPU速度相同。后来发展为16,运行速率达到8MHz,今天仍然有一些ISA板卡在使用中。

PCI总线标准是ISA的替代者,数据传输速度提高到了133MB/s,最高甚至可达533MB/s(总线数据位宽为64bit和总线工作频率为66NHz),这使ISA总线望尘莫及。另外,PCIISA“聪明多了,可以共享中断申请 (IRQ),支持即插即用,这是一大进步。只要将适配卡插入PCI插槽,不用设置跳线开关,不用选择IRQDMA通道、I/O接口地址和存储器地址,系统就自动检测到并分配资源,马上便可以使用了。另外,使用PCI网卡,还可以实现远程唤醒,它是通过PCI插槽的A19引脚连接到ACPI控制器的一个唤醒信号PMEPower Management Event,电源管理事件)实现的。

USBIEEE1394的诞生和发展,给开放式体系结构注入了新的活力。这两种接口最大的特点是支持热插拔,电脑用户通过它们第一次体验到即插即用带来的好处。另外,它们都具有极高的数据传输率,顺应了历史发展潮流,因此近几年得到了迅速发展。新出现闪存盘和数码产品一开始就采用这两种接口,一些老的设备(如打印机和扫描仪等)为了提高速度,也开始从并行接口向USB接口转移。

8Device ID:即插即用设备身份证

前面曾经谈到,为了保证硬件对即插即用的支持,微软对设备制造商提供的驱动程序进行测试认证。驱动程序通过测试以后,微软硬件质量实验室(WHQL)会返回设备制造商送检的驱动程序文件和一个.cat文件(catalog,目录),.cat文件含有Microsoft的数字签名(也叫驱动程序签署代码签署)信息。这样,制造商便可将这个.cat文件包括进驱动程序包中提供给最终用户,用于硬件安装的数字签名审核。经过数字签名的设备信息可以在微软公司的网站上找到。

驱动程序经过数字签名后,制造商可以在其产品上署名“Designed for Windows”标志,同时拥有一个与数字签名相匹配的Device ID(设备识别码)。Device ID是一个4位的16进制数,保存在设备的ROM芯片中,它就是该设备的身份证,具有全球唯一性。安装驱动程序时,安装程序中的数字签名程序将读取Device ID,以检验驱动程序的合法性和PnP兼容性。驱动程序安装后,其Device ID和其他一些能够进一步标识该设备的详细信息被记录在注册表的HKEY_LOCAL_MACHINE\Hardware\Description\System子键中,其中除了Device ID,还有Vendor ID(制造商识别符)、subsystem IDrevision ID等更为详细的设备信息。

Windows XP中,数字签名策略默认为启用状态,通过数字签名测试的驱动程序,则表明已经通过了Windows的硬件兼容性测试(Hardware Compatibility TestHCT),而且自通过测试之日起没有被改动过。

如果试图安装一个未经签署的驱动程序,Windows会发出一个警告信息,告知驱动程序数字签名的重要性,如4。选择继续安装,就不能保证设备能否正常使用。安装了一个与device ID与不相匹配的驱动程序,设备管理器会将该设备作为未知设备对待。如果发生资源冲突,还会在该设备前面加一个黄色感叹号。

点击看大图

图4    数字签名的警告信息

除了在操作系统安装驱动程序要用到Device IDPnP BIOS也要读取并识别Device ID,以便分辨设备类型,根据类型给其分配所需的资源。

(全文结束)

系统分类: 接口电路
用户分类: 深度挖掘
标签: 即插即用 BIOS device ID 驱动程序
来源: 原创
发表评论 阅读全文(2246) | 回复(0)

32

关于投票
发现新硬件的前前后后(连载之一)

当我们把新硬件插入系统后,Windows立即告诉你发现新硬件(如1),接着识别新硬件,然后自动安装硬件的驱动程序,这样设备就可以使用了,整个过程中系统像在和你交流一样。对于这个神奇的过程,你是否很想知道电脑到底都干了些什么?

图1   插入新硬件后屏幕出现的提示信息

1.新硬件与即插即用

      “新硬件是指在一个已经安装操作系统的现有系统中新增加的硬件设备,发现新硬件就是现有系统能够自动侦测到新增加的硬件,并针对新硬件进行驱动程序的安装,直至成为可用硬件的全部过程。

如果硬件的安装可以无人值守地进行,并且不需要重新启动机器就使新硬件直接成为可用硬件,那么这个过程就可称作即插即用(Plug & Play,港台地区的译名更加生动:插上就玩

插上就玩是人们多年来梦寐以求的,但直到Windows 95操作系统问世,这种愿望才得以实现。不过,那时的插上就玩不够完备,许多新硬件在出售时,还附上了一张驱动程序的软盘和光盘,需要用户进行一系列软件安装,仅有少数设备能够真正的插上就玩。如今,Windows XP已经足够强大,以至于附加的驱动程序都可省去,真正实现了插上就玩。不仅如此,热插拔技术还允许在机器工作期间插入新硬件,使得应用更为方便。

即插即用需要所有条件同时具备:即插即用的硬件支持(主机和设备),即插即用BIOS以及即插即用的操作系统。即插即用系统还需要团队精神——硬件、BIOS和操作系统三者团结一致、各担其责:即插即用BIOS与操作系统一起完成对即插即用设备的识别和配置,最后由操作系统帮助应用程序管理和使用硬件设备和系统资源。

2.谁发现了新硬件?

对于电脑启动的过程,相信大叫都比较熟悉了。当我们接通电脑的电源时,CPU执行的第一条指令是一条跳转指令,在地址线上输出BIOSPOST程序的首地址(FFFF0H),从BIOS芯片中读取POST程序并立即执行该程序,对电脑硬件进行检测,检测包括BIOS程序完整性检验、