搜档网
当前位置:搜档网 › 基于UEFI的Application和Driver的分析与开发

基于UEFI的Application和Driver的分析与开发

基于UEFI的Application和Driver的分析与开发
基于UEFI的Application和Driver的分析与开发

第24卷第2期 计算机应用与软件

Vol 124,No .2

2007年2月 Computer App licati ons and Soft w are Feb .2007

基于UEF I 的Appli ca ti on 和D r i ver 的分析与开发

吴松青 王典洪

(中国地质大学机械与电子工程学院 湖北武汉430074)

收稿日期:2006-07-18。吴松青,硕士生,主研领域:计算机图像处理与通信。

摘 要 UEF I (Unified Extensible Fir mware I nterface,统一的可扩展固件接口)是由I ntel 提出的下一代B I O S 构架。基于UEF I 2.0

规范,借助UEF I 开发环境:I ntel 的E DK (EF IDevel op Kit ),对UEF IApp licati on 和UEF ID river 作了一定的分析,并通过两个例子分别予以实现。

关键词 统一的可扩展固件接口 应用程序 驱动程序 基本输入输出系统

ANALY S IS AND D EVELO P M ENT O F UEF I APPL I CAT I O N AN D UEF ID R I VER

W u Songqing W ang D ianhong

(Faculty of M echanical &E lectronic Engineering,China U niversity of Geosciences,W uhan Hubei 430074,China )

Abstract UEF I (Unified Extensible Fir mware I nterface )s pons ored by I ntel is the next generati on of B I O S fra me work .This paper is based on UEF I 2.0s pecificati on and I ntel E DK envir on ment .It analyses and realizes UEF IApp licati on and UEF ID river by giving t w o exa mp les re 2s pectively .

Keywords UEF I App licati on D river B I O S

1 引 言

UEF I 是操作系统与硬件平台固件之间的新一代接口。它

除了完成传统B I O S 的工作之外,还建立起高级语言执行环境,可以调用设备驱动,可以远程配置及引导,不用操作系统就可以进行磁盘管理及启动管理,以及具有脱离操作系统的管理工具等。UEF I 的工作过程大致可以归纳为:启动系统,然后初始化标准固件,接着加载EF I 驱动程序库及执行相关应用程序,最后在系统启动菜单中选取所要进入的系统。UEF I 为用户提供了一个交互环境:UEF I shell,用户可以通过UEF I shell 来导入自己编写的特定的App licati on 和D river 。UEF I App licati on (下文中简称App )可以是硬件检测或除错软件,引导管理设置软件,也可以是操作系统引导软件等。UEF I D river 提供一系列与系统设备通信的接口,它可以从任何支持UEF I 环境的设备中导入[1]。

2 UEF I Appli ca ti on

UEF IApp 和UEF I 库函数提供基本控制台I O ,基本磁盘

I O ,内存管理以及字符串操作功能

[1]

。本文是通过I ntel 的E DK 来开发基本的UEF IApp 的。UEF I App 以可执行程序3.efi 的形式存在,执行完后返回控制权,不会驻留内存,可以方便移植到不同的平台。目前有好几种编写UEF I App s 的方法,分别是基于UEF I 的,基于UEF I L ibrary 的,基于C L ibrary 以及基于C

Standard library 的[4]

。文中对前两种方法做了分析。

2.1 基于UEF I/UEF IL i brary 写Appli ca ti on

UEF IApp 可以添加到UEF I 源代码结构中去。建议把所有

独立的UEF IApp 都放在E DK 的\efi\App s 目录下,因为它提供

了一个方便的编译环境,当然也可以不这样做。下文中实现了一个名为Hell o 的App 例子。当把新的App 加入到编译环境中去的时候,需要建立一个存放App 源代码的子目录,和一个与App 源代码相关的make .inf 。下面以Hell o App 为例,对这个例子来说,App 的文件放在hell o 目录中。make .inf 中包含了源文件列表,以及可执行App 映像的名字。Hell o App 代码比较简单,它不依赖于任何UEF I 库函数,所以UEF I 函数库不会链接到可执行程序中。该APP 使用被传递到代码运行入口点的系统表格来读写EF I 控制台设备[2]。控制台输出设备通过使用I M P LE_TEXT_OUTP UT_I N TERF ACE 协议的Out putstring ()函数来显示相关信息。然后,I M P LE_I N P UT_I N TERF ACE 协议中带W aitForKey 事件的W aitForEvent ()服务等待用户从控制台输入设备上按键[3]。一旦有按键,App 就会退出。图1就是Hell o App 的大致执行流程,这个程序的工作就是打印一个字符串到终端设备上。类似于我们常见的Hell o World 。

此外,还可以基于UEF IL ibrary 写UEF IApp 如果UEF IApp 想使用UEF I 库函数的话,需要包含头文件efilib .h,并且加入对I nitialize L ib ()的调用。这个App 利用UEF I 库把文本打印到控制台输出设备。

其中使用了全部变量如ST 而不是Syste mTable 来做标准的

第2期

吴松青等:基于UEF I 的App licati on 和D river 的分析与开发99

 UEF IApp 调用。由于代码与基于UEF I 写App 的代码很相似,

所以这里略去

图1 Hell o App 的执行流程

2.2 UEF I Appli ca ti on 的编译和运行

UEF IApp 是带有修改过的头标识的PE /COFF 文件。头标

识用来区分UEF I 映像和一般的PE /COFF 映像。I ntel 提供了相应的把PE /COFF 文件转换成EF I 映像文件的工具。在一个新的UEF I App 能够编译之前,每个编译终端(build ti p )的makefile 文件还需要修改。这些文件包括\efi \build \ia322e mb \makefile,efi \build \sal64\makefile 和\efi \build \bi os32\make 2file [2]

。其中每个文件中都有一个标识为everything t o build 的部分,并加入了对make maker 的具体描述。这些步骤完成之后,当编译终端中运行n make 时,新的App 就可以编译了。我们可以在UEF I shell 命令行敲入App 的名字来运行相关UEF IApp 。

3 UEF ID r i ver

UEF ID river 可以在计算机预启动环境中访问启动设备,这

些D river 可以管理或控制平台上的硬件总线和设备,也可以提供基于平台的特定的软件服务。但是它不能取代操作系统中的D river 。使用UEF I D river 之前,必须先把它导入UEF I Handle 中。UEF ID river 容易更新,也容易增加对新硬件的支持。

3.1 UEF I 协议及D r i ver 模型

UEF I 协议是UEF I 对于硬件平台中各个设备的抽象,通过

特定协议提供的接口可以对相应设备进行操作。UEF I 协议接口包含很多函数指针,用户可以通过将这些指针指向不同的功能函数,使协议驱动不同的硬件。如图2,首先通过g BS ->Load I m age ()启动服务将设备驱动导入内存,然后通过g BS ->StartI m age ()调用该设备驱动。g BS ->Load I m age ()服务自动产生一个映像处理并且把EF I_LOADE D_I M AGE_PROT OCOL 安装到该映像处理中去。EF I_LOADE D _I M AGE_PROT OCOL 描述了设备驱动的导入地址以及设备驱动在系统内存中的存放位置。EF I_LOADE D_I M AGE_PROT OCOL 的Unl oad ()服务由g BS ->Load I m age ()初始化为NULL,表示默认的情况下驱动是不可导入的。g BS ->StartI m age ()服务把控制权传递到驱动映像的PE /COFF 头中所描述的驱动入口点。驱动入口点负责把

EF I _DR I V ER_B I N D I N G_PROT OC OL 安装到驱动映像处理上[5]

