搞硬件或通信的“攻城狮”们,免不了要和各种通信协议及接口打交道。比如,我们经常接触PCI、PCI-X、PCI-E、PCI-E Card、Mini PCI-E、M.2(NGFF)、Add-in Card这些概念,作为“攻城狮”队伍中的一员,你搞清楚它们之间的关系了吗?搞不清楚?It Doesn't Matter,且看下文分解。
PCI
西汉·贾谊之《过秦论》曰:“及至始皇,奋六世之余烈,振长策而御宇内,吞二周而亡诸侯,履至尊而制六合,执敲扑而鞭笞天下,威振四海。”
经历了ISA、MCA、EISA和VLB先祖们在通信协议领域“四世”之“奋”以后,Intel于1991年提出了PCI(Peripheral Component Interconnect)“外围组件互连”总线协议;且召集些许伙伴,成立PCI-SIG(PCI Special Interest Group)“PCI特别兴趣小组”,负责该标准的制定和推广工作,从此在电子和通信领域“威振四海”。
PCI属于并行的共享总线,时钟为33MHz,位宽为32bit,所以其最大数据传输速率仅为33MHz * 32bit = 1056Mb/s = 132MB/s,基本上满足了当时处理器的发展需要。随着对更高性能的要求,将总线的时钟频率提升到66MHz,意味着通信速率翻倍,达到264MB/s,可以为当时的声卡、网卡等设备提供数据通信,但对日益发展的显示技术或显卡来说,越来越吃力。
PCI-X
1993年,将位宽扩展到64bit,这就是PCI-X(PCI eXtended),“extended”就是“扩展”的意思。对的,就是这么简单粗暴。至于这里为何取“X”而不是首字母“E”,可能是因为“X”比较牛逼吧。“X”在数学中表示未知和无限;在社会界中还有“完美”“极致”等含义,比如“宝马X5”和“宝马X6”,硅谷钢铁侠埃隆·马斯克的“SpaceX(Space Exploration Technologies Corp)”,高通的“X24 Chipsets”和“X55 Chipsets”(这里的X55套片,正是移远5G模组RM500Q/RM510Q/RG500Q所用),Intel ATOM X系列处理器,Thinkpad X系列轻薄高端笔电,等等。
同时,PCI-X支持三种不同的时钟频率,即33MHz、100MHz和133MHz(意味着其最高速率可达133MHz * 64bit/8 = 1GB/s),可根据后端设备的不同而调整。PCI-X 的产品应用主要是服务器。
PCI和PCI-X都属于并行的共享总线,且是单端信号(Single-end Signal);类似于I2C总线,想要使用,先要申请,再由主机仲裁。因为是分时复用,共享总线会限制数据传输速率,且单端信号更容易受干扰,这就引出了后面速率更快的PCI-E总线协议规范。
PCI-E
PCI-E总线,也可简写成“PCIe”,其中的“E”是“Express”的简写,意思就是“特别快”。对的,又是这么简单粗暴。你且看一大堆快递品牌的Logo中也有“Express”这个词,都标榜自己很快。
不同于PCI和PCI-X的并行共享总线属性,PCI-E属于串行独立总线,且是差分信号(Differential Signal),抗干扰能力更强,也意味着传输速率可以更高。数据支持x1、x4、x8、x16和x32几种位宽(也称为lane的概念,每lane包含输入和输出两对差分线,分别对应为1 lane、4 lane、8 lane、16 lane和32 lane)。
如下图所示,Root Complex(RC)为PCI-E通信中的根设备(相当于总线控制器),其上可以挂多个端点设备Endpoint(EP),二者之间是点对点通信;且PCI-E总线支持用PCI-E Packet Switch IC来扩展EP设备的数量。
如前所述,PCI和PCI-X采用单端信号通信,PCI-E采用差分信号通信,二者信号是不可以直接相连的。但是,新技术往往需要兼容老技术,以便各类产品可以平滑升级。此时,可以使用PCI-E to PCI / PCI-X Bridge IC桥接PCI-E设备和PCI / PCI-X设备。
PCI-E Card
PCI-E Card是规范“PCI Express Card Electromechanical Specification”的简称;通常,也将满足该规范的模组产品称为PCI-E Card,比如台式机上的内存条、声卡、显卡和网卡等模组产品。
PCI-E Card规范的电源输入为+12V和+3.3V两个,系统板Slot上能够提供的功率高达75W (12V, 6.25A),其上协议类型只支持PCI-E协议。
PCI-E规范或PCI-E Card规范,主要用于台式机上的内存条、声卡、显卡和网卡等较大型的设备,可以认为其上只有PCI-E信号,主电源输入为+12V。随着移动通信的发展,移动终端需要的元器件和模组的尺寸也越来越小。PCI-E总线也与时俱进,推出了Mini PCI-E规范。
Mini PCI-E
Mini PCI-E是规范“PCI Express Mini Card Electromechanical Specification”的简称,针对移动通信终端的需求,在对Add-in Card尺寸进行小型化的基础上,同时扩展加入了UIM Interface、W_DISABLE# 和 LED_WPAN# / LED_WLAN# / LED_WWAN# 指示信号;其电源输入为+3.3V和+1.5V。
M.2 (NGFF)
如前所述,PCI、PCI-X和PCI-E,这些都属于总线协议,是协议层的概念,规范了数据传输格式及速率等内容。而M.2属于物理层接口规范,是为了供应链上不同厂家的产品可以相互兼容;它的曾用名“NGFF(Next Generation Form Factor)”更能体现M.2的特质,但是,既然标准都用“PCI Express M.2 Specification”这样的名字了,大家还是要与时俱进,所以通常也简称为“M.2规范”。
“PCI Express M.2 Specification”对“M.2”的定义为“The M.2 form factor is used for Mobile Add-In cards. The M.2 is a natural transition from the Mini Card and Half-Mini Card to a smaller form factor in both size and volume.”。
它主要规范了M.2支持的协议类型、M.2模组的接口形式、M.2模组的尺寸大小。
M.2规范支持的协议类型有PCI-E、HSIC、SSIC、USB、SDIO、UART、PCM/I2S、I2C、SATA、Display Port,以及WiFi、BT和NFC等,其中比较常用的是PCI-E、USB和UART。
M.2规范定义的接口形式有两种,即连接器形式(Connectorized)和贴片形式(Soldered-down)。
M.2规范定义的连接器形式的模组尺寸有1630/2230/3030/3042/22110等多种,如Quectel EM12模组的物理尺寸类型名为“Type 3042-S3-B”,其中“3042”表示模组尺寸为30mm*42mm,“S3”表示模组为单面摆件(Single)且高度限制在1.5mm以内,“B”表示缺口编号;具体可参考“PCI Express M.2 Specification”中的“Figure 3. M.2 Naming Nomenclature”。贴片形式的M.2模组只有1216/2226/3026三种LGA封装尺寸;可参考规范中的“2.3.5 Soldered-down Form Factors”。针对SSD(Solid State Drive)应用,也规定了1620/2024/2228/2828四种BGA封装尺寸,但由于各种原因,较少应用;可参考“2.3.6 Soldered-down Form Factors for BGA SSDs”。
综上,可以认为M.2规范是PCI-E规范大集合中的子集,主要为PCI-E服务,但又不完全只服务于PCI-E,基于其他很多总线协议的模组也可以使用M.2规范的物理接口形式。
Add-in Card
M.2规范中对“Add-in Card”的定义为“A card or module that is plugged into a connector and mounted in a chassis socket.”可见“Add-in Card”的概念基本等同于“Module”,在PCI-E Card规范中可称为“PCI-E Card Add-in Card”,在Mini PCIe规范中称为“PCIe Mini Card Add-in Card”,在M.2规范中称为“PCIe M.2 Card Add-in Card”。因此,在广义上,基于PCI-E协议的模组类产品,都可称之为“Add-in Card”。
比如早已远播大名的鼎鼎(哦,不,人家不叫“鼎鼎”,而是叫“RM500Q”),从这方面说,也可以叫做Add-in Card,是一种基于PCIe总线协议、M.2物理接口的Add-in Card或Module。
总结
我们这次对“PCI、PCI-X、PCI-E、Mini PCI-E、M.2、Add-in Card”这些概念进行了简介,为了更简单地区分它们,将它们的基本特点总结如下:
PCI:单端信号,并行共享总线,时钟33MHz或66MHz,最大支持32 lane;电源输入为+12V。
PCI-X:单端信号,并行共享总线,时钟33MHz、100MHz或133MHz,最大支持64 lane;电源输入为+12V。
PCI-E:差分信号,串行独立总线,规范3.0的时钟频率高达4GHz,最大支持32 lane;电源输入为+12V;用于声卡、网卡和显卡等。
PCI-E Card:基于PCI-E总线协议和物理接口的模组规范。
Mini PCI-E:差分信号,串行独立总线,在PCI-E的基础上,为满足移动通信终端的需求而将尺寸小型化,并扩展了UIM Interface、W_DISABLE# 和 LED_WPAN# / LED_WLAN# / LED_WWAN# 指示信号;其电源输入为+3.3V和+1.5V,金手指共52个引脚;用于笔记本电脑等移动终端。
M.2:从Mini PCI-E演化而来,物理接口规范,扩展应用范围支持USB和UART等总线协议;电源输入为+3.3V,金手指共75个引脚。
Add-in Card:广义上,PCI-E Card、Mini PCI-E Card和PCI-E M.2 Card,都属于Add-in Card的概念,都算是Add-in Card的子集。
注:图片来源于网络,如有侵权,联系删除。