第一篇:家族系统研究
帮会,家族系统研究
“帮会(公会)系统,家族系统”作为玩家之间互动的一个重要平台,已经成为玩家间不可或缺的组成部分。强大的“帮会系统,家族系统”把不同城市、不同年龄但是却有相同爱好的人们紧密联系在一起,让玩家们成群结队畅游在游戏世界中,一起生活、一起杀怪,一起战斗。
如何开发一种可以使玩家完全融合进去的帮会,家族系统而又能长期生存下去的功能系统,既要适应大部分玩家的行为思想,牵涉他们的游戏行为性而又要满足游戏整体平衡系统和经济系统的协调性呢?
一些我们需要思考的问题:(帮派和家族统一思想考虑,不单独说明)
1.帮派凝聚力的产生,首先要让帮会中的每一个成员能够从帮会其他成员处得到帮助,要让帮派成员相互喜欢,相互吸引。达到稳定游戏上座率的因素之一。
以往帮派中的高级别玩家往往不愿意帮低级别玩家做一些难度高的任务或副本,要想有效的改变这种状况,就要对高级别玩家进行有效的奖励或对帮会系统的声望,名气,建设等方面进行有效的奖励。
例如:
a.同帮会的高等级玩家如果帮助低等级玩家完成难度高的任务,会得到一定的奖励积分,这些积分达到一定的程度,可以在帮会中换取特殊道具或装备等。(随着帮会等级的提升可换取的物品相应增多,积分要求也增加。)
b.建立帮会“一帮一,一帮多制度”系统。关联帮会的官位,头衔等级系统和帮会建设等级系统。分配有官位或头衔的玩家为帮会收人或是带领帮会人员建设帮会,收入帮会的玩家相对应的官员要起到帮助该玩家的作用。相当于小组长管理组员的意思,这个小组要在帮会中有特别称号或名称设定,一个帮会中可存在多个小组形式。组长带领组员通过进行帮会建设(帮会成员组队任务副本等),获得高效益奖励或帮会积分。(高于单人帮会建设任务奖励的N倍)
2.要想提高帮会成员的凝聚力,就要使帮会中成员的利益趋于一致,有一致利益性的帮派副本任务等,只能由同一个帮会的成员组队参加,这样可以增进帮会成员之间的互动性,有效提高凝聚力。
目前很多游戏中帮会系统都存在一个个人利益倾向问题,往往为了自身的提高(生活技能或技能BUFF等),忽略帮会凝聚力。完成自身的指标后脱离组织。为了避免付费玩家和非付费玩家在帮会系统中这方面的缺陷,就要加强帮会任务副本或其他方面中帮会成员之间的配合度、默契感、责任心等方面。
3.帮会城市存在的真正意义,玩家是否存在着一种家庭上的责任心呢?当这个帮会或帮会城市遇到某些外界和内部的危机感时,玩家是否有权利,无条件的去维护它,去照顾它。(强化帮会城市经济系统的危机度和外界随机性的不良因素)
如果一个帮会城市系统在游戏中具有商业化的设定,与其他的帮会之间存在交易,交换,竞争等的条件,那么这个帮会系统在人员不多或在线不稳定的情况下就会出现危机时,从而面临解散或破产或被他人收购的可能性时,在这种状态下,就可以体现出玩家之间的团结,帮会首领和管理层方面的责任心,及时通过各种弥补手段,(帮会系统功能设定方面因素)避免这样的情况发生。
通过帮会危机感的设定,我们得到一个观点,如果玩家进入游戏后想要创建一个帮会或一个帮会城市,那么他必须具备一定的经济能力和负责的态度才可以正常维护这个帮会系统。不是任何一个人可以随便创建的城市系统(创建帮会和帮会城市不是同一个条件,有帮会不一定有帮会城市。)
令一方面,除了经济,商业化制度外,还应该存在外界的干扰,例如怪物攻城,天灾,或玩家个人行为组织的强盗团伙打劫等因素。增加玩家对帮会系统的认可度和可玩性,把它当成是一种个人因素外的第二种生活因素。
4.从心理学方面考虑,当一个团体遭受外界的威胁和激烈的竞争时,就会加强这个团体的凝聚力,这种威胁会提高成员对团体的亲和力和责任感。因此,适当的设置任务或活动增加帮会与帮会间的竞争,战斗等有助于提高一个帮会内部的凝聚力。
帮战在MMORPG中广泛存在,如何做好一个强大的城战系统,关系到这款游戏PVP方面的优越性。
想到的城战系统有以下几种形式:(惩罚条件细节待定)
a.帮会A向帮会B发起挑战,帮会B不可拒绝挑战。帮战即时开始,任意可PVP的场景地图都可以进行帮会战争。
b.帮会A向帮会B发起挑战,帮会B有权拒绝挑战。避免帮战发生。任意可PVP的场景地图都可以进行帮会战争。
C.帮会A向帮会B发起挑战,帮会B有权拒绝挑战,当帮会B接受挑战时,双方通过固定的NPC进入PVP城战副本中,帮战即时开始。
d.帮会A向帮会B发起挑战,在固定的时间(例如每周六晚7点)帮战在固定的场所中进行帮会PVP战争。
e.帮会A向帮会B发起挑战,双方都存在帮会城市的情况下,当帮会B接受挑战时,帮会A即时攻打帮会B的城市,进行破坏行为的PVP竞技。
f.帮会A在帮会B不知道的情况下,偷袭帮会B的城市,帮会B及时组织人员进行反抗的PVP竞技。
g.各种副本对抗性帮会战争,帮会A向帮会B发起挑战,帮会B有权拒绝挑战,当帮会B接受时,双方通过参与玩家投票形式选择一种对抗的副本进行PVP竞技。(城战副本多样化)
h.资源抢夺战的帮会战争,帮会A通过特定NPC处申请抢夺帮会B的资源地区,帮会B无法拒绝挑战,胜利后为自己的帮会增加某些资源,失败损失帮会资源,帮会B防守成功获得声望或其他方面的奖励。帮会B只可通过城市建设加强防御设施,玩家不参与竞技。完全靠帮会的建设发展进行PVP竞技。(通过建设等级的高低和参加争夺人员的数量,决定副本难度。)
i.城市资源抢夺战。游戏中的某个主要城市,通过特定的时间,玩家帮会之间进行抢夺,占领城市的一方可获得各种丰厚的待遇,每周固定时间举行一次。(帮会之间可同时进行攻打城市,最后胜利的一方获胜,时间判定。)
帮会战争还有很多种形式,如果一款游戏中适当的存在多样化的帮会PVP竞技性,那么就会强化帮会中玩家之间的多种因素,达到一个真正具有团队行为意识的帮会系统。
5.帮会玩家之间的联系,和交流行为性的优化。是否需要通过某些设定增加帮会玩家之间的沟通和交流,往往一个的帮会,玩家总介于组队间,好友间的交流,忽略帮会这个平台的交流性。如何刺激帮会中玩家之间的频繁的接触,吸引住玩家长期存在游戏中。
一款游戏在玩家进入初期除了靠优秀的画面,绚丽的技能,宏伟的世界观等等因素的影响外,还要靠一个优秀的社区化交流平台留住玩家继续玩下去。那么这个重要的交流性如何来设定,就决定了玩家是否愿意长期玩下去的因素。
因素
a.如果我们增加一些简单的设定,是否对整个社区化的交流平台起到一定意义上的作用。例如,几个帮会成员之间在进行帮会任务中,如果他们互相之间都不是好友关系而是通过帮会聊天互相组到一起进行任务时,系统是否可以判定一个提示,提示玩家之间互相加为好友就可以通过做帮会任务获得更高的奖励,长期下来还会有更丰厚的奖励制度。
b.当帮会有新人加入时,帮会聊天系统发出公告:“某某某加入了XX帮会,全力效忠XX帮会,大家热烈欢迎某某某的到来!”紧跟着这条公告再发出一条公告:“哪位大侠愿意帮助新人做帮会任务,他将会有几率获得某某特殊道具哦~”类似这样的话,总之就是频繁的刺激玩家之间的接触和交流。
6.如何活跃一个帮会的内在气氛,让整个帮会充满欢声笑语、热情和激情。通过增加管理层次的权利能力,添加一些即时线上活动,促进帮会内部活跃度。增加玩家保持长时间的在线率。
如果一个游戏存在帮会的城市系统,通过帮会城市建设等级的不断提升,各种建筑物的不断加强,每个建筑物在不同等级都会触发不同的特殊奖励任务(轻松娱乐小游戏),限定开放制度。
例如:(可以是随机某个帮会建筑物的任务)
a.限定时间,每天一次或每三天一次或每周一次。
b.只有帮会管理层的官员才可开放活动,不同等级的官员开放的小游戏内容不一样,等级越高的官员,奖励越丰富,每周可进行的次数越低。
c.小游戏的方式尽量以开心恶搞的形式随机出现。例如,副会长XX开启了XX建筑物的特殊奥义,即将有可怕的事情要发生了。然后在很多小游戏中随机出现一个活动,玩家无法猜测会是哪个。假设出现一个小游戏叫“大家来抓我”那么副会长就要赶紧在帮会城市中藏起来。可以用特殊道具把自己变成某某建筑物或是小动物。如果被第一个玩家发现,那么这个副会长就要被关在本帮会的城市中某个特定的牢笼里面一定的时间,让帮会成员看笑话。
总之,大体的形式是这样,具体细节缺乏详细说明。宗旨就是为了活跃帮会内部气氛,尽量以恶搞的内容形式出现在玩家面前。让玩家在轻松娱乐中获得奖励,增加帮会玩家之间的亲和度。
7.帮会的治理、管理体现出对玩家的公平性,在条件允许的范围内,尽量给予帮会成员特殊权限,让每位玩家都能感受到帮会制度的公平性,更能稳定的表现出玩家对于帮会渴望度。
比如在帮会某个技能方面,如果玩家A经常为了建设这个技能做出卓越的贡献,那么应该根据贡献度的多少。来相应提升该玩家A的技能等级能力。这种现象主要是为了更多的休闲玩家,免费玩家提供丰厚的待遇。可以感受到一款免费游戏中帮会系统的价值。除了个人成长外,游戏的后期还有很多事情可以做,维持自身在帮会的地位,可以获得很多别人所没有的效益。
8.网络游戏流行词“自定义系统”的延伸,在帮会系统中如何利用的更好。更大化的激发玩家自定义的热情和对帮会的创意思想。
大多数游戏中帮会“自定义”设定,都是由会长来定夺,会长决定帮会名称,帮会城市名称,帮会城市创建地点,帮会LOGO,帮会宣言,帮会宗旨等等。
如果把一些可以让帮会成员实现的自定义设置加到帮会中去,对玩家之间的沟通,玩家行为上的创意想法,玩家对于帮会的爱戴等方面都可以看成是一个游戏质量上的提升。
玩家可以把自己所在的帮会城市当成一个文明的社区,自己设计一块场所,起个名字,种上几颗人参,练习生活技能。那会是一种多么美好而快乐的事情。
自定义方面在帮会中体现的价值意义的重要性完全可以和人物写生,时装,外貌的自定义性相媲美。
9.帮会城市的建设关联生活技能和人物辅助技能且同时存在帮会系统中,对于玩家来说会不会增加疲劳度和厌烦感。如果两种技能的延伸都存在帮会系统中,对于游戏本身来看,会不会吸引更多的玩家。
对于免费游戏来说,生活技能很受玩家欢迎。一款生活技能强大的免费游戏会吸引很多的休闲玩家,这些玩家通过长期的在线时间锻炼生活技能,做出一些高等级的道具出售给付费玩家,获得自身的劳动成果,对于休闲玩家来说很有成就感。生活技能的强化既能保证玩家长时间在线率,又能促进玩家之间的交流和沟通能力。还可以为集体做出更多的贡献。
人物技能强化对于PK类型网游来说对玩家的帮助性体验的更明显,无论是练级打怪还是攻城抢夺,对于玩家来说免费的BUFF会更实际。
如果可以结合两种情况同时考虑存在在网游中,对于各种类型的玩家都能得到满足。
第二篇:ABS系统研究论文
摘要:
利用机械动力学仿真软件ADAMS 建立汽车ABS的机械动力学模型,在MATLAB/SIMULINK 环境下建立Jetta GTX 轿车的ABS 控制模型,构成了ABS 机电液一体化联合仿真的动力学控制模型。利用MATLAB确定了ABS 的控制参数的门限值,进行了仿真结果数据处理和分析,与大量的ABS 实车道路试验数据对比,改进模型准确度,获得了正确和可行的ABS 仿真控制模型,为加速开发ABS 的控制算法奠定了基础。
关键词:ABS 动力学控制模型 联合仿真 ADAMS MATLAB/SIMULINK
第一章 概述
“ABS”(Anti-lockedBrakingSystem)中文译为“防抱死刹车系统”.它是一种具有防滑、防锁死等优点的汽车安全控制系统。ABS是常规刹车装置基础上的改进型技术,可分机械式和电子式两种。
现代汽车上大量安装防抱死制动系统,ABS既有普通制动系统的制动功能,又能防止车轮锁死,使汽车在制动状态下仍能转向,保证汽车的制动方向稳定性,防止产生侧滑和跑偏,是目前汽车上最先进、制动效果最佳的制动装置。
普通制动系统在湿滑路面上制动,或在紧急制动的时候,车轮容易因制动力超过轮胎与地面的摩擦力而安全抱死。
近年来由于汽车消费者对安全的日益重视,大部分的车都已将ABS列为标准配备。如果没有ABS,紧急制动通常会造成轮胎抱死,这时,滚动摩擦变成滑动摩擦,制动力大大下降。而且如果前轮抱死,车辆就失去了转向能力;如果后轮先抱死,车辆容易产生侧滑,使车行方向变得无法控制。所以,ABS系统通过电子机械的控制,以非常快的速度精密的控制制动液压力的收放,来达到防止车轮抱死,确保轮胎的最大制动力以及制动过程中的转向能力,使车辆在紧急制动时也具有躲避障碍的能力。
随着世界汽车工业的迅猛发展,安全性日益成为人们选购汽车的重要依据。目前广泛采用的防抱制动系统(ABS)使人们对安全性要求得以充分的满足。
汽车制动防抱系统,简称为ABS,是提高汽车被动安全性的一个重要装置。有人说制动防抱系统是汽车安全措施中继安全带之后的又一重大进展。汽车制动系统是汽车上关系到乘客安全性最重要的二个系统之一。随着世界汽车工业的迅猛发展,汽车的安全性越来越为人们重视。汽车制动防抱系统,是提高汽车制动安全性的又一重大进步。
ABS防抱制动系统由汽车微电脑控制,当车辆制动时,它能使车轮保持转动,从而帮助驾驶员控制车辆达到安全的停车。这种防抱制动系统是用速度传感器检测车轮速度,然后把车轮速度信号传送到微电脑里,微电脑根据输入车轮速度,通过重复地减少或增加在轮子上的制动压力来控制车轮的打滑率,保持车轮转动。在制动过程中保持车轮转动,不但可保证控制行驶方向的能力,而且,在大部分路面情况下,与抱死〔锁死〕车轮相比,能提供更高的制动力量。
第二章 发展历程
ABS系统的发展可以追溯到本世纪初期,早在1928年制动防抱理论就被提出,在30年代机械式制动防抱系统就开始在火车和飞机上获得应用,博世(BOSCH)公司在1936年第一个获得了用电磁式车轮转速传感器获取车轮转速的制动防抱系统的专利权。
进入50年代,汽车制动防抱系统开始受到较为广泛的关注。福特(FORD)公司曾于1954年将飞机的制动防抱系统移置在林肯(LINCOIN)轿车上,凯尔塞·海伊斯(KELSEHAYES)公司在1957年对称为“AUTOMATIC”的制动防抱系统进行了试验研究,研究结果表明制动防抱系统确实可以在制动过程中防止汽车失去方向控制,并且能够缩短制动距离;克莱斯(CHRYSLER)公司在这一时期也对称为“SKIDCONTROL”的制动防抱系统进行了试验研究。由于这一时期的各种制动防抱系统采用的都是机械式车轮转速传感器的机械式制动压力调节装置,因此,获取的车轮转速信号不够精确,制动压力调节的适时性和精确性也难于保证,控制效果并不理想。
随着电子技术的发展,电子控制制动防抱系统的发展成为可能。在60年代后期和70年代初期,一些电子控制的制动防抱系统开始进入产品化阶段。凯尔塞·海伊斯公司在1968年研制生产了称为“SURETRACK”两轮制动防抱系统,该系统由电子控制装置根据电磁式转速传感器输入的后轮转速信号,对制动过程中后轮的运动状态进行判定,通过控制由真空驱动的制动压力调节装置对后制动轮缸的制动压力进行调节,并在1969年被福特公司装备在雷鸟(THUNDERBIRD)和大陆·马克III(CONTINENTALMKIII)轿车上。
克莱斯勒公司与本迪克斯(BENDIX)公司合作研制的称“SURE-TRACK”的能防止4个车轮被制动抱死的系统,在1971年开始装备帝国(IMPERIAL)轿车,其结构原理与凯尔塞·海伊斯的“SURE-TRACK”基本相同,两者不同之处,只是在于两个还是四个车轮有防抱制动。博世公司和泰威(TEVES)公司在这一时期也都研制了各自第一代电子控制制动防抱系统,这两种制动防抱系统都是由电子控制装置对设置在制动管路中的电磁阀进行控制,直接对各制动轮以电子控制压力进行调节。
别克(BUICK)公司在1971年研制了由电子控制装置自动中断发动机点火,以减小发动机输出转矩,防止驱动车轮发生滑转的驱动防抱转系统.瓦布科(WABCO)公司与奔驰(BENZ)公司合作,在1975年首次将制动防抱系统装备在气压制动的载贷汽车上。
第一台防抱死制动系统ABS(Ant-ilockBrakeSystem),在1950年问世,首先被应用在航空领域的飞机上,1968年开始研究在汽车上应用。70年代,由于欧美七国生产的新型轿车的前轮或前后轮开始采用盘式制动器,促使了ABS在汽车上的应用。1980年后,电脑控制的ABS逐渐在欧洲、美国及亚洲日本的汽车上迅速扩大。到目前为止,一些中高级豪华轿车,如西德的奔驰、宝马、雅迪、保时捷、欧宝等系列,英国的劳斯来斯、捷达、路华、宾利等系列,意大利的法拉利、的爱快、领先、快意等系列,法国的波尔舍系列,美国福特的TX3、30X、红彗星及克莱斯勒的帝王、纽约豪客、男爵、道奇、顺风等系列,日本的思域,凌志、豪华本田、奔跃、俊朗、淑女300Z等系列,均采用了先进的ABS。到1993年,美国在轿车上安装ABS已达46%,现今在世界各国生产的轿车中有近75%的轿车应用ABS。
现今全世界已有本迪克斯、波许、摩根.戴维斯、海斯.凯尔西、苏麦汤姆、本田、日本无限等许多公司生产ABS,它们中又有整体和非整体之分。预计随着轿车的迅速发展,将会有更多的厂家生产。
这一时期的各种ABS系统都是采用模拟式电子控制装置,由于模拟式电子控制装置存在着反应速慢、控制精度低、易受干扰等缺陷,致使各种ABS系统均末达到预期的控制效果,所以,这些防抱控制系统很快就不再被采用了。
进入70年代后期,数字式电子技术和大规模集成电路的迅速发展,为ABS系统向实用化发展奠定了技术基础。博世公司在1978年首先推出了采用数字式电子控制装置的制动防泡系统--博世ABS2,并且装置在奔驰轿车上,由此揭开了现代ABS系统发展的序幕。尽管博世ABS2的电子控制装置仍然是由分离元件组成的控制装置,但由于数字式电子控制装置与模拟式电子控制装置相比,其反应速度、控制精度和可靠性都显著提高,因此,博世ABS2的控制效果己相当理想。从此之后,欧、美、日的许多制动器专业公司和汽车公司相继研制了形式多详的ABS系统。
“自动防抱死刹车”的原理并不难懂,在遭遇紧急情况时,未安装ABS系统的车辆来不及分段缓刹只能立刻踩死。由于车辆冲刺惯性,瞬间可能发生侧滑、行驶轨迹偏移与车身方向不受控制等危险状况!而装有ABS系统的车辆在车轮即将达到抱死临界点时,刹车在一秒内可作用60至120次,相当于不停地刹车、放松,即相似于机械自动化的“点刹”动作。此举可避免紧急刹车时方向失控与车轮侧滑,同时加大轮胎摩擦力,使刹车效率达到90%以上。
从微观上分析,在轮胎从滚动变为滑动的临界点时轮胎与地面的摩擦力达到最大。在汽车起步时可充分发挥引擎动力输出(缩短加速时间),如果在刹车时则减速效果最大(刹车距离最短)。ABS系统内控制器利用液压装置控制刹车压力在轮胎发生滑动的临界点反复摆动,使在刹车盘不断重复接触、离开的过程而保持轮胎抓地力最接近最大理论值,达到最佳刹车效果。
ABS的运作原理看来简单,但从无到有的过程却经历过不少挫折(中间缺乏关键技术)!1908年英国工程师J.E.Francis提出了“铁路车辆车轮抱死滑动控制器”理论,但却无法将它实用化。接下来的30年中,包括Karl Wessel的“刹车力控制器”、Werner Möhl的“液压刹车安全装置”与Richard Trappe的“车轮抱死防止器”等尝试都宣告失败。在1941年出版的《汽车科技手册》中写到:“到现在为止,任何通过机械装置防止车轮抱死危险的尝试皆尚未成功,当这项装置成功的那一天,即是交通安全史上的一个重要里程碑”,可惜该书的作者恐怕没想到这一天竟还要再等30年之久。
当时开发刹车防抱死装置的技术瓶颈是什么?首先该装置需要一套系统实时监测轮胎速度变化量并立即通过液压系统调整刹车压力大小,在那个没有集成电路与计算机的年代,没有任何机械装置能够达成如此敏捷的反应!等到ABS系统的诞生露出一线曙光时,已经是半导体技术有了初步规模的1960年代早期。
精于汽车电子系统的德国公司Bosch(博世)研发ABS系统的起源要追溯到1936年,当年Bosch申请“机动车辆防止刹车抱死装置”的专利。1964年(也是集成电路诞生的一年)Bosch公司再度开始ABS的研发计划,最后有了“通过电子装置控制来防止车轮抱死是可行的”结论,这是ABS(Antilock Braking System)名词在历史上第一次出现!世界上第一具ABS原型机于1966年出现,向世人证明“缩短刹车距离”并非不可能完成的任务。因为投入的资金过于庞大,ABS初期的应用仅限于铁路车辆或航空器。Teldix GmbH公司从1970年和奔驰车厂合作开发出第一具用于道路车辆的原型机——ABS 1,该系统已具备量产基础,但可靠性不足,而且控制单元内的组件超过1000个,不但成本过高也很容易发生故障。
1973年Bosch公司购得50%的Teldix GmbH公司股权及ABS领域的研发成果,1975年AEG、Teldix与Bosch达成协议,将ABS系统的开发计划完全委托Bosch公司整合执行。“ABS 2”在3年的努力后诞生!有别于ABS 1采用模拟式电子组件,ABS 2系统完全以数字式组件进行设计,不但控制单元内组件数目从1000个锐减到140个,而且有造价降低、可靠性大幅提升与运算速度明显加快的三大优势。两家德国车厂奔驰与宝马于1978年底决定将ABS 2这项高科技系统装置在S级及7系列车款上。
在诞生的前3年中,ABS系统都苦于成本过于高昂而无法开拓市场。从1978到1980年底,Bosch公司总共才售出24000套ABS系统。所幸第二年即成长到76000套。受到市场上的正面响应,Bosch开始TCS循迹控制系统的研发计划。1983年推出的ABS 2S系统重量由5.5公斤减轻到4.3公斤,控制组件也减少到70个。到了1985年代中期,全球新出厂车辆安装ABS系统的比例首次超过1%,通用车厂也决定把ABS列为旗下主力雪佛兰车系的标准配备。
1986年是另一个值得纪念的年份,除了Bosch公司庆祝售出第100万套ABS系统外,更重要的是Bosch推出史上第一具供民用车使用的TCS/ ASR循迹控制系统。TCS/ ASR的作用是防止汽车起步与加速过程中发生驱动轮打滑,特别是防止车辆过弯时的驱动轮空转,并将打滑控制在10%到20%范围内。由于ASR是通过调整驱动轮的扭矩来控制,因而又叫驱动力控制系统,在日本又称之为TRC或TRAC。
ASR和ABS的工作原理方面有许多共同之处,两者合并使用可形成更佳效果,构成具有防车轮抱死和驱动轮防打滑控制(ABS /ASR)系统。这套系统主要由轮速传感器、ABS/ ASR ECU控制器、ABS驱动器、ASR驱动器、副节气门控制器和主、副节气门位置传感器等组成。在汽车起步、加速及行进过程中,引擎ECU根据轮速传感器输入的信号,当判定驱动轮的打滑现象超过上限值时,就进入防空转程序。首先由引擎ECU降低副节气门以减少进油量,使引擎动力输出扭矩减小。当ECU判定需要对驱动轮进行介入时,会将信号传送到ASR驱动器对驱动轮(一般是前轮)进行控制,以防止驱动轮打滑或使驱动轮的打滑保持在安全范围内。第一款搭载ASR系统的新车型在1987年出现,奔驰S 级再度成为历史的创造者。
随着ABS系统的单价逐渐降低,搭载ABS系统的新车数目于1988年突破了爆炸性成长的临界点,开始飞快成长,当年Bosch的ABS系统销售量首次突破300万套。技术上的突破让Bosch在1989年推出的ABS 2E系统首次将原先分离于引擎室(液压驱动组件)与中控台(电子控制组件)内,必须依赖复杂线路连接的设计更改为“两组件整合为一”设计!ABS 2E系统也是历史上第一个舍弃集成电路,改以一个8 k字节运算速度的微处理器(CPU)负责所有控制工作的ABS系统,再度写下了新的里程碑。该年保时捷车厂正式宣布全车系都已安装了ABS,3年后(1992年)奔驰车厂也决定紧跟保时捷的脚步。
1990年代前半期ABS系统逐渐开始普及于量产车款。Bosch在1993年推出ABS 2E的改良版:ABS 5.0系统,除了体积更小、重量更轻外,ABS 5.0装置了运算速度加倍(16 k字节)的处理器,该公司也在同年年中庆祝售出第1000万套ABS系统。
ABS与ASR/ TCS系统已受到全世界车主的认同,但Bosch的工程团队却并不满足,反而向下一个更具挑战性的目标:ESP(Electronic Stabilty Program,行车动态稳定系统)前进!有别于ABS与TCS仅能增加刹车与加速时的稳定性,ESP在行车过程中任何时刻都能维持车辆在最佳的动态平衡与行车路线上。ESP系统包括转向传感器(监测方向盘转动角度以确定汽车行驶方向是否正确)、车轮传感器(监测每个车轮的速度以确定车轮是否打滑)、摇摆速度传感器(记录汽车绕垂直轴线的运动以确定汽车是否失去控制)与横向加速度传感器(测量过弯时的离心加速度以确定汽车是否在过弯时失去抓地力),在此同时、控制单元通过这些传感器的数据对车辆运行状态进行判断,进而指示一个或多个车轮刹车压力的建立或释放,同时对引擎扭矩作最精准的调节,某些情况下甚至以每秒150次的频率进行反应。整合ABS、EBD、EDL、ASR等系统的ESP让车主只要专注于行车,让计算机轻松应付各种突发状况。
延续过去ABS与ASR诞生时的惯例,奔驰S 级还是首先使用ESP系统的车型(1995年)。4年后奔驰公司就正式宣布全车系都将ESP列为标准配备。在此同时,Bosch于1998及2001年推出的ABS 5.7、ABS 8.0系统仍精益求精,整套系统总重由2.5公斤降至1.6公斤,处理器的运算速度从48 k字节升级到128 k字节,奔驰车厂主要竞争对手宝马与奥迪也于2001年也宣布全车系都将ESP列为标准配备。Bosch车厂于2003年庆祝售出超过一亿套ABS系统及1000万套ESP系统,根据ACEA(欧洲车辆制造协会)的调查,今天每一辆欧洲大陆境内所生产的新车都搭载了ABS系统,全世界也有超过60%的新车拥有此项装置。
“ABS系统大幅度提升刹车稳定性同时缩短刹车所需距离”Robert Bosch GmbH(Bosch公司的全名)董事会成员Wolfgang Drees说。不像安全气囊与安全带(可以透过死亡数目除以车祸数目的比例来分析),属于“防患于未然”的ABS系统较难以真实数据佐证它将多少人从鬼门关前抢回?但据德国保险业协会、汽车安全学会分析了导致严重伤亡交通事故的原因后的研究显示,60%的死亡交通事故是由于侧面撞车引起的,30%到40%是由于超速行驶、突然转向或操作不当引发的。我们有理由相信ABS及其衍生的ASR与ESP系统大幅度降低紧急状况发生车辆失去控制的机率。NHTSA(北美高速公路安全局)曾估计ABS系统拯救了14563名北美驾驶人的性命!
从ABS到ESP,汽车工程师在提升行车稳定性的努力似乎到了极限(民用型ESP系统诞生至今已近10年),不过就算计算机再先进仍须要驾驶人的适当操作才能发挥最大功效。
多数车主都没有遭遇过紧急状况(也希望永远不要),却不能不知道面临关键时刻要如何应对?在紧急情况下踩下刹车时,ABS系统制动分泵会迅速作动,刹车踏板立刻产生异常震动与显著噪音(ABS系统运作中的正常现象),这时你应毫不犹豫地用力将刹车踩死(除非车上拥有EBD刹车力辅助装置,否则大多数驾驶者的刹车力量都不足),另外ABS能防止紧急刹车时的车轮抱死现象、所以前轮仍可控制车身方向。驾驶者应边刹车边打方向进行紧急避险,以向左侧避让路中障碍物为例,应大力踏下刹车踏板、迅速向左转动方向盘90度,向右回轮180度,最后再向左回90度。最后要提的是ABS系统依赖精密的车轮速度传感器判断是否发生抱死情况?平时要经常保持在各个车轮上的传感器的清洁,防止有泥污、油污特别是磁铁性物质粘附在其表面,这些都可能导致传感器失效或输入错误信号而影响ABS系统正常运作。行车前应经常注意仪表板上的ABS故障指示灯,如发现闪烁或长亮,ABS系统可能已经故障(尤其是早期系统),应该尽快到维修厂排除故障。
要提醒的是,ABS/ ASR/ ESP系统虽然是高科技的结晶,但并不是万能的,也别因为有了这些行车主动安全系统就开快车。
第三章 工作原理
控制装置和ABS警示灯等组成,在不同的ABS系统中,制动压力调节装置的结构形式和工作原理往往不同,电子控制装置的内部结构和控制逻辑也可能ABS通常都由车轮转速传感器、制动压力调节装置、电子不尽相同。
在常见的ABS系统中,每个车轮上各安装一个转速传感器,将有关各车轮转速的信号输入电子控制装置。电子控制装置根据各车轮转速传感器输入的信号对各个车轮的运动状态进行监测和判定,并形成相应的控制指令。制动压力调节装置主要由调压电磁阀组成,电动泵组成和储液器等组成一个独立的整体,通过制动管路与制动主缸和各制动轮缸相连。制动压力调节装置受电子控制装置的控制,对各制动轮缸的制动压力进行调节。
ABS的工作过程可以分为常规制动,制动压力保持制动压力减小和制动压力增大等阶段。在常规制动阶段,ABS并不介入制动压力控制,调压电磁阀总成中的各进液电磁阀均不通电而处于开启状态,各出液电磁阀均不通电而处于关闭状态,电动泵也不通电运转,制动主缸至各制动轮缸的制动管路均处于沟通状态,而各制动轮缸至储液器的制动管路均处于封闭状态,各制动轮缸的制动压力将随制动主缸的输出压力而变化,此时的制动过程与常规制动系统的制动过程完全相同
在制动过程中,(如下图所示)电子控制装置根据车轮转速传感器输入的车轮转速信号判定有车轮趋于抱死时,ABS就进入防抱制动压力调节过程。例如,电子控制装置判定右前轮趋于抱死时,电子控制装置就使控制右前轮刮动压力的进液电磁阀通电,使右前进液电磁阀转入关闭状态,制动主缸输出的制动液不再进入右前制动轮缸,此时,右前出液电磁阀仍末通电而处于关闭状态,右前制动轮缸中的制动液也不会流出,右前制动轮缸的刮动压力就保持一定,而其它末趋于抱死车轮的制动压力仍会随制动主缸输出压力的增大而增大;如果在右前制动轮缸的制动压力保持一定时,电子控制装置判定右前轮仍然趋于抱死,电子控制装置又使右前出液电磁阀也通电而转入开启状态,右前制动轮缸中的部分制动波就会经过处于开启状态的出液电磁阀流回储液器,使右前制动轮缸的制动压力迅速减小右前轮的抱死趋势将开始消除,随着右前制动轮缸制动压力的减小,右前轮会在汽车惯性力的作用下逐渐加速;当电子控制装置根据车轮转速传感器输入的信号判定右前轮的抱死趋势已经完全消除时,电子控制装置就使右前进液电磁阀和出液电磁阀都断电,使进液电磁阀转入开启状态,使出液电磁阀转入关闭状态,同时也使电动泵通电运转,向制动轮缸泵输送制动液,由制动主缸输出的制动液经电磁阀进入右前制动轮缸,使右前制动轮缸的制动压力迅速增大,右前轮又开抬减速转动。(参见:汽车电子控制基础,曹家喆 主编,机械工业出版社,2007年10月)
ABS通过使趋于抱死车轮的制动压力循环往复而将趋于防抱车轮的滑动率控制,在峰值附着系数滑动率的附近范围内,直至汽车速度减小至很低或者制动主缸的常出压力不再使车轮趋于抱死时为止。制动压力调节循环的频率可达3~20HZ。在该ABS中对应于每个制动轮缸各有对进液和出液电磁阀,可由电子控制装置分别进行控制,因此,各制动轮缸的制动压力能够被独立地调节,从而使四个车轮都不发生制动抱死现象。
尽管各种ABS的结构形式和工作过程并不完全相同,但都是通过对趋于抱死车轮的制动压力进行自适应循环调节,来防止被控制车轮发生制动抱死。
第四章 汽车ABS 机械动力学模型
1.汽车ABS 仿真模型建立的要求:
(1)在仿真建模过程中要考虑到模型的准确性和可信度,在不失真的前提下尽量简化仿真模型,减少自由度数,提高求解效率。
(2)能够正确的根据路面条件、道路状况、制动强度和法向载荷实时计算出车速和轮速,使模型尽可能反映实车的运动状况。
(3)具有仿真建模改进的能力,能方便地修改子模型的参数,不需要花费很大精力或者重新建模,就可以在设计阶段,插入或改变仿真模型。
ADAMS 软件计算功能强大,求解器效率高,具有多种专业模块和工具包,以及与其它CAD 软件的接口,可方便快捷地建立机械动力学模型,支持Fortran 和C 语言,便于用户进行二次开发[1]。基于ADAMS软件的上述优点,利用ADAMS 软件建立汽车制动防抱死系统(ABS)的机械动力学模型。2.模型建立:
汽车是一个复杂的动力学系统,对汽车的ABS 制动性能进行模拟仿真,输入的参数包括制动初速,路面条件如干铺设路面、湿铺设路面、雪路面、冰路面、对开路面、对接路面等,道路状况如直道、弯道、上坡、下坡等和整车参数。输出的参数包括汽车制动过程中整车和车轮的运动状态,如制动时间、制动距离、制动减速度、车轮滑移率、车轮角减速度、制动器制动力、地面制动力、地面侧向力、横摆力矩等。
根据以上研究目的,对整车进行适当简化。汽车悬架系统结构型式和转向系结构型式对汽车制动性能的影响不大,仿真模型中的惯性参数由Pro/ENGINEER 软件三维实体建模计算得到,对悬架系和转向系简化如下:
悬架系统只考虑悬架的垂直变形;转向系忽略车轮定位角和转向传动装置。把汽车简化为具有十个刚体的模型,共14 个自由度。十个刚体分别为车身、一个后非独立悬挂组质量、两个前独立悬挂组质量(两个前轮横摆臂和两个前轮转向节)、四个车轮。两前轮共有3 个自由度,车身具有3 个转动和3 个平动自由度,两后轮各有1 个自由度,前悬架各有一个自由度,后悬架1 个自由度,如图1 所示。
图1 整车仿真模型
1—车身 2—后轮 3—后悬架 4—前轮
5—前悬架 6—横摆臂 7—转向节
仿真模型包括以下几个子模型:
转向系模型:以转向角约束直接作用于左转向节。
前悬架模型:前悬架是独立悬架,一侧的简化模型如图2 所示。转向节简化如图2 中3 所示,用转动副与前轮连接。横摆臂与减振器以球铰分别与转向节和车身连接。
图2 悬架的简化模型
1—车身 2—横摆臂 3—转向节 4—轮胎 5—前悬架 6—弹簧
A—转动副 B—球铰 C—转动副 D—滑柱铰 E—球铰
后悬架是非独立悬架,只考虑垂直方向的自由度,悬架与车身之间用平移副表示它们之间的相对运动,悬架与车身用弹簧阻尼连接,与后轮用转动副连接。
轮胎模型:车辆的各种运动状态主要是通过轮胎与路面的作用力引起的。采用力约束方法,不考虑轮胎拖距、回正力矩以及滚动阻力的影响。采用ADAMS 提供的非线性Pacejka 轮胎模型[2]。
制动器模型:采用美国高速公路车辆仿真模型中的制动器模型。
液压模型:采用ADAMS 中液压模块(ADAMS/Hydraulics)建立制动系统的液压仿真模块。
路面模型:设计出路面模型可进行对开路面和对接路面制动过程的仿真计算。利用ADAMS 中提供的平面(Plane)作为路面模型的基础,定义了平面(Plane)的长、宽等参数,使得汽车制动过程有足够的空间,利用平面-圆(Plane-Circle)接触力(Contact)表示车轮与地面之间的法向作用力。ADAMS轮胎模型中没有附着系数变化的路面模块,为此在ADAMS 提供的路面模块基础上,对对接路面采用在路面模型上加入标记点(Marker)的方法,分别求出前轮和后轮质心到标记点X 方向上的距离。当距离为正时说明轮胎已经跨过了标记点,此时根据所规定的路面情况对轮胎附着系数进行改变,使得模型可以计算路面附着系数变化。对开路面也采取了相同的加入标记点的方法,进行计算左右侧轮胎相对于标记点Y 方向上的距离。(参见:汽车车身电子与控制技术,陈无畏 主编,机械工业出版社,2008年02月)
第五章 制动防抱死系统ABS 的控制模型
在ADAMS 中定义了与MATLAB/SIMULINK 的接口,把ADAMS 中建立的非线性机械模型转化为SIMULINK 的S-FUNCTION 函数,再把S-FUNCTION 函数加入到控制模型里,这样就可以方便的利用SIMULINK 提供的各种强大的工具进行控制模型开发,在MATLAB 软件下进行联合仿真计算[3]。图3 所示为MATLAB/SIMULINK中表示的ADAMS 机械模型,在ADAMS 中定义四个车轮的制动力矩为输入变量,定义四个车轮的速度和滑移率为输出变量,保存在.m 文件中由MATLAB 调用。
图3 ADAMS子模块
图4 所示
为在MATLAB/SIMULINK 下开发的ABS 控制模块,图中深色的部分为ADAMS 生成的子模块,输入参数为制动力矩,输出参数为车轮速度和车轮滑移率,以车轮的加速度/减速度和车轮滑移率为控制参数。(参见:汽车车身电子与控制技术,陈无畏 主编,机械工业出版社,2008年02月)
图4 ABS 仿真控制模型
第六章 ABS 联合仿真控制规律结果与分析
1.确定车轮加速度和参考滑移率的门限值
根据ADAMS 仿真制动过程计算出的车轮加速度曲线,分析出加速度门限值为w&
1、减速度门限值为w&2。车轮滑移率下门限值λ1,上门限值λ2。
车轮的加、减速度和滑移率的门限值的确定是一个反复交替验证过程。方法为:计算车轮的加、减速度和参考滑移率,以参考滑移率为控制参数初步确定车轮的加、减速度的门限值,再以车轮加、减速度门限值控制车轮的滑移率,确定滑移率的门限值。图4 中深色的部分为ADAMS 生成的机械模型,在MATLAB作为一个S-FUNCTION 函数参与运算。通过上述交替验证的方法,车轮滑移率和加速度的仿真变化曲线如图5 所示,实车测试数据如图6 所示。比较图5 和图6,可以看出仿真数据与实车测试数据相吻合,验证了车轮加速度门限值和滑移率门限值的确定是合理的。
图5 仿真试验数据
图6 试车实验数据 图6 实车试验数据
选取适当滑移率门限值λ1,λ2是控制的关键问题之一。如果车轮的滑移率大于路面峰值附着系数相应的滑移率λOPT,车轮的侧向附着力很低。在有侧向风、道路倾斜或转向制动等对车辆产生横向力情况下,或左右车轮的地面制动力不相等时,路面不能提供足够的侧向力使车辆保持行驶方向,车辆容易发生危险的甩尾情况,因此滑移率门限值的上限应小于λOPT。
理想的ABS 系统应能把制动压力调节到一个合适的范围内,使得车轮的滑移率保持在λOPT附近。如果(λ2 - λ1)取值较小,则控制过程的保压时间较短,需进行频繁的压力调节,压力调节器需进行频繁的动作,而压力调节器和制动器需要一定的响应时间,过于频繁的压力调节会使压力调节器和制动器来不及响应,达不到控制效果。如果(λ2 - λ1)取值较大,车轮的运动状态不能及时的控制,车轮的速度波动范围很大,还会造成制动效能降低。2.ABS 的控制周期
控制周期取决于车速信号采集频率,制动压力调节器的响应时间和控制逻辑运算时间之和。在仿真模型里进行了控制周期对ABS 控制影响的分析。
模型中采用了改变控制模型与车辆模型之间的通讯时间来实现控制周期的模拟。以通讯时间为0.1s 和0.15s 为例,得到结果如图7和图8所示。从两图中可以看到控制周期增大,滑移率变化范围增大,说明车轮的线速度变化范围增大,车轮的抱死趋势强烈。在开发ABS 的时候,应尽力缩短控制周期。的联合仿真 图9 为左前轮3~5s 的ABS 仿真试验数据,按照逻辑门限值的方式进行控制。从图9 中可以看出,在加速度为-20m/s2 附近,进行了快速减压,车轮的加速度增大,但车轮速度仍在减小。然后在加速度为-22m/s2 时出现了保压过程,此时滑移率为0.17 左右。紧接着是一个压力逐渐增加的过程,在这个过程中车轮的加速度逐步减小,但车轮速度继续增加,此时车轮滑移率控制在0.1 附近,接着又是一个短暂的保压过程,车轮的加速度增大,此后又开始了新的一轮的制动压力的调节。车轮的加速度在(-20~20)m/s2之间,管路压力在(1.5~4.5)MPa 之间。图10 为道路试验数据,比较两图,仿真数据与试验数据基本吻合。(参见:张跃今,宋健.多体动力学仿真软件-ADAMS 理论及应用研讨.机械科学与技术,1997.9)
图9 左前轮3~5s 的仿真试验数据
图10 左前轮3~5s 的道路试验数据
第七章 结论
(1)用两个软件
ADAMS 和MATLAB/SIMULINK分别建立机械模型和控制模型,发挥各自的优点进行联合仿真计算,精度较高。
(2)采用交替验证的方法,确定车轮滑移率和加速度的门限值效果较好。(3)仿真数据与道路试验数据基本吻合,证明仿真方法和仿真模型可行。(4)此模型较准确地反映ABS 制动过程各参数的变化情况,可以此为基础进行实车的ABS 控 制算法的开发,缩短开发时间,减少开发经费。
(5)此模型还易于扩展,进一步开发和研究ABS 以及与ASR(Acceleration Slip Regulation)、ACC(Adaptive Cruise Control)的集成化系统。
致 谢
在这短短几个月的时间里毕业论文能够得以顺利完成,并非一人之功。感谢所有指导过我的老师,帮助过我的同学和一直关心、支持着我的家人。感谢你们对我的教诲、帮助和鼓励。在这里,我要对你们表示深深的谢意!
感谢我的指导老师——田文超老师,没有您认真、细致的指导就没有这篇论文的顺利完成。和您的交流并不是很多,但只要是您提醒过该注意的地方,我都会记下来。事实证明,这些指导对我帮助很大。
感谢我的父母,没有他们,就没有我的今天。你们的鼓励与支持,是我前进的强大动力和坚实后盾。
最后,感谢身边所有的老师、朋友和同学,感谢你们三年来的关照与宽容,与你们一起走过的缤纷时代,将会是我一生最珍贵的回忆。
参考文献:
1.汽车电子技术,迟瑞娟,李世雄 主编,国防工业出版社,2008年08月 2.汽车电子控制基础,曹家喆 主编,机械工业出版社,2007年10月 3.汽车车身电子与控制技术,陈无畏 主编,机械工业出版社,2008年02月
4.张跃今,宋健.多体动力学仿真软件-ADAMS 理论及应用研讨.机械科学与技 术,1997.9 5.ADAMS Reference Manual Version 12, Mechanical Dynamics, Inc.6.Matlab Referen ce Manual Version 6.1.Mathworks Inc.
第三篇:人事管理系统研究意义
本课题的研究目的及意义
现代的社会中,办公自动化进入社会的每一个角落已经势不可挡,而人事管理系统是办公自动化的一个小小体现,它为人事管理大量又繁杂的员工数据工作提供了方便,提高了人事管理工作的效率,为办公自动化的普及奠定了基础。人事管理系统是任何一个现代化企事业单位不可或缺的部份,它的内容对于企事业的管理者来说至关重要。人事管理系统应该能够为管理者提供充足的信息和快捷的查询手段。但在我所处的城市,很多单位并没有对人事工作进行电子化管理,还是那种管理人员多,管理效率低,决策依据少的尴尬局面。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用计算机对人事信息进行管理,具有着传统管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、寿命长、成本低等。这些优点能够极大地提高了人事管理的效率。因此,开发这样一套管理软件,对单位人事管理工作进行有效电子化管理,化简繁琐的手工操作,提高工作效率都是很有意义的事情。
随着信息技术的发展,人们对于运用计算机来辅助,协调和管理自身工作的需要正在逐步提高。而面向对象的程序设计在当今应用程序的开发过程中具有重要的地位,它的最大的优点就是能够提高程序开发的质量和开发。经过分析,我使用Visual C++开发工具,利用其提供的各种面向对象的开发工具,首先在短时间内建立系统应用原型,然后对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。
第四篇:个人通信系统研究
龙源期刊网 http://.cn
个人通信系统研究
作者:李登光 李 红
来源:《科学与管理》2005年第01期
摘 要:现代移动通信系统实际上是机器与机器之间的通信,也就是手机和手机之间、或是电脑和电脑之间的通信,而用户真正需要的是人与人之间的通信。本文将就通信系统发展的历史、现状进行探讨,并研究个人通信系统实现的可能性。在列举出其要求和特点后,我们给出了一个可能实现的方案,即在现有的移动通信系统的基础上,增加个人移动通信层。个人移动通信层是相对于OSI七层网络结构的抽象层,个人移动通信层是建立在七层网络体系之上的,为人提供移动性的功能抽象。
第五篇:Linux操作系统研究论文
随着IT产业巨头纷纷宣布对Linux的支持,Linux正在迅速扩展其应用市场,特别是服务器市场。在标准上,Linux与pOSIX1003.1兼容,但它具有比以住的UNIX系统更合理的内核结构。由于它的开放性,各种被人们广泛应用的网络协议都在该系统中得到了实现。目前人们所使用的Linux系统一般是指由Linux核心、外壳(SHELL)及外围应用软件构成的发行版本。Linux发行版本是不同的公司或组织将Linux核心、外壳、安装工具、应用软件有效捆绑起来的结果,所以种类繁多,各有各的优缺点。但就其总体而言,这些发行版本具有对尽可能多的网卡的支持。本文仅就RedHat5.1这个特定发行版本下的网卡的选择、安装、配置进行讨论,希望对于其他发行版本的同样问题有点借鉴作用。
就象UNIX,Linux支持的网卡主要是以太网卡。如3COM、ACCTON、AT&T、IBM、CRYSTAL、D-LINK等众多品牌的以太网卡只要安装配置正确,都可以得到你所期望的效果。
一、Linux中网卡的工作原理
为了将这个问题说明的更清楚一些,不妨先简要地剖析一下Linux是如何让网卡工作的。一般来说,Linux核心已经实现了OSI参考模型的网络层及更上层部分。网络层的实现依赖于数据链路层的有效工作。网卡的驱动程序就是数据链路层与物理层的接口。通过调用驱动程序的发送例程向物理端口发送数据,调用驱动程序的接收例程从物理端口接收数据。
1.网卡驱动程序
简单地说,要将你手中的网卡利用起来,你唯一要做的是得到这块网卡的驱动程序。驱动程序提供了面向操作系统核心的接口和面向物理层的接口。
驱动程序的操作系统接口是一些用于发现网卡、检测网卡参数以及发送接收数据的例程。当驱动程序开始运作时,操作系统首先调用检测例程以发现系统中安装的网卡。如果该网卡支持即插即用,那么检测例程应该可以自动发现网卡的各种参数;否则你就要在驱动程序运作前,设置好网卡的参数供驱动程序使用。当核心要发送数据时,它调用驱动程序的发送例程。发送例程将数据写入正确的空间,然后激活物理发送过程。
驱动程序面向物理层的接口是中断处理例程。当网卡接收到数据、发送过程结束,或者发现错误时,网卡产生一个中断,然后核心调用该中断的处理例程。中断处理例程判断中断发生的原因,并进行响应的处理。比如当网卡接收到数据而发生中断时,中断处理例程调用接收例程进行接收。
2.驱动程序工作参数
驱动程序的工作参数因网卡性质的不同而不同,大致包括I/O端口号、中断号、DMA通道、共享存储区等。输入输出端口号又被称为输入输出基地址,当网卡工作于端口输入输出模式时被使用。端口输入输出模式需要CpU的全程干预,但所需硬件及存储空间要求较低。CpU通过端口号指定的空间与网卡交换数据。中断号是网卡的中断序号,只要不与其它设备冲突即可。当网卡使用DMA方式时,它要使用DMA通道批量传输数据而不需要CpU的干预。
对于一块具体的网卡,如果网卡支持完全自动检测,那么一个参数也不用指定,驱动程序的检测例程会自动设定所需参数。一般情况,你需要人工设定这些参数的一部分。如果你的网卡使用端口输入输出模式,你要设定端口号和中断号。如果你的网卡使用DMA模式,你要设定DMA通道和中断号。如果你的网卡使用共享存储区的模式,那你就得设定共享存储区的地址范围。
3.驱动程序的使用方式
有了网卡的驱动程序后,你可以选择是把驱动程序加入到Linux核心之中还是把驱动程序加工成独立模块。Linux系统一个引人入胜的长处就是可以定制系统的核心。把需要频繁调用的功能加入系统核心,可以大大提高系统的效率。在这种情况下系统启动时,系统核心自动加载网卡的驱动程序。驱动程序的参数可以通过LILO命令参数加以指
定。系统启动后驱动程序永久驻留核心,不能用常规的方法将其卸载。至于定制的系统核心,是通过重新编译得到的;如何编译核心将在后文叙及。
如果把驱动程序编译成可装载模块,就可以用系统提供的命令在系统启动后随时加载。随时加载的好处是减少内存开销,易于管理,但同时也牺牲了一点网络传输的效率。驱动程序的参数是在命令行中直接输入或通过配置文件指定。
二、网卡安装前的准备在安装网卡前,务必检查是否具备下列条件:
1.硬件方面
以太网卡
网络连接线及连接头,如10base-T一般为8芯双绞线配RJ-45接口
2.软件方面
Linux操作系统
网卡驱动程序(目标码或源代码)
*网卡配置程序
*软件开发工具,如GNU工具包(包括编译器gcc、make等)
3.系统配置信息
可用的端口地址
可用的中断号
以上不带星号标记的是必要条件,带星号的是视情况不同而要求的条件。具体情况在下面进一步说明。
三、网卡的安装及配置
第一步:配置以太网卡的工作参数
配置网卡就是配置网卡的工作参数,如端口地址、中断号等。网卡的缺省参数一般存储于网卡内部的EEpROM,这是网卡出厂前设置好的。缺省参数在大多数情况下是可行的,但如果这些参数与你的系统有冲突并且网卡又不支持软件动态设置,那么你就要使用网卡的设置程序。并不是所有的网卡都要经过这一步,因为有些网卡支持通过驱动软件及其输入参数来确定网卡的工作参数。可以通过查阅网卡使用说明书来确定这一点。
网卡的设置程序与驱动程序不同,设置程序仅仅用来对网卡EEpROM中的设置进行修改。网卡程序本身可能运行在其它操作系统下,如WINDOWS95/98、OS/
2、DOS等。如果是非Linux平台,那你就先在适合设置程序运行的系统中安装网卡,按设置程序说明设置网卡参数。然后再在Linux系统下安装该网卡。
第二步:安装Linux系统
假如你将要安装以太网卡的Linux系统本身还未安装,那么可以先试着在安装Linux的同时安装网卡。这一步成功的前提是你的Linux发行版本包含将要安装的网卡的驱动程序。
运行Linux的安装程序,按提示进行操作,别忘了安装核心的网络部分。当进行到LAN配置时,安装程序会列出它支持的所有网卡的类型。看看你的网卡是否榜上有名。随着Linux发行版本的不断升级,目前RedHat 6.0已经覆盖了常用的网卡类型。如果很幸运地你的网卡恰好在其中,那么下文讨论的很多步骤都可以不必考虑了,安装程序会自动完成网卡的安装与驱动。但如果没找到适用于你的网卡类型,也不必担心,继续下一步。
第三步:手工安装网卡
安装网卡也就是安装网卡的驱动程序。网卡要工作必须要有驱动程序,并且驱动程序越成熟越好。驱动程序一般由网卡的生产或供应商提供。由于Linux是一个起步不久的新兴操作系统,网卡的生产商并不一定提供Linux环境下的驱动程序。这时候你就得从其它途径想办法了,比如到INTERNET上专门提供硬件驱动程序的网站查找一下,也可以在新闻组上贴个求助信息。总之,只有得到网卡的驱动程序后,方可进行下一步。
网卡的驱动程序有两种类型。一是可直接使用的二进制代码;另一种是驱动程序的源代码。二进制代码一般是预先编译好的可装载模块。源代码可以编译成可装载模块,也可以编译成系统核心的一部分。如何把源代码编译成可装载模块不在本文讨论之列,具体可以查阅驱动程序的说明书。
1.可装载模块的使用
系统提供了一组命令用于将驱动程序模块载入内存执行。这些命令包括modprobe、insmod、Ismod、rmmod。modprobe 与insmod命令功能相似,但是方式各异。
modprobe 命令使用配置文
件/erc/config.modules来加载可执行模块。要用 modprobe命令加载以太网卡的驱动程序,可以在 config.modules文件中加入:
alias eth0 drivermodule(drivermodule是驱动程序模块的名称)
这行配置信息把以太网卡的设备名与驱动程序模块联系起来。modprobe命令依据这条信息,自动加载存放于 /lib/library/xxxx/net目录下名为 drivermodule.o的模块。因此要使 modprobe命令找到驱动程序模块,必须将该模块放在 /lib/library/xxxx/net目录下。
那么驱动程序的参数如何指定呢?还是使用conf.modules文件。方法是在接着上述配置信息的后面加入下行信息:
options drivermodule parml=valuel,parm2=value2,……
这里parm1 是驱动程序可以接受的参数名,valuel是该参数值;依次类推。
比如options cs89x0 io=0x200 irq=0xA media=aui
insmod命令直接通过命令行参数将驱动程序模块载入内存,并可以在命令中指定驱动程序参数。例如:
insmod drivermodule.o parml=valuel,parm2=value2,……
以上两个命令中可以使用驱动程序参数要依据具体的网卡及其驱动程序而定,要仔细阅读网卡及驱动程序的说明书。有的网卡驱动程序可以用这些参数覆盖网卡本身EEpROM中存储的参数。有的则必须使用EEpROM中的参数。有的因为驱动程序不自动检测网卡使用的参数,所以还得把网卡使用的EEpROM中的参数传给驱动程序。
卸载驱动程序模块使用rmmod命令:
rmmod drivermodule.o
2.把驱动程序编译入系统核心
除了以可装载模块的形式使用驱动程序,还可以把驱动程序编译进Linux核心,以获取更高的效率。这种方式需要驱动程序的源代码、Linux核心源代码及其编译工具。Linux核心的编译过程包括配置核心、重建依赖关系、生成核心代码等步骤。配置核心的过程是用系统提供的配置工具(make config 或make menuconfig)重新生成用来编译核心的众多make文件的过程。为了让核心的配置工具了解你的网卡驱动程序,你需要修改一些核心的配置文件。
(1)修改配置文件:主要修改核心源代码目录下的四个文件,即drivers/net/CONFIG文件、drivers/net/Config.in文件、drivers/net/Makefile 文件和drivers/net/Space.c文件。CONFIG和Config.in文件用于控制核心配置工具(make config 或make menuconfig)的运行,主要是加入关于是否包括该网卡的支持提示。Makefile 和Space.c文件用于编译核心代码并说明面向核心的接口。详细语句参见下面例子。
(2)运行核心配置工具:在核心源代码目录下执行make config或 make menuconfig命令。make config是面向命令行的,通过逐句回答提问来配置核心。由于其在配置过程中不可改变或撤消以前的回答,故多有不便。make menuconfig 则是通过窗口菜单方式,使用起来很方便。就本文而言,你只要在上一步中正确修改了配置文件,那么在config中会出现是否需要该网卡支持的提问,你选择‘y’。或者在menuconfig中的 network菜单中出现表示该网卡的菜单项,把它选上即可。
(3)重建依赖关系:很简单,执行make dep和make clean命令。
(4)生成核心代码:执行make zImage 命令。这个命令开始真正编译核心代码,并把核心代码存放为arch/i386/boot 目录下的zImage。
(5)为了使用新的核心代码,你需要用新的核心代码替换原有的。原有的核心代码一般存放在/boot 目录下,文件名称类似于vmlinuz-v.s.r-m(v.s.r-m)表示核心的版本号)。如vmlinuz-2.0.34-1。执行下列命令:
cp arch/i386/boot/zImage /boot/vmlinuz-v.s.r-m
为了安全起见,可以先把原有的核心代码做个备份,以便发生错
误时恢复。
至此,你可以重新引导系统以使用新的带有正确网卡驱动支持的Linux核心。唯一剩下未解决的是驱动程序的参数问题。有些网卡驱动程序如果不输入参数,那它工作就会不正常,甚至根本不工作。由于现在网卡的驱动程序是系统启动时由核心载入运行的,系统启动之后用户就很难改变这些参数了,所以你必须在系统启动时告诉Linux核心网卡驱动程序使用的参数。具体方法有两种:
(1)在系统引导程序LILO中输入。
在LILO开始引导系统时,用ether子命令设定以太网卡驱动程序的参数。ether命令的使用方式为:
LILO:linu xether=IRO.BASE_ADDR,NAME
这里带下划线的是要输入的部分,IRQ表示中断号,BASE_ADDR表示端口号,NAME表示网卡的设备名。例如:linux ether=15,0x320,eth0
(2)在LILO配置文件中设定。
每次在系统启动时再输入驱动程序参数似乎有点过于麻烦。幸好系统提供了LILO的配置文件可以用来永久性的设置Linux系统启动时的子命令。方法是在/etc/lilo.conf文件中的适当位置加入以下一行:
append=“ether=IRQ, BASE_ADDR,NAME”
这里带下划线部分的意义同上。加入这一行后,还需要用/sbin/lilo命令把这个配置写入引导程序。
第四步:网络配置及测试
安装完网卡就可以配置网络通信了。配置网络简单地就是使用ifconfig命令,例如:
ifconfig eth0 1.2.3.4 netmask 255.0.0.0 up
最后ping一下网上其它机器的ip地址,检查网络是否连通。
五、一个以太网卡安装实例
下面以Cirrus公司生产的Crystal CS8920以太网卡为例,详细说明上述安装配置过程。本例中,有些命令参数,如核心源代码目录等,是以我使用的系统环境为出发点。具体应用中还要加以本地化。为了更接近实际,例子中也包括了对安装中碰到的问题的描述。
1.此网卡是IBM pC机的内置式网卡,机器只提供了Windows95/98环境下的驱动程序。由于RedHat 5.0发行版本尚未提供对此网卡的直接支持,所以从Cirrus的站点上找到并下载了该网卡驱动程序的Linux版本,是一个名为Linux102_tar.gz的压缩文件。
2.文件Linux102_tar.gz解压后包括五个文件。包括源代码,仅适用于Linux 2.0版本的目标模块以及readme文件。
3.查阅readme文件后,了解到这个驱动程序只能使用网卡EEpROM中设定的端口号(I/O基地址)、中断号。为了知道网卡EEpROM的设置,又从Cirrus站点下载了该网卡DOS版本的设置程序setup.exe
4.在DOS中运行setup.exe,发现网卡的起始端口号为0x360,中断号为10,与别的设备有冲突。选择setup.exe程序的相应菜单,把中断号改成5。另外,此驱动程序不支持plug and play,故也在setup.exe中将网卡的pnp功能屏蔽掉。
5.我所使用的RedHat 5.0的Linux核心版本为2.0.34,所以不能用现成的驱动程序目标模块,需要自己动手编译。如上文所述,有两种方式使用此驱动程序。
6.如果要编译成独立模块,执行下列命令:
gcc -D_KERNEL_-I/usr/src/linux/include -I/usr/src/linux/net/inet-Wall -Wstrictprototypes -02 -fomit-frame-pointer -DMODULE -DCONFIG_MODVERSIONS -ccs89x0.c
编译结果是名为cs89x0.o的驱动程序目标模块。要装载此驱动程序,输入下列命令: insmod cs89x0.o io=0x360 irq=10
要卸载此驱动程序,用rmmod命令:
rmmod cs89x0.o
7.如果要将驱动程序编进系统核心,修改/usr/src/linux/drivers/net/CONFIG,加入:
CS89x0_OpTS=
修改/usr/src/linux/drivers/net/Config.in,加入:
tristate‘CS8920 Support’CONFIG_CS8920
以上两行是为了让make config在配置过程中询问是否增加CS8920网卡的支持。修改/usr/src/linux/drivers/net/Makefile加入:
ifeq((CONFIG_CS8920),y)
L_OBJS+=cs89x0.o
endif
修改/usr/src/linux/drivers/net/Space.c,加入:
extern int cs89x0_probe(struct device *dev);
……
#ifdef CONFIG_CS8920
&& cs89x0_probe(dev);
#endif
以上两段是为了编译并输出网卡驱动程序及其例程。
把驱动程序源代码拷到/usr/src/linux/drivers/net目录下。
在/usr/src/linux目录下执行 make config或 make menuconfig,选择核心CS8920网卡支持。
执行make dep、make clean命令。最后用 make zImage 编译Linux核心。
如何设置核心驱动程序参数,上节已有说明,不再赘述。
六、结束语
与其它外设一样,以太网卡种类繁多,对于新兴的操作系统Linux来说,是否能够有效地支持这些设备,直接关系着Linux的发展前途。