。图2中显示了在一个设备驱动被导入之前,将要导入驱动之前,以及驱动入口点被执行之后系统的状态。

3.2 USB 设备驱动开发

UEF ID river 的类型有很多,下文重点讲述了大容量US B 设

备驱动。设备驱动符合EF I 驱动模型,它通过把一个或者多个

D river B inding Pr ot ocol 协议实例安装到handle 数据库,来产生一个或多个驱动handle 或驱动映像handle 。当D river binding 协议的start ()被调用时,这种驱动不会像总线驱动那样产生子han 2dle 。它只是会向已经存在的控制handle 中添加额外的I/O 协议。根据图2所示的UEF I D river 模型,开发US B 设备驱动程序,主要需实现的相关协议有D river B inding 协议。D river B ind 2ing 协议中主要需实现Supported (),Start ()以及St op ()。另外需实现的相关协议还有Component Na me 协议、D river Configura 2ti on 协议和D river D iagnostics 协议。不过这三种协议是可选的,不影响正常的设备功能

图2 UEF ID river 模型

所有遵循EF I D river 模型的D river 程序都必须实现D river B inding 协议。该协议提供了测试、开始和停止D river 程序的服务,是EF I 能够管理硬件的前提。要实现该协议,必须实现三个接口:(1)supported ():它用于测试D river 程序是否支持相应的硬件。Supported ()服务用来检查相关控制器handle 是否是US B 设备的handle 。常见的做法是:检查handle 是否安装了EF I _US B_I O _PROT OC OL 。如果没有,该handle 就不是当前US B 总线上的US B 设备。获得从US B_I O _DE V I CE 返回的US B 接口描述符。检查该设备的I nterfaceClass,I nterfaceSubClass,和I nter 2facePr ot ocol 值是否与该D river 能够处理的值一致。如果上述两步检查通过了的话,就表明US B 设备驱动能处理控制器handle 代表的设备。返回EF I_S UCCESS 。否则,返回EF I_UNS UP 2P ORTE D 。(2)start ():它用来启动D river 程序。经过此步骤,硬件已经挂上系统,可以开始工作。该服务将打开US B I/O 协议BY_DR I V ER 并安装US B 设备的I/O 抽象协议到安装了EF I_US B_I O _PROT OC OL 的handle 上去。这部分是具体怎么执行US

B 设备驱动。

图3 US B 设备驱动start ()服务流程

100

计算机应用与软件2007年

这里使用US B C B I 大容量设备为例。图3就讲述了怎样去执行start ()驱动binding 协议服务以及US B AT AP I 协议服务。(3)st op ():它实际上就是start ()的反过程,用来销毁start ()中使用、创建的资源,把已经打开的协议关掉即可。关闭协议的顺序应该和start ()中打开协议的顺序相反[5]。

这里省略了US B AT AP I 协议的具体服务流程,数据传输方式以及D river 的编译与运行方法。

4 结束语

如今,U EF I 已经在某些计算机系统上得到了实现。对于计算机相关的I C 设计厂家以及B I O S 供应商来说,基于UEF I 的App 和D river 的开发和测试工作也显得重要和紧迫起来。

参考文献

[1]I ntel .Unified Extensible Fir mware I nterface Specificati on,Versi on 2.0,

htt p://www .uefi .org/agreement .php,2006-01-31/2006-07-18[S].

[2]I ntel .EF I Devel oper Kit (EDK )Getting Started Guide,Versi on 0.41,

htt p://devel oper .intel .com /technol ogy/efi/,2005-01-31/2006-07-18[Z].

[3]V incent Girard 2Reydet,E DK Reference Manual,Versi on 0.3,htt p://

devel oper .intel .com /technol ogy/efi/,2005-07-05/2006-07-18[Z].

[4]I ntel,EF I Devel oper πs Guide .Versi on 1.10,htt p://devel oper .intel .

com /technol ogy/efi/,2004-01-05/2006-07-18[Z].

[5]I ntel,EF ID riverW riter πs Guide .Versi on 1.10,htt p://devel oper .intel .

com /technol ogy/efi/,2004-07-20/2006-07-18[Z].

(上接第13页)

果为tag,则根据具体的tag 生成相应的对象节点,作为孩子添加到当前栈顶对象节点中,这里是Page 类对象,同时把当前tag 对应对象压入栈中作为栈顶对象,直到遇到相对应的tag 结束标示该对象被弹出。这样递归下去直到文档结束,此时将生成相应的文档对象树。对表1的文档进行分析。生成的文档树见图4

图4 表1文档对应的文档树

表1 示范代码

hell o world

在生成文档树的同时,各个节点对象会把接口注册到相应的消息上。这些消息包括布局消息,绘图消息等。然后对接口用相应的布局和绘图函数进行赋值。这样可以通过定制这些函数实现定制浏览器行为。另外某些节点对象会根据上下文环境,注册自己和回调函数到特定的消息上。

当文档树构造完毕,数据处理模块会发出布局消息给布局模块。对于每个节点对象接到消息后,将首先根据注册的接口信息调用相应的布局函数。如果为非叶子节点,将继续发消息给自己的孩子对象。如果对象实例未注册该消息或为叶子节点,将直接返回。对于图4布局模块将首先发消息给Page1对象,Page1处理消息后,会判断是否有孩子,这里有一个孩子节

点Table,因此发消息给Table,Table 同理处理消息,会发消息给Page2,Page3。而Page2和Page3由于是叶子节点,处理完消息后直接返回。这样构造的文档树完成一次遍历,对所有的文档进行了布局。

布局完成后,会发出显示消息给显示模块。显示模块对文档对象树处理与布局处理模块对文档对象树的处理一致,只是响应绘图消息注册的是,已注册的通过绘图接口映射过来的绘图函数。

在显示完成后,用户会点击超链接或按钮以及图片等,消息系统会首先完成由鼠标消息到文档对象可识别消息的映射,然后将消息激活。对于这些消息,由于在构造文档对象树的时候,直接注册的是对象实例和回调函数,因此可以直接调用处理函数对文档对象节点进行处理。

3 El aScope

Elast os 是32位嵌入式操作系统,是完全面向构件技术的操

作系统。操作系统提供的功能模块全部基于CAR 构件技术,因此是可拆卸的构件,应用系统可以按照需要剪裁组装,或在运行

时动态加载必要的构件。Elast os 体积小,速度快,适合网络时代的绝大部分嵌入式信息设备。

A tlas [6]

是Elast O S 上的图形用户界面支持系统,提供和windows CE 兼容。

我们基于该框架结构在Elast os \A tlas 上实现了ElaScope 浏览器。支持HT ML ,XHT ML ,CSS,JPEG,GI F,HTTP1.1等。ElaScope 完全用C 语言实现,编译后二进制代码共304k,目前已经在X86和AR M 上成功运行,并且可以访问主要的门户网站,布局和显示效果达到了桌面浏览器的水平。并且采用了多线程技术,可以多线程取数据,而且。ElaScope 满足了目前的需求,并且由于基于该框架结构,可以很好地进行构件化和功能的扩展,比如添加对JavaScri p t 的支持。这也是我们下一步工作。

4 结 论

该框架在浏览器行为的定制、减少平台依赖性、良好的模块化和可扩展性方面有较大的优势。基于该框架实现的ElaScope 具有体积小、速度快和可灵活定制的特点。该框架不仅为嵌入式浏览器开发提供了一定的理论基础,而对嵌入式应用软件的开发具有一定参考价值。

参考文献

[1]Docu ment Object Model (DOM )Level1S pecificati on .htt p://www .w3.

