Embedded 版 (精华区)
发信人: redfox (NetAnt), 信区: Embedded_system
标 题: 评估Windows CE的连网能力(上)
发信站: 哈工大紫丁香 (2001年06月28日17:09:19 星期四), 转信
评估Windows CE的连网能力(上)
对於资讯年代的嵌入式器件,在硬件和软件设计上的选择项,着实非常丰富。
近年来,对嵌入式(embedded)系统的要求已经有极大的改变。和传统嵌入式系统相比,
新的嵌入式应用似乎需要有更强劲的处理器,更大量的记忆体,提供更多和各式各样的功
能。特别是,希望这些嵌入式系统能够采用高速而灵活的通讯机制与其他系统沟通,这对
嵌入式系统的市场产生深远的影响。对嵌入式开发商来说,这种影响不光是简单地挑选合
适的硬件,最根本的还要去精心选择合适的实时操作系统(RTOS),接下来自然是,为开
发的方便挑选相应的参考平台。
现时,不少的嵌入式应用,尤其是具有连网能力要求的,都依靠对商品系统的第叁方加插
软件(add-ons),或者要花大量的额外时间去增添所需的连网能力选项。
随着应用愈来愈复杂,在要求更大可靠性和尽早将产品面世的这样一种市场气氛下,针对
每种用途所花的时间,金钱,和作出的努力,总的说来回报并不值得。上述这些因素还加
上另外其他因素一起,令人们逐渐倾向於依靠标准的嵌入式操作系统。在嵌入式系统的连
网能力方面,Microsoft公司的WindowsCE被认为是能够应付复杂的连网能力需求的最佳软
件,虽然有些人不大同意此点。
传统的嵌入式市场
能够长期屹立不倒的RTOS是针对传统嵌入式应用来优化的,在其中,资料是受到高度的限
制,而其规模大小和实时能力则是一个OS的最基本判断准则。这些传统的嵌入式应用,一
般并不需要高档的CPU或大容量的记忆体,对於和外部世界的联系,也不要求有极高的连
网性能。
此前不久,嵌入式市场由机器控制型的应用所主宰,它们要求死板(hard)的实时响应。
但是,最近的嵌入式应用却是要求具有人类的互动作用,在这些应用中,响应时间是由人
类反应所策动的。对於这些应用,在传统名词术语的意义下,近(near)实时响应就已经
非常足够的了。
处理OS过大问题
传统上,嵌入式系统的设计是针对特定市场而进行的定点解决方案。例如,给车床作机械
控制的这种应用就是个良好例子。它会是8/16位元的微处理器/微控制器,十分有限的
记忆体资源,会运行很紧凑的控制环路。显示方面的要求也仅限於对输出/输入控制参数
的16进制显示,以及用数目字来报告出错情况。连网能力限於采用串行端口,加上与传感
器往来传送的数码式和模拟式I/O。由於在CPU,记忆体,显示和连网能力方面的需求都不
很大,故商用操作系统就变为杀鸡用的牛刀了。直至不久之前,绝大部份嵌入式系统在上
述条件下仍能运作良好。然而,近年来有几种趋势结合一起,给嵌入式系统带来了新的要
求。这些趋势有:
Internet的长足进步。并且伴随着数据通讯深层结构的改良(例如:Ethernet和无线通讯
的大量采用)。
容易得到便宜,高档的CPU和记忆体(带有能源管理之类的特性,适合手持式设备)。桌
面PC技术愈来愈多地用於嵌入式应用环境,进一步加速变动的势头。与开发成本和及时推
出市场的压力相比,硬件价格愈来愈成为次要的因素。
在新的市场里,对於连网能力的需要其重要性比之实时响应还要高出很几倍。即使是传统
的嵌入式应用市场也开始受到这些因素的影响,因为最终用户期望有恰当的连网能力和一
定的经济规模。举个例子,对於工厂车间,会考虑采用DCS(
DistributedControlSystems,分布式控制系统)将过程自动化,来控制整个车间,而不
再采用独立的机器控制器。控制设备和智能传感器透过Ethernet和/或其他一些行业上强
化的通讯协定来进行互相通讯。这些结合一起,就形成一个分布式智能网络,此网络甚至
可由桌面PC去接达。
以上这些考虑都在WindowsCE的开发上产生影响,它支持一系列的通讯机制,让嵌入式系
统设计师用最适宜的通讯技术,针对特定的应用市场。观乎以下的事实,即不少情况下嵌
入式应用采用了PC技术,或者是需要与PC进行通讯(或者是基於PC技术的其他设备),可
以运用流行的Win32API的这种能力,使得采用WindowsCE无论从成本抑或技术角度来看,
都是值得的。本文讨论的是各种硬件式和软件式连网能力选择项,用於InformationAge公
司的一种嵌入式设备,它是采用WindowsCE作为操作系统的。
连网能力最为基本
资讯年代的嵌入式系统应该是能够有智能地传输资讯,即是说,当采用划时代合适的通讯
协定时,带有一定的保安性能和加密机制;具透明性,而且人为的干扰减至最小;还需要
切合时机,因为在许多应用中,延迟了的资讯会是不正确的资讯。因此,资讯年代的设备
是能够和其他设备/人士交谈,告诉它/他们自己需要些甚麽东西,并向之提供它/他们
需要的东西。为了做到这一点,该设备应具有多种语言,关於:
硬件部件,能够提供好几种不同介面,以便与其他设备通讯。
针对这些硬件部件,以及采用基本硬件的各种通讯协定堆栈的软件支援。
基於市场的需求,今天的设计师需要决定给其嵌入式应用给予哪种的连接能力,以及在缩
短及时推出市场的时候,他们如何能够设计出一定的连网能力。他们会从现成的硬件和软
件去寻找最好的功能,所以,他们能够在其核心应用领域上,集中力量作加值处理。
PCI解决方案
在高速通讯中,一个重要的因素是:“数据往来嵌入式器件能够传送得多快,而不会牵涉
CPU?”在一些低功率手持式产品中,基本I/O设备是和主处理器整合在一起的,消除了对
主CPU总线扩展的需要。
不过,大部份新设计不只需要有基本的I/O设备。有一些采用了很方便取得的PC为本标准
来作为主CPU总线扩展;即是PCI(PeripheralsComponentInterconnect,外设部件互连)
总线。Intel公司在1992年开发了PCI总线标准,以便在CPU和板上的外围设备之间提供容
易,高速的连接性能。这个总线,後来在PC业界扩展槽非常流行,运作於33MHz(在
rev2.1中支持66MHz)。
PCI是一种高速总线,对於连接上去的设备,具有plug-and-play(一插即用)的能力。理
论上,可以有多达256个PCI功能设备连接到PCI总线上(在32个设备中各有8功能)。然而
,总线负载是个问题,通常每根总线用上4至8个设备。
PCI总线允许灵活地在系统范围下的资源管理,每个PCI设备可被指定为硬件资源,例如记
忆体或I/O空间,而且是在运行中做到的。如果突然有需要添加更多的设备,PCI至PCI的
桥接器允许你作进一步的扩充。针对最高速I/O设备的芯片组(例如快速Ethernet或USB)
,均是依据PCI总线来设计的。
CompactPCI是PCI总线的一种演化品种,正在打进本行业及通讯市场。它依循Eurocard(
就CompactPCI卡连接到主干的连接上来说)的机械标准,特别适合机架式安装的工业应用
。CompactPCI还支持HotSwapping(热更换设备)能力,令它能够与VME之类的工业总线相
竞争。在嵌入式系统领域,不昂贵的PCI芯片组以及随处可得到PCI外围设备,可令PCI总
线成为约定俗成的一种标准。
PC104/104+基本上分别是PCISA和PCI总线的重新包装。它们提供一种机制,将PC技术嵌入
到结实而空间有限的环境中。PC104总线完全与ISA总线兼容,但具有可堆叠而紧凑(3.6
”×3.8”)的模块。顾名思义,它有104个插脚。PC104+给PCI总线提供同样的标准,但
采用PC104的尺寸。由於在PC104上的针脚全被ISA讯号所用,故在卡上的另一边引入新的
高密度120针连接器来应付32位元的PCI讯号。这些总线的出现,有助於PC技术(包括用於
连接能力的)进入嵌入式系统领域。
对网络致能设备的良好操作系统将能支持大部份容易可得的通讯设备和协定。下文是一些
通讯机制的概览,这些机制可用於现时资讯年代的嵌入式设备,还讲及WindowsCE如何对
每种机制作出支持。
IrDA/FastIrDA
IrDA(InfraredDataAssociation,红外线数据协会)是具有多於150家公司的联盟组织,
它提供了采用红外线的廉价无线式,点对点,双向性通讯机制,那是设计来用在短於1米
距离的极短程通讯的。它有两种速度,一种是低速(就叫IrDA)运行在9.6至115Kbits/s
,另一种是高速(叫FastIrDA),运行在1至4Mbits/s。更高的速度,可达16Mbits/s,也
在开发之中。
IrDA已被组织实现在笔记本电脑、PDA、打印机、和摄影机等产品中。其他设备如影印机
、投影机、和游戏控制也正在考虑之中。WindowsCE给IrDA设备提供拿来即可用的功能性
,这有两种方法。作为原始数据介面,不会得到系统的处理。这个应用纯粹是对应付潜在
的问题来作反应,例如碰撞及重新传输。这也叫做原始红外线,在此模式下,端口并非是
IrDA符合的。
藉着提供有关IrDA的协定,来照管交接,连同IrDA插座(sockets),这些插座可以用於
作传输数据的那些应用中。
USB
通用串行总线(UniversalSerialBus,USB)是一个外围设备总线标准,由IBM,Compaq,
Nortel,NEC,Intel及Microsoft这些公司开发出来的。它给所有USB外围设备提供一种“
不分大小码”式的连接器,并且能够应付以12Mbits/s速率的数据。USB电缆设计用於短距
离(多达5米),连接是依循树状结构拓扑(topology),在其中,任何时候都可以连接
多达127个设备,而且那些外围设备是可以作热更换的。
USB电缆也向低功率的外围设备分发电能(+5V),对於不能应付成组猝发式传输的应用,
以及要求有保证带宽和有界限延迟的应用,它都提供了等同的通讯。等同工作负荷量可以
是USB总线带宽的全部,或是其一部份。
所有这些特性都令USB成为一些移动产品的关键元件,例如笔记本电脑,让它们灵活地连
接到各种外围设备上去。
USB特别适合像调制解调器,游戏控制、打印机、扫描器、以及数码摄影机之类的应用方
面,因为在那里,要求有高的数据传输率和容易的一插即用。要求有保证的带宽和有界限
延迟的应用包括了PC电话与及其他语音和视像通讯应用。除了这些新的多媒体应用之外,
USB也能应付更为传统的I/O设备,例如低速的(1.5Mbits/s)键盘和鼠标。
WindowsCE给USB提供拿来就用的支持,不过,一个WindowsCE设备,对其他设备来说,看
起来不会似一个USB外围设备。换言之,它不能用USB来连接到PC上。针对USB的系统软件
大体上由两部份组成:USBD(通用串行总线驱动程序)和HCD(主控制器驱动程序)。
USBD由Microsoft提供,并组织实现高级的功能,为USB设备驱动程序所用。
HCD模块给实际硬件提供一个介面,这实际硬件不是OHCD(开发式主控制器驱动程序)就
是UHCD(通用主控制器驱动程序)。在WindowsCE里,包含了一个样本OHCD,它与OHCI(
开放式主控制器介面)一起运行——那就是符合USB的控制器。主要焦点是将此技术致能
,好使OEM(委托加工制造商)能够针对自己的设计来加以扩充。在WindowsCE嵌入式工具
套件(ETK)里,包含了样例USB鼠标驱动程序。
Ethernet和fastEthernet(IEEE802.3和802.3u)是最广泛使用的局域网技术,设计来给
小面积区域(例如:办公室)内的电脑互相连接。Ethernet工作於10Mbits/s,而
fastEthernet则工作於100Mbits/s。在这两种协定间之差别仅限於物理层和通讯媒体。媒
体的存取规则是CSMA/CD(载波检测多路存取,带碰撞检测)。WindowsCE是透过其
NDIS4.0组织实现来支持IEEE802.3小型端口驱动程序的。Ethernet卡可以是在平台上,或
透过PCMCIA插槽作热式插入。
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.224.81]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.568毫秒