| 来源: 原创 | 作者:guryhwa | 时间:2006-8-26 22:49 |
许多使用laptop的朋友都经常接触PC卡(早前称为PCMICA卡,现在这个称谓都简化了)这类玩艺,确实,在笔记本用户每天对着的电脑中一般都会有一到两个PC卡的插槽,当然是十分熟悉的了,但是在逐渐PC卡在desktop都有用武之地的今天,有必要给大家介绍有关PCMCIA的知识,揭开她的神秘面纱。
PCMCIA的历史:
PCMCIA(Personal Computer Memory Card International Association),是一个于1989年设立的国际标准主体和贸易组织,设立这个组织的目的是为了建立整合集成电路板卡的统一标准和改善在小体积,低功耗为特点的移动电脑中的部件互换性。后来随着便携式电脑用户需求的改变,PC卡的标准也相应的作出调整。并且在1991年,PCMCIA对I/O界面做出了和当时内存卡相同的68pin接头定义。与此同时SSS(Socket Services Specification,接口规范定义)和CSS(Card Services Specifcation,插卡规范定义)都意识到增加对PCMICA的新定义的补充是时代发展的趋势,同时需要通用软件在这方面的兼容性支持。
随着近年的发展,在逐渐紧迫的对高速应用中例如Mpeg多媒体、百兆高速以太网发展的需求中PCMICA新定义了诸如CardBus、Zoomed Video的规格。当然PCMCIA并不裹足于这些速度方面的改进,同时在设备兼容性、专门针对移动处理的3.3V操作电源等的低功耗特性发面也作出长足的改进。
今天,PCMICA不仅仅促进了在便携电脑领域方面的协同工作能力,而且还在数码相机、有线电视、机顶盒甚至汽车等不同方面都有所建树。随着不同产品之间对模块化外设需求的增长,PCMCIA最近已经把它的使命描述为:发展模块化外设的标准并使之在世界范围内被接受。
PCMCIA的新任务之一就有在建立小型插卡标准方面的。在许多手持设备上广泛应用的SmartMedia卡也是由PCMCIA提出并制定规范的。
PC卡技术初窥
在90年代初,快速发展的移动电脑行业驱动着更轻、更小、更具有便携性的信息处理工具的同步发展。在所有这些改进中最激动人心之一就是PC卡技术。PC卡现在已经成为移动电脑技术中举足轻重的一个环节。
卡型号与版本号
PC卡的大小其实都与一张信用卡的大小(长85.6mm×宽54.0mm)一致,同样使用68针的连接器。唯一不同之处就是厚度,薄的卡可以用在厚的插槽上,反过来就不行。每一种卡的型号都对应着一定的应用领域。
TYPE I卡,厚度为3.3mm,多数用在早期的存储卡方面,例如RAM/SRAM卡,Flash卡,OTP卡等;
TYPE II卡,厚度为5.0mm,主要用在I/O设备方面,例如LAN以太网卡/Modem和一些大容量的外接存储设备;
TYPE III卡,厚度为10.8mm,这种卡型产品最多的是小型的PC卡硬盘,也就是在这个10.8mm厚的空间里头集成了温式硬盘和相应的ATA控制器。
除此之外还有卡的扩展部分,就是一些无线Modem卡/Wireless Lan卡把相应的天线部分做在超出卡体85.4mm长度的部分上.用来消除卡壳屏蔽对无线电接受的影响。
PC卡技术展望
近年随着专用集成电路、表面组装、多层PCB还有就是微型机械等方面技术的发展,出现了很多以前只有在TYPE II卡甚至TYPE III卡上才有足够空间容纳的设备可以集成在TYPE I/II卡上了。最典型的例子就是TOSHIBA出的5GB PC卡硬盘是TYPE II的,容量就已经达到以前VIPER做的TYPE III型PC卡硬盘的10倍以上。这就是PC卡轻薄化的趋势
相信随着现代微型机械技术,高密度磁记录与GMR磁头的发展,容量更大重量更轻耗能更小的PC卡硬盘将会诞生。
低能耗:近年新型集成电路的功耗越来越小,加上系统、PC卡控制器的电源管理以及PC卡本身的热量管理已经十分完善,对笔记本日益严峻的散热问题起到了一定的缓解作用。
多项功能集成于一卡:PC卡内IC的集成度不断提高,同时内置多个控制电路已经不再困难,网卡与MODEM的2IN1卡已经不再新鲜了。大家可以想象一下一块PC卡拥有所有的接口会是什么模样的--还是一张信用卡大小……
新型的界面:随着千兆网络进入桌面或者其他高速互联方式的普及,当CardBus界面的带宽也不够用的时候,一场界面规范的革命近在眼前了。
PC卡与其他常见小型卡的对比。
卡的版本
PCMCIA标准版本1.0/JEIDA 4.0 推出日期1990年六月
这是PC卡标准有关68针接口和TYPE I/II型卡的最早定义。里头只对PC卡在存储器方面的应用作出了电器/物理规格方面的规定;这个时候还没有具有I/O接口的PC卡出现,仅仅是对卡内容的格式与信息结构有一定的要求以复合一定的通用性与即插即用原则。
PCMICA 标准版本2.0,2.01和2.1 推出日期由1991年-1994年
在最初的标准上增加了基于同样的68针连接头离有关I/O接口的定义。2.0版本对于早期版本作出了更多明确的定义,并且对双工作电压的内存卡作出了补充;2.01版本增加了PC卡的ATA规范,TYPE III的卡型还有就是支持Auto Indexing Mass Storage(AIMS)的技术;2.1版本提高了卡与卡插槽的服务规范,并且改进了卡的信息结构。
PC卡标准 推出日期1995年2月
这个最新的PC卡标准给PC卡的家族添加了更多的成员,例如纯3.3V工作电压、直接内存操作DMA支持,32位CardBus的总线控制等。
CardBus新式的PC卡界面
CradBus界面使得许多新款的PC卡可以从容提供更高得处理能力,实现更多的应用功能,并且与新的PC卡标准中绝大多数的的功能兼容。Cradbus的能力主要体现在全32位的寻址、全32位的地址带宽和33Mhz的高速运作频率还有总线控制操作。
在CardBus界面上可以实现多种总线操作方式,其中总线控制操作的方式可以让系统CPU降低工作强度,减少CPU对系统总线的任务要求强度。这对于提高当今的多任务操作系统的工作效率来说是一个十分重要影响因素。
CardBus界面不但支持现存的PC卡音频数字波形,而且还增加了对脉宽调制(PWM)的支持。通过软件的配合,可以在音频质量上获得比起以往的标准更大的提高。
在电气指标上看,CardBus的信号协议是从PCI界面上衍生出来的,但是他们两者之间还是有不同之处。以下是两者之间的一些性能指标对比:
|
性能指标 |
PCI bus |
CardBus |
|
数据/地址位宽 |
32/64bits |
32bits |
|
最高时钟频率 |
33/66Mhz |
33Mhz |
|
峰值传输输率 |
133/266/533MB/s |
133MB/s |
|
热插拔使用能力 |
No/特殊情况下具备 |
Yes |
|
启动配置支持 |
Yes |
Yes |
|
软件配置等级 |
低(BIOS下实现) |
高(card services) |
|
操作电压 |
5/3.3V |
3.3V |
|
板卡形式 |
与ISA卡类似 |
信用卡大小 |
|
连接头规格 |
120针无遮蔽 |
68针有遮蔽 |
|
卡桥硬件要求 |
No |
Yes |
CardBus的软件模块同时对以往的16位卡作出了定义,这样就允许同时兼容CardBus与非CardBus的PC卡。CardBus PC卡是属于全3.3V工作电压/或者更低的卡,这就可以使对电池的持续使用性能相当敏感的便携式设备可以在相当程度上减少工作能耗,当然系统的发热量也随之减少了。
CardBus界面由于以33Mhz的频率工作在32位的数位方式下,这样通过该界面就可以提供高达32bits/8*33Mhz=133MB/s的高带宽,这样使得PC卡在一些诸如要求高带宽(100M网卡和IEEE1394等)或者实时数据/视频采集等应用方面仍能够游刃有余。所以现在市面上出售的100M EtherLan PC卡、火线接口PC卡和USB2.0PC卡几乎都是使用的CardBus界面卡。
PC卡标准中的DMA支持。
什么是DMA。DMA就是直接内存操作(Direct Memory Access)的缩写。在从一般的非DMA外设传输中,通常是首先由外设产生一个中断请求信号给CPU,然后CPU停下手头上正在处理的工作并且保存当前环境的状态信息。接着CPU进行一个中断处理程序,把外设的数据存储到自己的内部寄存器上,最后通过系统总线把这些数据存放到主内存上。如果这个外设有一定的缓存能力的话,CPU就可以再一次中断周期中从外设的缓存中接受若干字节的数据。当数据传输完毕之后,CPU就恢复之前工作状态的环境并继续进行中断前的任务。大家可以看到这样的传输是分两步进行的,就是数据先从外设到CPU,再从CPU到主内存,两个步骤都要求系统总线被占用;而在一个DMA模式的传输方式下,CPU并不参与工作,当一个DMA外设要传输数据的时候,它产生一个DMA请求信号到系统的DMA控制器上,DMA控制器接着控制系统总线并称为传输过程中的第三方,扮演着在外设与内存间的中间人角色,数据就可以直接从外设传送到内存上,完毕后DMA控制器就释放就系统总线的控制,等待下一个DMA请求信号。在有些系统中CPU在系统总线被别的设备控制的时候是不能工作的,而另外一些系统则可以,因为CPU有一定数量的缓存,CPU可以在缓存中继续读取指令并执行它。这样CPU在DMA传输中仍然可以不间断的工作。
DMA可以给电脑系统带来可观的性能提升,从上面的对比可以看到,由于使用的是DMA传输,CPU可以不花费额外的指令周期去保存中断现场的状态信息(通常这些工作要花费几个指令周期),从而使执行效率增加,速度加快。
DMA同样也可以减少外设的产品成本。从外设发出中断请求到开始输出数据的这段时间称为中断时延,如果外设是类似与软盘、以太网卡或者数字视频流之类数据源,中断时延的产生将造成数据不能及时的流出,解决这个问题只能够在外设上使用缓存,而缓存带来的成本提高和需要额外的集成板上/片上缓存控制器都不利于降低设备成本.而DMA设备只话很少的时间就可以把数据近乎实时的送出,所以可以只用很少甚至不用缓存,这在生产上便有相当的优势了。
PC卡中DMA与CardBus的联系
虽然最新的PC卡标准同时发布了PC卡中 DMA与CardBus的规范,但是两者使用起来确实有很多不同之处的。
CardBus提供了与CPU通信的更宽更告诉的带宽,另外它同时可以允许外设称为总线的控制者。具体说就是可以让外设在不通过DMA控制器的情况下直接控制系统总线,这样外设就可以在要把数据传输到什么地方,怎么传输等方面有更多的自由度。当然这样的自由度提升是要付出一定的额外成本代价的,因为CradBus外设比起DMA外设通常需要更多的电路来实现总线控制配置。
市场接受因素
关于是DMA还是CardBus哪种界面会更加流行的争论现在仍然在继续着。DMA作为对以往PC卡标准的微小改动比较容易被生产厂商与软件设计者接受,而CardBus由于可以说是PC卡标准上的一项重大改革要让人采纳可能会遇到一定困难;一些CardBus支持者认为今后所有的PC卡都会以高性能的CardBus的界面出现,而DMA的支持者则相信CardBus的接受比想象中的要慢并且DMA若然有相当长的生命周期。不过现在市场上的情况就是两家各自拥有一定应用领域。
另外一个重要因素就是成本,在对成本十分敏感的PC市场上,通常低价的会胜出。所以成本相对较高的CardBus卡如何能够与DMA分庭抗礼的对于CardBus以后发展的路很重要,大家还记得当初Rambus与DDR之争吧。
Zoom Video (ZV)
很多朋友有时候留意自己电脑PC卡槽外部都会察觉到上满写有"ZV"这样的两个字,其实这就是说明机子上的PC卡控制器支持Zoom Video这种功能。ZV卡既可以是一种16位卡也可以是32位的CardBus卡,与CardBus卡一样也拥有总线控制的能力,它可以在没有CPU和DMA引擎参与的情况下传输自己的数据。它的诞生目的很明确,就是要把从PC卡端的数据源与主机的显示适配器直接连接起来。
ZV规范给视频直播、视频采集、电视调谐器、游戏或者电影的MPEG解码器提供了一个低成本,全帧速的视频显示通道。这种功能可以通过两个方法实现,其一就是直接在ZV界面上通过PC卡的ZV旁路直接输送到视频控制器,其二是通过PCI-CardBus的卡桥控制器输出到视频显示器。如图所示。ZV卡的端口允许PC卡本身的视频信号直接输送至VGA的帧缓存。所以说ZV端口是PC卡适配器和显示适配器之间的快车道,这种视频数据的传输是近乎实时的,不需要PC卡的任何缓冲,而且也不会额外占用系统的PCI总线,因为所有的数据传输都是直接建立在ZV总线上的。
ZV的诞生与应用领域
相当大的一部分多媒体应用进涉及到通过硬件或者软件的解码器对单一视频流的解码工作,这样仅仅是PCI总线即可以胜任了,那么还为什么要采用ZV总线呢?
原因是在某些多媒体应用方面和游戏要求有一条专用的视频总线。在单一的PCI总线上运行这些程序会影响到系统的性能,因为使用同一条PCI总线的多个控制者之间会互相争夺资源;另外,象windows95这类没有完善的多任务处理的操作系统也会造成掉帧。这些问题可以通过引入另外一条"PCI"总线来解决,但是这将提高系统集成的成本。一个可行的方案就是使用一条低成本的辅助总线来为PCI总线降低负荷,于是ZV-port就应运而生了。
ZV Port诞生的使命可以在以下的应用领域里头看出来"
实时视频源的直播/采集:在这样应用下,系统要求60幅相互交织的视频必须无间断的从视频源传输到目的地(例如显示器),首先面临的就是一个连续性的问题。一个有着单一PCI总线的系统可以处理直播的视频,但是实践中确经常出现带宽不够用的情况,唯一避免让我们视觉受罪的方法就是在视频源处使用缓存来缓冲起码一幅以上的视频帧。如果系统要是用一条专用的ZV 总线的话,视频数据就可以通过它直接传送到显示适配器上,而CPU或者基于PCI的DSP就可以用来处理对视频信号的数字化以及保存到硬盘上。这就是真正的"所看即所得"的操作。
基于MPEG的游戏:
如果仅仅是处理MPEG回放的话,PCI总线也可以胜任,但是如果要同时处理游戏中的大量3D贴图,PCI总线可能就会过载了,为了避免游戏画面的不连贯,基于ZV的MPEG解码器可以直接为显存输送视频,而把CPU和在PCI总线上的显卡全力用于3D图象的渲染方面。
随着有AGP总线的芯片组在移动电脑上的出现,ZV 的作用就相对减弱了。不过在MPEG回放的应用中,ZV卡还是可以很大的降低CPU占用率的。