org/T R /1998/REC 2DO M 2Level 21219981001/[E B /OL ].W3C,1998.[2]Yoshinori Saida,H ir oshi Chishi m a,Sat oshi H ieda,Naoki Sat o,Yukikazu

Nakamot o .An Extensible B r owser A rchitecture for Mobile Ter m inals [C ].Pr oceedings of the 24th I nternati onal Conference on D istributed Computing System sWorkshop s .2004I EEE .

[3]Embedding Gecko πs website [EB /OL ].htt p://www .mozilla .org/p r o 2

jects/e mbedding/.

[4]Deepak Mulchandani .Java for Embedded Syste m s [C ].I EEE I nternet

Computing,pp.30~39,May 1998.

[5] D.Raggett .HT ML 4.01Specificati on .W3C[M ].Dec .1999.[6]Elast os πsW ebSite[EB /OL ].htt p://www .elast os https://www.sodocs.net/doc/667818351.html, .

LED显示屏常用驱动芯片资料(精)

LED 常用芯片技术资料 1、列电子开关74HC595 (串并移位寄存器) 第14脚DATA ,串行数据输入口,显示数据由此进入,必须有时钟信号的配合才能移入。 第13脚EN ,使能口,当该引脚上为“1”时QA~QH口全部为“1”,为“0”时QA~QH的输出由输入的数据控制。第12脚STB ,锁存口,当输入的数据在传入寄存器后,只有供给一个锁存信号才能 将移入的数据送QA~QH口输出。 第11脚CLK ,时钟口,每一个时钟信号将移入一位数据到寄存器。 第10脚SCLR ,复位口,只要有复位信号,寄存器内移入的数据将清空,一般接VCC 。第9脚DOUT ,串行数据输出端,将数据传到下一个。第15、1~7脚,并行输出口也就是驱动输出口,驱动LED 。 2、译码器 74HC138 第1~3脚A 、B 、C ,二进制输入脚。第4~6脚片选信号控制,只有在4、5脚为“0”6脚为“1”时,才会被选通,输出受A 、B 、C 信号控制。其它任何组合方式将不被选通,且Y0~Y7输出全为“1”。

3、缓冲器件74HC245 第1脚DIR ,输入输出端口转换用,DIR=“1” A输入B 输出,DIR=“0” B输入A 输出。第2~9脚“A ”信号输入输出端;第11~18脚“B ”信号输入输出端。 第19脚G ,使能端,为“1”A/B端的信号将不导通,为“0”时A/B端才被启用。

4、4953的作用:行驱动管,功率管。 1、3脚VCC , 2、4脚控制脚,2脚控制7、8脚的输出,4脚控制5、6脚的输出,只有当2、4脚为“0”时,7、8、5、6才会输出,否则输出为高阻状态。 5、74HC04的作用:6位反相器。 信号由A 端输入Y 端反相输出,A1与Y1为一组,其它类推。例:A1=“1”则Y1=“0”、A1=“0”则Y1=“1”,其它组功能一样。 6、 74HC126(四总线缓冲器)正逻辑 Y=A 2、SDI 串行数据输入端 3、CLK 时钟信号输入端, 4、LE 数据锁存控制端 5~20、恒流源输出端 21、OE 输出使能控制端 22、SDO 串行数据输出端,级联下一个芯片 23、R-EXT 外接电阻,控制恒流源输出端电流大小

城市发展潜力综合评价论文

城市发展潜力综合评价 摘要:本文以河南省18个市为例,采用主成分分析法,得出各市的综合评价值;利用聚类分析将其分为几类,以此分出优劣层次,利于制定发展对策。 关键词:河南省;发展潜力;主成分与因子分析;聚类分析 abstract:taking 18 city henan province as an example, this article uses principal component analysis, it is concluded that the comprehensive evaluation value of the cities; make use of cluster analysis which is divided into several kindstohelp to formulatedevelopment countermeasures. key words: henan province; growth potential; principal component and factor analysis; clustering analysis 中图分类号:c912.81 文献标识码:a文章编号: 1 城市发展潜力 随着城市全球化竞争趋势明显,加强各级城市的国际国内竞争日趋激烈,如何促进城市经济社会持续快速发展从而提升城市的综合实力已经成为理论和实践中的一个热点问题。 1.1 城市发展潜力定义邱道持等认为小城镇发展潜力是指小城镇在现状发展基础上能够支持未来城镇系统综合全面协调可持续 发展的潜在能力[1]。郭亚军等认为区域发展潜力是指区域复合系统在维持可持续发展的前提下,其支撑体系所具有的潜在能力[2]。刘登魁认为城镇发展潜力是指在城镇现状基础上能够支持未来城

wdm驱动开发之路

WDM驱动开发之路 写在前面:在专栏的前几期中,我们一起初步学习了vxd的开发技术。Vxd技术是很深奥的,不是一篇两篇文章能讲清楚,但你已经入了门,剩下的就要看你的修行了。多看书,多泡论坛(当然是上咱们的驱动开发网论坛了:->),多写程序…我的手不够用了。功到自然成嘛。不过话又说回来,vxd只是权宜之计,WDM才符合当今的潮流(程序员都是时髦人士,君不见先是VB、VC然后是asp、JSP、PHP,数也数不过来呀),Win9x寿终正寝时也就是vxd的末日,你不想随它而去吧(开个玩笑),那就随我来。 按笔者的想法,这篇文章写成连载形式,一次讲一个主题,并且必要时带着例子,让大伙step by step地把WDM驱动弄个透底,不想让大家觉得稀里糊涂,也不想让大家觉得白买杂志了。 今天我们一起讨论第一部分,了解篇。 (一)了解篇 WDM模型(Windows Driver Model)是微软公司为当前主流操作系统Windows98和Windows 2000的驱动程序设计的一种构架。它和传统的win3.x和win95使用的vxd的驱动是完全不同的体系结构。不过对于最终用户来说,WDM驱动程序在Windows98和Windows2000下的表现很相似。作为驱动开发人员来说,它在两者中有很多的不同。并且Windows98中的WDM只能算是Windowss2000中的WDM的一个了集。在Windows98中有一些驱动程序只能使用VXD来实现,如串行通讯驱动等。 要写驱动程序,首先要了解操作系统的结构。在WDM体系中,windows2000操作系统中是最标准的实现方式,Windows98则是部分兼容WDM结构。照微软的说法,Windows98和Windows2000 X86(Intel 架构)版本实现二进制码兼容(参见98DDK),Windows2000 x86版本与其它CPU平台版本实现源码级兼容(因为Windows 2000是基本NT相似的结构,最底层是硬件抽象层HAL,所有我们相信它们之间能源码级兼容)。但实际上,Windows2000的WDM实现中有很多例程在Windows98中没有实现,一旦试图加载这样的WDM驱动程序到Windows98中,则不能正常加载,当然我们也有办法实现它,那就是利用“桩”技术。具体可参见Walter Oney写的《Programming the Microsoft Windows Driver Model》一书。我们首先来看看Windows 2000的系统结构,然后再来看看Windows 98的。 图一是Windows 2000的系统结构图。从图中我们可以看出:整个系统被分为两个态,用户态和核心态。 从图中可以明显看出I/O操作最后是怎样作用到硬件上的。用户态应用程序对Windows 子系统进行win32 API调用,这个调用由系统服务接口作用到I/O管理器(严格地说,在Windows 系统中不存在I/O管理器这样的独立模块,这个只是为了方便叙述而将各种核心功能调用的集合称作I/O管理器,业界人士都这样称呼这个部分),I/O管理器进行必要的参数匹配和操作安全性检查,然后由这个请求构造出合适的IRP(IO Request Package,I/O请求包),并把此IRP传给驱动程序。简单情况下,驱动程序直接执行这个请求包,并与硬件打交道,从而完成I/O请求工作,最后由I/O管理器将执行结果返回给用户态程序。但在WDM体系结构中,大部分实行分层处理。即在图中“设备驱动“这部分,分成了若干层,典型地分成高层驱动程序、中间层驱动程序、底层驱动程序。每层驱动再把I/O请求划分成更简单的请求,以传给更下层的驱动执行。以文件系统驱动为例,最高层驱动只知道文件如何在磁盘上表示,但不知到怎样得到数据。最低层驱动程序只知道怎样从磁盘取出512B为单的数据块,但不知道文件怎样表示。举个更具体的生活例子。主人(最高层驱动)知道(并且需要)笔计本电脑,但不知道具体放在什么位置;而仆人(最底层驱动)却知道它放在具体什么地方,但

