Embedded 版 (精华区)
发信人: redfox (NetAnt), 信区: Embedded_system
标 题: 评估Windows CE的连网能力(中)
发信站: 哈工大紫丁香 (2001年06月28日17:10:24 星期四), 转信
评估Windows CE的连网能力(中)
IEEE1394是正在出现的高速串行总线,其数据速率由25至100Mbits/s。它原本来自
AppleComputer公司的FireWire总线,那是设计来作为一种通用的外围设备串行总线,但
随着流行起来,改变了着重於所有种类的消费性产品,如数码相机和扫描器。1394分主干
型和电缆型两种,在它们之间有若干讯号上的差异(例如,在主干总线上出现有差分讯号
)。
电缆型1394总线可以支持多达63个设备,经过与其他设备商议後,其中一个设备就成为总
线管理器,进行总线管理。出现有一插即用型的设施,尽管接上或除下一个设备会导致总
线复位(reset),并且开始在总线上重新枚举所有设备。电缆愈长,它能够应付的数据
率就愈慢(由於时钟偏斜的关系)。典型的长度只是几米。
IEEE1394和USB两者均为串行协定,不过,与其他竞争的技术相比,USB和IEEE1394被认为
是有更好的互补能力,因USB可用於低至中等的带宽区,而IEEE1394则运用於中至高的带
宽区。尽管Windows没有给IEEE1394提供拿来就用的解决方案,但第叁方的支援已有所宣
布。OEM可以在其产品中组织实现这种第叁方IEEE1394驱动程序堆栈。
PC卡
在移动运算和嵌入式市场,PC卡通常为通讯及存储设备所用。由於小巧的尺寸,结实可靠
,低功耗和一插即用的能力,它是其中一种最具承诺性的移动通讯技术。其标准於1990年
第一次制订,主要用於记忆卡。
这个标准,在外围设备卡和主系统插座之间,制订了68针的介面。它有叁个标准,分别称
为TYPEI,II和III,只是卡的厚度不同,故较薄的卡能够利用厚卡所采用之同一插座。软
件式一插即用,也作为该标准的部份来提供。软件标准由插座服务及卡服务两者组成,後
者也照管所需的系统资源(中断,DMA通道等)。卡服务的作用就像服务器,给提出请求
的应用程序和设备驱动程序提供各种不同的服务。此卡的服务介面定义了客户/服务器通
讯介面。插座服务供位於卡服务之下,给实际插座提供一种硬件无关的软件介面。
1996年,PCMCIA给PC卡标准化了一个新而高性能的总线,叫做Cardbus,它是属於PCI类型
的总线,使用了32位元总线主理并运行於33MHz(与普通PC卡不同,它采用了8或16位元介
面,工作於ISA总线,速度为8MHz)。
WindowsCE给标准PCMCIA总线提供支持,OEM/ISV可以替其PC卡编写可安装的设备驱动程序
,它可以运用基本的OS支持。
传统I/O
除了新的高速通讯设备之外,在设计上仍然需要有针对更传统势必之硬件介面,例如串行
端口(利用串行电缆的COM端口),并行端口和键盘端口;然而,即使是这些设备,在过
去几年也演进到能够处理更高的数据速率。
例如,标准的Centronics并行端口已为高速的双向并行端口所代替,如ECP(扩展通讯端
口),它可以运用DMA,并能够应付超过2Mbytes/s的数据速率。
WindowsCE支持高速ECP并行端口通讯,而用於ECP并行端口的样例驱动程序,被包含在
WindowsCEETK中。
参考平台和HARP
这里讲及的总线体系结构以及通讯介面,可以由参考平台来提供。给产品开发去选择恰当
的参考平台是非常重要的,这是由於在大多数情况下,它也是针对新产品的一个参考设计
,在产品设计的早期阶段,无需很重大的投资,也可以给概念性的原型机制提供快速的验
证。参考平台应该是针对该产品的最终要求的一个子集;它应当丰富地混合了现行可用的
通讯介面。决定合适的连接能力选项,不应被参考平台所限制。
Microsoft开发了一个新的WindowsCE参考平台规格,叫做HARP(硬件结构参考平台),那
是基於CompactPCI的。除了处理器板之外,HARP还指定了一个6UCompactPCII/O卡(RIO)
,它给WindowsCE认证了全部所需的I/O。需要有CompactPCI主干,将处理器板和I/O板透
过CompactPCI连接起来。尽管HARP保证了与WindowsCE在硬件和软件方面的兼容性,并提
供灵活的连接能力测试环境,但WindowsCE却并不依赖於PCI总线的出现与否。事实上,一
些WindowsCE产品并不需要外部总线。
对连接能力的软件支持
为了能运用於这些硬件介面,WindowsCE必须能够提供拿来就用的支持。这应该既包括OS
支持来与这些硬件介面交谈(采用设备驱动程序的形式),又有高级通讯协定。
WindowsCE支持Win32的一个子集,称为Win-InetAPI,它提供了对高级协定HTTP1.0和FTP
的支持。这允许应用程式去对付较插座更高级的抽象(abstraction)。为了提供网络保
安性能,故支持了安全插座层(SSL)2.0,SSL3.0以及专用通讯技术(PCT)1.0。远程打
印机及文件存取是透过CIFS(公共Internet文件系统)重定向器来提供的。这种CIFS重定
向器现时只支持通用命命惯例而非磁碟机字母。Internet控制消息协定的支持也有提供,
允许对远程设备的传呼。
网络保安协定
WindowsCE对用户鉴证和数据加密提供了好几种机制,Internet协定如HTTP和FTP是基於对
Winsock的保安插座扩展,Winsock支持SSL2.0和3.0及PCT1.0保安协定。为了可以使用第
叁方的网络保安协定,WindowsCE仿照类属保安服务API(GSSAPI),提供了保安支援提供
器介面(SSPI)。SSPI提供一个保安层,应用程式可自顶端去调用,而第叁方的DLL(动
态链路库)则可在底端介接,以提供某种特定保安机制的组织实现。
WindowsCE支持CryptoAPI,它们能够进行实际上的加密,以便在公共网络上安全地传送数
据。对於SLIP/PPP类型的通讯,在数据链路层,用户鉴证是由口令鉴证协定(PAP)或挑
战鉴证协定(CHAP)/MicrosoftCHAP所提供。
高级WinInetAPI在下面采用插座API来管理网络连接,WindowsCE支持Winscok1.1以及
Irsock(用於红外通讯)。现时的异步Winsock功能却没有得到支持,而非阻塞性(
non-blocking)插座应该用於这些地方,在那里,你不想线索被堵塞着去等待来自插座调
用的返回。
Irsock只不过是针对IrDA设备的一种Winsock组织实现,那些IrDA设备在其下面采用了
IrDA通讯协定堆栈。Irsocks有不同的机制来寻址通讯设备,并且也缺乏对保安方面的支
持。
TCP/IP,IrDA协定堆栈
TCP/IP是用得最多的网络连接协定,受到WindowsCE的支持,还加上UDP/IP(一种高速度
但可靠性较低的协定)。它是针对移动设备来优化了的,在那里,某些TCP/IP参数,例如
应答时限,可以针对无线领域来设定。还有对多掷(multicasting)的支持,让一个服务
器把单个讯息包发送给多个客户,结果,降低了网络的通讯量。
一些低档嵌入设备或手持设备使用串行(COM)端口作网络连接,WindowsCE也透过串行介
面支持网络连接。为了达到此目的,它利用了很容易得到的SLIP/PPP协定,在网络上的用
户鉴证,或是采用PAP,或是采用CHAP来提供。
远程存取服务器(RAS)这种机制是用来连接远程设备的,RAS客户基本上是采用
SLIP/PPP协定来向RAS服务器连接。WindowsCE只支持一个RAS客户设备往一个RAS服务器设
备进行连接,但不会有RAS服务器式支持(在调制解调器情况下,WindowsCE设备可以向外
拨出,但其他设备不可以拨入)。直接的串行端口电缆连接也受到支持。
NDIS支援
网络驱动程序介面系统(NDIS)是一种软件组件(component),给网络硬件提供支持。
NDIS给所有类型的连网硬件提供进入内核(kernel)的单一介面,因而不再需要重新编写
硬件无关的连网软件。NDIS不会把它的任何API向应用层暴露。对於应用程式来说,一当
网络驱动程序能够和NDIS正确地配合工作,网络连接能力就成为透明的了;它们需要利用
插座(socket)或任何高级协定的API来打开连接。
与WindowsNT不同,NDIS是在WindowsCE平台上的一个dll(动态链路库)。这就使得当平
台不需要NDIS连接能力的情况下,OEM就可以把它与核心OS分别包装。WindowsCE现时组织
实现了NIS4.0的一个子集,它包含了对Ethernet和IrDA小端口驱动程序的支持。在
WindowsCE中的IrDAStack是设计成与NDIS4.0慢与快IrDA驱动程序配合一起工作的。
TelephonyAPI(TAPI)基本上是一组实用程序API,让编程员可以利用电脑电话(
tele-phony)服务,而不必知道这些技术的详情。例如,假定某个应用程式需要向外拨号
并连接到远程电脑,该设备应该知道如何拨号一个电话号码,及自己如何连接到远程电脑
和断开连接。
TAPIAPI提供这些机制,给WindowsCE设备去使用调制解调器,连同串行或连网API。
--
发展Linux 逃离MicroSoft !
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.224.81]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.203毫秒