结构动力分析

【结构工程的软件时代】 结构工程已全面进入软件时代,结构工程师要从繁琐的重复劳动中解脱出来,培养结构概念和体系,锻炼结构整体思维。 《结构概念和体系》是国际著名的结构大师林同炎广为流传的著作。相信大多数从事建筑结构的工程人员都或多或少读过这本书。其实,这本书可以说是结构工程师的必修课。从事结构工作,很重要的一点就是在工作中培养结构概念体系和整体性思维的方法。这对于结构工程师来讲,是十分重要的。 如今的软件技术已相当发达,很多繁琐的工作都可以通过软件完成,甚至于智能化到了“一键式完成”的地步。设想,如果在软件再这么智能化而且功能强大下去,到时候,只要输入基本的设计参数和经济指标,按一个回车键,软件就将建筑方案设计、结构方案设计、施工图设计全部一条线完成出来了,那么对结构工程师来说不是一场灾难嘛。软件取代所有主要工作,技术人员不就要下岗了啊。所以,我认为,从一个角度来讲,结构工程软件时代的到来,意味着结构工程师的一场“危机”。如何在这场即将到来的危机面前“明哲保身”,做软件所不能做到的事情是很关键和重要的,什么最关键而重要,我认为就是结构的概念和体系思维,这个才是将来结构工程师的价值所在,而这恰恰是软件所难以做到的。 闲话暂放,言归正传。这篇博客将粗浅地探讨结构动力学问题的概念和体系问题。之所以关注结构动力学问题,一是因为结构静力学研究已比较成熟,林同炎前辈的《结构概念和体系》一书中已阐明很完善精辟了,二是因为现阶段工程结构抗震问题是研究的热点和前沿,这个时代里不懂工程抗震概念的结构工程师很难成为一个好工程师。 构件→结构→结构体系,整体性思维,需要工程实践的锻炼以及不断思考的积累。在实践中,反复向自己提问是培养结构概念的一个好方法。比如,问自己什么叫振型分解法?有哪些假定?什么叫时程分析法?有哪些优缺点?……这样积累下来,很多概念就越辩越明,结构的概念也就逐渐得到建立。 【结构动力分析的分类】 结构动力分析主要包括:特征值分析、反应谱分析、时程分析三大块。特征值分析也称结构自振特性分析,主要求解结构的自振周期和振型向量。反应谱分析基于振型分解反应谱理论,是一种工程上最常用的计算地震作用下结构动力响应方法,但这种方法只限于线弹性结构,弹塑性阶段振型分解法不再适用。时程分析包括线弹性时程分析和弹塑性时程分析两大类,与振型分解法的主要区别在于采用实测的地震波输入结构计算结构的响应,弹塑性时程分析具体还可分为静力弹塑性时程分析(也称Pushover分析)和动力弹塑性时程分析两类。 上述结构动力分析中,特征值分析和反应谱分析比较常用。而时程分析一般仅针对重要建筑以及体型非常复杂的建筑。小震水准下可进行结构线弹性时程分析,大震水准下需要采用结构弹塑性时程分析方法。现阶段,弹塑性时程分析还属于工程上比较前沿的分析内容,还属于一部分实力较强的设计院和科研机构的“专利业务”。当然,我认为随着结构技术人员水平的不断提高,以及软件技术的发达,结构弹塑性时程分析在将来将会越来越普及,甚至成为结构设计人员的“家常便饭”。 【特征值分析】 特征值分析也称结构自振特性分析,因为在数学上这个问题属于齐次线性方程组特征值的求解问题,故亦称特征值分析。其目的是求解结构的自振周期和振型。以前曾经碰到这样一个很有意思的概念问题:结构的阻尼比越大,那么结构的自振周期是减小还是增大呢?概念不清就很容易产生混乱。其实,结构的自振特性均是指无阻尼自由振动的特性值,因此不存在阻尼的影响问题。还有一个问题就是什么是振型?虽然我们经常提振型这个概念,不少人一时半会答不上来。从概念上讲,振型是结构发生无阻尼自由振动时各质点的相对位移,

城市发展的调研报告

城市发展的调研报告 城市发展的调研报告最近,我们根据市政府领导的安排,就我市城市发展问题进行了专题调研。调查中,我们与武陵区委、鼎城区委以及市规划局、市建设局、市城管局、市城建投的主要负责人进行了座谈和讨论。大家一致认为,经过近十年持续不断的大投入、大建设、大发展,我市城市容量得到成倍扩张,城市面貌发生了根本性变化,先后获得了国家卫生城市、全国文明城市、国家园林城市、中国优秀旅游城市和中国魅力城市等国家级荣誉,城市综合实力已进入全国百强。我市十年城市发展的成就在中部内陆城市中是非常突出的,在全国地级城市中也是相当少见的。要持续保持这一良好发展势头,不断提高城市化水平,加快建设产业强市、文化名城、和谐**步伐,应该把科学发展观更好地贯穿于城市发展的全过程,落实到城市发展的各个层面。具体来讲,就是要处理好五个关系:一、城市发展应该遵循经济规律,进一步处理好立足当前与着眼长远的关系。经济规律是一切社会经济发展活动应遵循的基本规律。城市发展同样要遵循经济规律,总体上保持与生产力发展水平相适应。近5年来,我市累计投入城区一块的建设资金达150多亿元,其中政府直接投入40多亿元,先后新建了20多条主次干道,新增道路520多公里,人均道路面积平方米,基

本形成了“五纵五横”、“内外三环”的格局,中心城区建成区面积达平方公里,人口万,比1995年分别增长%、%。新建了城市防洪圈,新建和改造了排水设施,日处理排水能力达400万立方米。新建了污水处理中心,中心城区污水处理率达80%。新建了自来水厂,供水普及率达100%。加强了园林绿化建设,人均绿地面积达9平方米,绿地率和绿化覆盖率分别达%、%。**机场、火车站、水运码头、常长高速等重点工程相继建成投入使用,我市已成为目前省内除省会长沙外同时拥有铁路、高速公路、航空、水运、海关、商检等设施和机构的城市。巨大的投入推动了城市快速发展,同时也使得市财政背上了一定的债务包袱。现在,市财政每年不到 3亿元的城建资金,既要搞建设,又要还老帐,矛盾很大。在调查中我们还了解到,城市建设负债已经对现在的城市建设与发展以及社会稳定带来了一定的影响。城市发展是一个长期的循序渐进的过程。城市发展速度的把握,城市建设项目的安排,应该建立在现实可能与可持续发展的基础之上,应该控制在政府和民众可承受的范围之内,既不能停滞不前,也不能一味的求大求快。实践证明,在城市发展过程中适度举债是可行的,也是必要的,但必须建立稳定可靠的债务偿还机制。从我市的情况看,今后几年,应该进一步加大经营城市的力度,多渠道筹措城建资金,同时,适度压缩城建规模,每年拿出一部分城建资金用于还债。只有这样,才能保

LED显示屏专用驱动芯片详细介绍

目前,LED显示屏专用驱动芯片生产厂家主要有TOSHIBA(东芝)、TI(德州仪器)、SONY(索尼)、MBI{聚积科技}、SITI(点晶科技)等。在国内LED显示屏行业,这几家的芯片都有应用。 TOSHIBA产品的Xing价比较高,在国内市场上占有率也最高。主要产品有TB62705、TB62706、TB62725、TB62726、TB62718、TB62719、TB62727等。其中TB62705、TB62725是8位源芯片,TB62706、TB62726是16位源芯片。TB62725、TB62726分别是TB62705、TB62706的升级芯片。这些产品在电流输出误差(包括位间和片间误差)、数据移位时钟、供电电压以及芯片功耗上均有改善。作为中档芯片,目前”TB62725、TB62726已经逐渐替代了TB62705和TB62706。另外,TB62726还有一种窄体封装的TB62726AFNA芯片,其宽度只有6.3mm(TB62706的贴片封装芯片宽度为8.2mm),这种窄体封装比较适合在点间距较小的显示屏上使用。需要注意的是,AFNA封装与普通封装的引脚定义不一样(逆时针旋转了90度)。TB62718、TB62719是TOSHIBA针对高端市场推出的驱动芯片,除具有普通恒流源芯片的功能外,还增加了256级灰度产生机制(8位PWM)、内部电流调节、温度过热保护(TSD)及输出开路检测(LOD)等功能。此类芯片适用于高端的LED全彩显示屏,当然其价格也不菲。TB62727为TOSHIBA的新产品,主要是在TB62726基础上增加了电流调节、温度报警及输出开路检测等功能,其市场定位介于TB62719(718)与TB62726之间,计划于2003年10月量产。 TI作为世界级的IC厂商,其产品Xing能自然勿用置疑。但由于先期对中国LED市场的开发不力,市场占有率并不高。主要产品有TLC5921、TLC5930和TLC5911等。TLC5921是具有TSD、LOD功能的高精度16位源驱动芯片,其位间电流误差只有±4%,但其价格一直较高,直到最近才降到与TB72726相当的水平。TLC5930为具有1024级灰度(10位PWM)的12位源芯片,具有64级亮度可调功能。TLC5911是定位于高端市场的驱动芯片,具有1024级灰度、64级亮度可调、TSD、LOD等功能的16位源芯片。在TLC5921和TLC5930芯片下方有金属散热片,实际应用时要注意避开LED灯脚,否则会因漏电造成LED灯变暗。 SONY产品一向定位于高端市场,LED驱动芯片也不例外,主要产品有CXA3281N和CXR3596R。CXA3281N是8位源芯片,具有4096级灰度机制(12位PWM)、256级亮度调节、1024级输出电流调节、TSD、LOD和LSD(输出短路检测)等功能。CXA3281N主要是针对静态驱动方式设计的,其最大输出电流只有40mA。CXA3596R是16位源芯片,功能上继承了CXA3281N的所有特点,主要是提高了输出电流(由40mA增加到80mA)及恒流源输出路数(由8路增加到16路)。目前CXA3281N的单片价格为1美元以上,CXA3596R价格在2美元以上。 MBI(聚积科技)的产品基本上与TOSHIBA的中档产品相对应,引脚及功能也完全兼容,除了恒流源外部设定电阻阻值稍有不同外,基本上都可直接代换使用。该产品的价格比TOSHIBA的要低10~20%,是中档显示屏不错的选择。MBI的MBl5001和MBl5016分别与TB62705和TB62706对应,MBl5168千口MBl5026分另(j与TB62725禾口TB62726对应。另外,还有具有LOD功能的其新产品MBl5169(8位源)、MBl5027(16位源)、64级亮度调节功能的MBl5170(8位源)和MBl5028(16位源)。带有LOD及亮度调节功能的芯片采用MBI公司的Share-I-OTM技术,其芯片引脚完全与不带有这些功能的芯片,如MBl5168和MBl5026兼容。这样,可以在不变更驱动板设计的情况下就可升级到新的功能。

(房地产市场分析)二三线城市房地产业发展前景分析

二三线城市房地产业发展前景 房地产行业遭遇严厉调控的打击,房地产企业在一线城市的发展面临被减速和进入冰冻期的局面。本轮及未来的行业调控都将遵循“有保有压”、“精准打击”的原则,房地产行业拓展的空间和方向已经发生转移,二、三线房地产已经进入高速发展阶段,未来十年的繁荣是可以预期的。 住房市场的发展空间向二、三线城市转移。未来中国城市化重心将更多转向二三线城市及中小城市。 二、三线城市房地产盈利空间巨大。房价上升空间较大,投资回报率有可能达到30%,运营成本低,销售面积和销售额屡创新高。 二、三线城市房地产市场风险可控。调控政策在未来5年内推广到二三线城市的可能性很小。经济适用房和廉租房的大规模供应,以及物业税等措施对房地产价格空间造成挤压,对二三线房地产市场的冲击较小。 一、内地房地产业的发展轨迹 内地房地产市场的发展与中国区域经济发展同步。第一轮经济增长首先发生在东部沿海地区,房地产业也高度集中在沿海特大城市,10年中资源主要投入在北京、上海、广州、深圳等一线大城市,使其发展成为全国的区域经济中心城市,构成了一线城市。这些城市的房地产需求也从解决基本居住的增量市场逐渐向改善型、投资型和投机型市场转变。未来,一线城市尽管总体市场容量仍然较大,但增长速度已经明显低于全国平均水平。目前看来,即便是房地产百强企业,能够进入一线城市的开发商也只是少数几家,随着房地产业规模和从业家数的不断发展壮大,必须寻找足够的成长空间,这是房地产业发展必须向二、三线城市拓展的客观基础。 图1:中国房地产企业数量持续增长,从2004年开始明显加速

来源:国家统计局,招银国际 一线城市的城市化率已超过75%,开始从快速成长进入到了成熟期。而国内城市化的平均水平只有46.7%,一线特大城市,与二、三线城市和中小城市之间的现代化差距越来越大。这一差距也反映了一线城市过度过快发展,各项社会服务和公共资源保障能力难以为继。2009年末的中央经济工作会议,以及2010年的中央“一号文件”都指出,中小城市和小城镇将是中国城镇化发展的重点,要在推动中小城市城镇化的过程中,解决人口过度向一线大城市集中,城乡发展结构不平衡等问题。从整体规划层面,国家已明显透露出城市化重心转向中小城市的意图,政策首先为二三线城市地产发展释放出利好。进入第二个十年发展期,房地产业重心及趋势由一线城市转向二、三线城市,这是基于中国城市化进程的调整,产业逐步进行梯度转移,以及人口流动变化等诸多因素所决定的。 目前出现的农民工和白领“返乡潮”也为上述变化趋势加了注脚。媒体报道,不少农民工不愿再涌到一线城市,而更愿意选择离家较近的二三线城市,在家门口打工,并希望能在城市安家立业,真正成为“城里人”。此外,一些在一线城市漂泊的白领和高校毕业生,在一线城市房价飞涨,生活成本增加的情况下,也开始放弃在那里安家的想法,准备撤回二三线城市谋发展,安家置业。在城市化进程加快的背景下,进城的农民工、返乡的白领,这些人群都将成为二三线城市的购房主力军,也使得未来房地产业发展中心必然向二三线城市转移。 图2:二三线城市房地产市场比较图3:一线城市房地产市场比较

显示器驱动程序

/*------------------------------------------------------------------------------------------ [文件名] 12864.c [功能] 128X64驱动程序 [版本] 2.0 [作者] 鞠春阳 [最后修改时间] 2003年5月12日 [版权所有] https://www.sodocs.net/doc/667818351.html, [资料] 请到https://www.sodocs.net/doc/667818351.html,下载 ================================================================================= ==========*/ #include "absacc.h" #include "intrins.h" //自定义库在"C:\comp51\UserLib\"文件夹中 #include ".\inc\ASCII816.h" //字符点阵库 32-127 #include ".\inc\HZTable.h" //汉字点阵库(自做) #include ".\inc\Menu.h" //汉字点阵库(自做) // LCD128*64 数据线 #define LCD12864DataPort P1 // LCD128*64 I/O 信号管脚 sbit di =P3^1; // 数据\指令选择 sbit rw =P3^3; // 读\写选择 sbit en =P3^2; // 读\写使能 sbit cs1 =P3^4; // 片选1,低有效(前64列) sbit cs2 =P3^5; // 片选2,低有效(后64列) sbit reset=P0^7; // 复位 /*----------------------------------------------------------------------------------------------------*/ /* ****函数列表**** //开关显示 void SetOnOff(unsigned char onoff) //选择屏幕 //screen: 0-全屏,1-左屏,2-右 void SelectScreen(unsigned char screen)

Windows 内核技术与驱动开发笔记(完整版)

Windows 内核技术与驱动开发笔记 1.简述Driver Entry例程 动程序的某些全局初始化操作只能在第一次被装入时执行一次,而Driver Entry例程就是这个目的。 * Driver Entry是内核模式驱动程序主入口点常用的名字。 * Driver Entry的第一个参数是一个指针,指向一个刚被初始化的驱动程序对象,该对象就代表你的驱动程序。WDM驱动程序的Driver Entry例程应完成对这个对象的初始化并返回。非WDM驱动程序需要做大量额外的工作,它们必须探测自己的硬件,为硬件创建设备对象(用于代表硬件),配置并初始化硬件使其正常工作。 * Driver Entry的第二个参数是设备服务键的键名。这个串不是长期存在的(函数返回后可能消失)。如果以后想使用该串就必须先把它复制到安全的地方。 * 对于WDM驱动程序的Driver Entry例程,其主要工作是把各种函数指针填入驱动程序对象,这些指针为操作系统指明了驱动程序容器中各种例程的位置。 2.简述使用VC进行内核程序编译的步骤 编译方式是使用VC++进行编译 1.用VC新建工程。 2.将两个源文件Driver.h和Driver.cpp拷贝到工程目录中,并添加到工程中。 3.增加新的编译版本。 4.修改工程属性,选择“project | setting”将IterMediate file和Output file 都改为MyDriver_Check。 5.选择C/C++选项卡,将原有的Project Options内容全部删除替换成相关参数。 6.选择Link选项卡,将原有的Project Options内容删除替换成相关Link。 7.修改VC的lib目录和include的目录。 8.在VC中选择tools | options,在弹出的对话框中选择“Directories”选项卡,在“Show directories for”下拉菜单中选择“Include file”菜单。添加DDK的相关路径。 3.简述单机内核调试技术 答:1.下载和安装WinDbg能够调试windows内核模块的调试工具不多,其中一个选择是微软提供的WinDbg 下载WinDbg后直接双击安装包执行安装。 2.安装好虚拟机以后必须把这个虚拟机上的windows设置为调试执行。在被调试系统2000、2003或是xp的情况下打开虚拟机中的windows系统盘。 3.将boot.ini文件最后一行复制一下,并加上新的参数使之以调试的方法启动。重启系统,在启动时就可以看到菜单,可以进入正常windows xp,也可以进入Debug模式的windows xp。 4.设置VMware管道虚拟串口。调试机与被调试机用串口相连,但是有被调试机是虚拟机的情况下,就不可能用真正的串口连接了,但是可以在虚拟机上生成一个用管道虚拟机的串口,从而可以继续内核调试。 4.请画出Windows架构简图

河源市发展分析报告

河源市发展分析报告 李华忠 2014/3/28 摘要:河源市源城区“两江四岸”地区将成为河源市经济发展核心区域,发展潜力大。加快当地旅游业发展,合理开发自然景区,有望带动房价上涨。

目录 一、城市区位优势 (2) 二、城市规划 (2) 三、城市经济现状(2013年) (3) 四、房地产基本情况(2013年) (5) 五、河源未来发展分析 (8) (一)从新的房地产发展点来看 (8) (二)从政府规划分析 (9)

河源市是广东省的一个地级市,辖内有源城区、东源县、龙川县、紫金县、连平县、和平县共五县一区。2012年常住人口95万户,366.8万人,汉族人占绝大多数,还有少量的畲族、壮族和苗族等少数民族人口,其中汉族人里大部分为客家人。总面积约15642平方千米,农用地共1410861.72公顷,占土地总面积的90.20%;建设用地面积为85409.60公顷,占土地总面积的5.46%;其他用地共67926.25公顷,占土地总面积的4.34%。

一、城市区位优势 河源市是广东省连接江西、湖南的重要通道和粤东北山区的核心城市,地处在珠三角向泛珠三角过渡的衔接地带,是南来北往极其重要的交通要地。市域现有及规划主干线将形成“三纵四横三连一环”架构,现有粤赣高速公路、河梅高速公路,国道G105、G205,省道S227、S230、S339、S341、S242,规划新建广大高速公路、汕昆高速公路、揭茂高速公路和东环高速公路;此外,京九铁路、广梅汕铁路穿城而过,规划还将兴建龙柳铁路、龙川至汕尾铁路,以及河源至惠州的城际轻轨等。 二、城市规划 根据河源市城市总体规划纲要(2008—2020),将河源城市性质定位为:环珠三角地区性中心城市;广东省新兴的先进制造业基地;客家文化中心与生态旅游城市;粤闽赣交通枢纽和粤东北商贸物流中心。 规划河源中心城区形成“一带、两轴、两心、四廊、六组团”的“舒展的紧凑型”带型组团结构。如下图所示:

驱动芯片

1 引言 LED显示屏主要是由发光二极管(LED)及其驱动芯片组成的显示单元拼接而成的大尺寸平面显示器。驱动芯片性能的好坏对LED显示屏的显示质量起着至关重要的作用。近年来,随着LED市场的蓬勃发展,许多有实力的IC厂商,包括***的东芝(TOSHIBA)、索尼(SONY),美国的德州仪器(T1),台湾的聚积(MBl)和点晶科技 (SITl)等,开始生产LED专用驱动芯片。 2 驱动芯片种类 LED驱动芯片可分为通用芯片和专用芯片两种。所谓的通用芯片,其芯片本身并非专门为LED而设计,而是一些具有LED显示屏部分逻辑功能的逻辑芯片(如串-并移位寄存器)。而专用芯片是指按照LED发光特性而设计专门用于LED显示屏的驱动芯片。LED是电流特性器件,即在饱和导通的前提下,其亮度随着电流的变化而变化,而不是靠调节其两端的电压而变化。因此专用芯片一个最大的特点就是提供恒流源。恒流源可以保证LED的稳定驱动,消除LED的闪烁现象,是LED显示屏显示高品质画面的前提。有些专用芯片还针对不同行业的要求增加了一些特殊的功能,如亮度调节、错误检测等。本文将重点介绍专用驱动芯片。 2.1通用芯片 通用芯片一般用于LED显示屏的低档产品,如户内的单色屏,双色屏等。最常用的通用芯片是74HC595。74HC595具有8位锁存、串—并移位寄存器和三态输出。每路最大可输出35mA的电流(非恒流)。一般的IC厂家都可生产此类芯片。显示屏行业中常用Motorola(Onsemi),Philips及ST等厂家的产品,其中Motorola的产 品性能较好。 2.2专用芯片 专用芯片具有输出电流大、恒流等特点,比较适用于电流大,画质要求高的场 合,如户外全彩屏、室内全彩屏等。 专用芯片的关键性能参数有最大输出电流、恒流源输出路数、电流输出误差 (bit-bit,chip-chip)和数据移位时钟等。 ●最大输出电流 目前主流恒流源芯片的最大输出电流多定义为单路最大输出电流,一般在90mA 左右。恒流是专用芯片的最根本特性,也是得到高画质的基础。而每个通道同时输出恒定电流的最大值(即最大恒定输出电流)对显示屏更有意义,因为在白平衡状态下,要求每一路都同时输出恒流电流。一般最大恒流输出电流小于允许最大输出电 流。 ●恒流源输出路数 恒流源输出路数主要有8(8位源)和16(16位源)两种规格,现在16位源基本上占主流:如TLC5921,TB62706/TB62726,MBl5026/MBl5016等。16位源芯片主要优势在于减少了芯片尺寸,便于LED驱动板(PCB)布线,特别是对于点间距较小 的PCB更是有利。 ●电流输出误差 电流输出误差分为两种,一种是位间电流误差,即同一个芯片每路输出之间的误差;另一种是片间电流误差,即不同芯片之间输出电流的误差。电流输出误差是

凌源市发展潜力综合分析与评价

凌源市发展潜力的分析与综合评价 一、凌源市概况 凌源位于西部辽冀蒙三省(区)七县(市)交汇处,地处辽西走廊连接和两大城市群北通道的要冲,是中东部广区距离出最近的交通节点城市,区位条件优越,发展空间广阔。2004年,全市辖24个乡镇、5个街道办事处、233个行政村、30个社区。总面积3278平方公里,耕地面积71万亩,总人口64万,其中农业人口50万,城市化水平为21.9%,远低于全省城市化平均及全国城市化水平。 地貌特征为“七山一水二分田”,人均耕地1.4亩。气候特点为暖温带半湿润向温带半干旱过渡地区大陆性季风气候,年均降水量454毫米,年均日照时数2844小时,无霜期146天,人均水资源占有量660立方米。 凌源矿产资源丰富,现已发现矿藏50多种,其中石灰石、膨润土、硅石、铁矿、金矿等储量大、品位高,极具工业大规模开发价值。凌源历史文化源远流长,是著名的红山文化发祥地、精美蕴藏着丰富的古生物、地热温泉等资源,具有潜在的旅游开发前景。 凌源市基础设施不够发达,铁路和公路是全市主要的交通方式。铁路有锦承和塔铁路,公路有两条国道、两条省道和八条县道。2001年末全市公路通车里程1024公里,全年完成公路货运量701万吨,公路客运量712万人。 二、凌源市城市城市竞争力力分析 城市竞争力是指一个城市在国外市场上与其他城市相比所具有的自身创造财富和推动地区、国家或世界创造更多社会财富的现实的和潜在的能力,是指城市在社会、经济结构、价值观、文化制度政策等诸多因素综合作用下创造和维持的并为其自身发展及在其从属的区域进行资源优化配置的能力,从而城市经济的持续增长的功效。它综合反映了城市的生产能力、生活能力、生活质量、社会全面进步及对外影响,所以城市竞争力是一个综合性的指标,包括经济发展条件、教育科技、基础设施、环境、开放程度、经济结构等诸多方面。 凌源市位于辽西西部与蒙、交界的“金三角”上,处于地级城市发展的空档地带,受高级城市限制相对较小。优越的地理位置提供了城市发展的可利用空间和经济发展的有利环境,使凌源市具备了发展生产和商品流通的优越条件。再加上国家振兴东北老工业基地的大背景,凌源面临着经济腾飞的好机遇。 1.样本县市的选择 根据经济发展阶段相当、邻近原则、行政级别相同等原则,选择了建平县、喀左县、北票、馁中县、建昌县等县市作为研究的样本。 2.指标体系的确定 本着具有科学性、可比性、可操作性、具有代表性的原则,以统计年鉴中的数据为基础,而且考虑了指标统计口径的一致性和连贯性,本指标体系具有针对性地选择了城市经济实力、城市资金实力、科技实力、产业结构与效益、开放程度、基础设施、政府管理水平为影响因素,20个指标来构成城市竞争力指标体系(见表1)。

动力分析中的几个概念

动力分析中的几个概念 这是为一个客户编写的,对动力分析中几个概念的说明,发在此处与大家分享。 在用 NX Nastran 进行常规模态分析时,可以通过情况控制段的EFFMAS 语句,输出: 模态参与因子 (MODAL PARTICIPATION FACTORS) 模态有效质量 (MODAL EFFECTIVE MASS) 模态有效重量 (MODAL EFFECTIVE WEIGHT) A 集的刚体质量矩阵 (A-SET RIGID BODY MASS MATRIX) 模态有效质量比 (MODAL EFFECTIVE MASS FRACTION) 总有效质量比 (TOTAL EFFECTIVE MASS FRACTION) 有效质量矩阵 (EFFECTIVE MASS MATRIX) 等,下面简单介绍这些输出项的概念。 1. 模态参与因子 (MODAL PARTICIPATION FACTORS) 又叫 modal amplitude vector (模态幅值矢量),反映了各阶模态对指定方向上的激励的响应幅值。 每一阶模态都有 6 个参与因子,分别对应 6 个运动自由度 (三个平移和三个转动)。其定义如下:第 i 阶模态{φi} 在方向 r 上的参与因子ψir 为: ψir = {φi}T [M] {Dr} 其中: {φi} 为按质量矩阵[M] 规范化的第 i 阶模态矢量: {φi}T [M] {φi} = 1.0 {Dr} 为 r 方向的刚体运动矢量。计算公式如下: {Dr} = [T] {er} 其中 {er} 为 r 方向的单位矢量,[T] 矩阵定义为: X,Y,Z 为激励点的坐标, X0,Y0,Z0 为参考点的坐标,默认为总体坐标系原点。 以下是某算例的参与因子计算结果: MODAL PARTICIPATION FACTORS MODE FREQUENCY T1 T2 T3 R1 R2 R3 NO.

驱动程序开发技术-过滤键盘驱动

《驱动程序开发技术》大作业 ——过滤键盘驱动 姓名:梁海杰 学号:2009441624 班级:计科普0902

摘要 Kbdclass.sys是键盘的类驱动,无论是USB键盘,还是PS/2键盘都要经过它的处理;在键盘类驱动之下,和实际硬件打交道的驱动叫做“端口驱动”,比如:i8042prt.sys是ps/2键盘的端口驱动,Kbdhid.sys是USB键盘的端口驱动。键盘中断导致键盘中断服务例程被执行,导致最终i8042prt的I8042KeyboardInterruptService被执行。在I8042KeyboardInterruptService中,从端口读取扫描码,放到一个KEYBOARD_INPUT_DATA 结构中。并把这个结构放到i8042prt的输入队列中。最后会调用内核api函数KeInsertQueueDpc。在这个调用中会调用上层KbdClass.sys中处理输入的回调函数KeyboardClassServiceCallback,取走i8042prt的输入数据队列里的数据。利用驱动分层机制,使用过滤驱动捕获键盘的扫描码并保存下来;应用程序定时访问驱动程序取回扫描码,转换成相应的按键名称并显示;通过应用程序设定按键映射,应用程序将指令传送给驱动程序,以实现将指定的按键消息转换成其他按键。 关键词:过滤键盘;驱动分层;映射;扫描码

过滤键盘驱动 一、主要设计思路 利用驱动分层机制,使用过滤驱动捕获键盘的扫描码并保存下来;应用程序定时访问驱动程序取回扫描码,转换成相应的按键名称并显示;通过应用程序设定按键映射,应用程序将指令传送给驱动程序,以实现将指定的按键消息转换成其他按键。 键盘过滤驱动是工作在异步模式下的。系统为了得到一个按键操作,首先要发送一个IRP_MJ_READ消息到驱动的设备栈,驱动收到这个IRP后,会一直保持这个IRP为未确定(pending)态,因为当时并没有按键操作。直到一个键被真正的按下,驱动此时就会立刻完成这个IRP,并将刚按下的键的相关数据做为该IRP的返回值。在该IRP带着对应的数据返回后,操作系统将这些值传递给对应的事件系统来处理,然后系统紧接着又会立刻发送一个IRP_MJ_READ请求,等待下次的按键操作,重复以上的步骤。 为了实现截获键盘消息,需要在过滤驱动程序中创建一个挂接到物理键盘设备上层的过滤驱动设备。系统发送的IRP_MJ_READ消息会首先到达过滤驱动设备,这样就可以有机会给IRP_MJ_READ设置指定的完成例程,然后将消息下传给物理键盘设备。当有按键动作发生时,IRP_MJ_READ消息在完成后就会调用指定的完成例程,这时就可以在完成例程中读出键盘动作的内容,或者修改这些信息,以实现按键的映射。

城市经济形势分析报告.doc

城市经济形势分析报告 ,随着一揽子“调结构、保增长、保民生、保稳定”政策措施效果的显现,成都经济逐步步入回升通道,投资、消费保持平稳较快增长,地区生产总值增速已基本恢复到地震及金融危机爆发前的水平。 ,世界经济虽已触底,但全球产业体系分工调整、新技术广泛应用并形成实际经济增长动力仍需一个过程,且生态保护已成为各国关注焦点,这些决定了此次世界经济复 苏的进程将十分缓慢。 同时,国内经济虽总体向好但回升基础仍不稳固,而发展方式转变以及结构性调整也将会对全国经济发展产生重大影响。 基于这样的宏观背景,并结合成都的实际,我们认为:,成都的经济增速将继续保持平稳发展,内需增长将会有所减缓,对外贸易趋紧形势将有所缓解,物价水平保持小幅上扬。 一、金融危机以来的成都经济运行特点 (一)经济运行出现一定波动,但仍保持较快增长态势 自从“5·12”汶川地震和国际金融危机的影响,近两年来,成都市经济增长出现小幅波动,在第二季度增速达到近几年的最低值(11.2%),然后连续3个季度保持约12%的增速。 但从第二季度开始连续三个季度经济增速达到14%以上,我市经济增速不断加快,经济出现企稳向好趋势,全市gdp同比增长14.7%,增速同比增加了 2.6个百分点,经济企稳回升的基础进一步得到巩

固。 (二)投资、消费双轮驱动再次强化,增长更为强劲 全市固定资产投资同比增长34.0%,同比增加了8.2个百分点。 在房产市场销售旺盛带动下,全市房地产投资945.14亿元,同比增长2.4%。 在多方位促进消费的政策作用下,消费品市场持续繁荣活跃,全市社会消费品零售总额同比增长XXXX年的最高增速,较上年提高了0(来源:文秘114 ***).8个百分点。 旅游市场活跃,有效拉动了消费增长,全年接待国内外游客同比增长34%、29.1%,旅游总收入同比增长33.2%。 在出口形势依然严峻的背景下,出口逆势增长15.5%。 (三)城乡居民收入增长明显减慢,社会保障水平稳步提高 在城乡居民收入方面,受宏观经济形势影响,我市企业经营效益出现较大下滑,就业形势更加严峻,城乡居民收入增长明显减慢,城镇居民人均可支配收入和农民人均纯收入分别较下降4和4.9个百分点,虽仍保持在10%以上的水平,但已为以来的最低。 在社会保障方面,我市在全国率先建立耕保基金补贴农民参保机制、实现征地农民同城镇职工基本养老保险并轨;率先全面实施城乡居民医疗保险一体化制度,城镇职工和城乡居民基本医疗保险实现市级统筹、全域结算、报销比例提高;同时,进一步加强城乡基层医疗卫生服务体系建设,全面完成城乡社区卫生服务规范化建设,基层公共卫生服务水平稳步提升。

TFT LCD液晶显示器的驱动原理详解

TFT LCD液晶显示器的驱动原理 TFT LCD液晶显示器的驱动原理(一) 我们针对TFT LCD的整体系统面来做介绍, 也就是对其驱动原理来做介绍, 而其驱动原理仍然因为一些架构上差异的关系, 而有所不同. 首先我们来介绍由于Cs(storage capacitor)储存电容架构不同, 所形成不同驱动系统架构的原理. Cs(storage capacitor)储存电容的架构 一般最常见的储存电容架构有两种, 分别是Cs on gate与Cs on common这两种. 这两种顾名思义就可以知道, 它的主要差别就在于储存电容是利用gate走线或是common走线来完成的. 在上一篇文章中, 我曾提到, 储存电容主要是为了让充好电的电压,能保持到下一次更新画面的时候之用. 所以我们就必须像在CMOS的制程之中, 利用不同层的走线, 来形成平行板电容. 而在TFT LCD的制程之中, 则是利用显示电极与gate走线或是common走线,所形成的平行板电容,来制作出储存电容Cs.

图1就是这两种储存电容架构, 从图中我们可以很明显的知道, Cs on gate由于不必像Cs on common一样, 需要增加一条额外的common走线, 所以它的开口率(Aperture ratio)会比较大. 而开口率的大小, 是影响面板的亮度与设计的重要因素. 所以现今面板的设计大多使用Cs on gate的方式. 但是由于Cs on gate的方式, 它的储存电容是由下一条的gate走线与显示电极之间形成的.(请见图2的Cs on gate与Cs on common的等效电路) 而gate走线, 顾名思义就是接到每一个TFT的gate端的走线, 主要就是作为gate driver送出信号, 来打开TFT, 好让TFT对显示电极作充放电的动作. 所以当下一条gate走线, 送出电压要打开下一个TFT时 ,便会影响到储存电容上储存电压的大小. 不过由于下一条gate走线打开到关闭的时间很短,(以1024*768分辨率, 60Hz更新频率的面板来说. 一条gate走线打开的时间约为20us, 而显示画面更新的时间约为16ms, 所以相对而言, 影响有限.) 所以当下一条gate走线关闭, 回复到原先的电压, 则Cs储存电容的电压, 也会随之恢复到正常. 这也是为什么, 大多数的储存电容设计都是采用Cs on gate 的方式的原因. 至于common走线, 我们在这边也需要顺便介绍一下. 从图2中我们可以发现, 不管您采用怎样的储存电容架构, Clc的两端都是分别接到显示电极与common. 既然液晶是充满在上下两片玻璃之间, 而显示电极与TFT都是位在同一片玻璃上, 则common电极很明显

相关主题