搞硬件或通信的“攻城獅”們,免不了要和各種通信協(xié)議及接口打交道。比如,我們經(jīng)常接觸PCI、PCI-X、PCI-E、PCI-E Card、Mini PCI-E、M.2(NGFF)、Add-in Card這些概念,作為“攻城獅”隊伍中的一員,你搞清楚它們之間的關(guān)系了嗎?搞不清楚?It Doesn't Matter,且看下文分解。
PCI
西漢·賈誼之《過秦論》曰:“及至始皇,奮六世之余烈,振長策而御宇內(nèi),吞二周而亡諸侯,履至尊而制六合,執(zhí)敲撲而鞭笞天下,威振四海。”
經(jīng)歷了ISA、MCA、EISA和VLB先祖?zhèn)冊谕ㄐ艆f(xié)議領(lǐng)域“四世”之“奮”以后,Intel于1991年提出了PCI(Peripheral Component Interconnect)“外圍組件互連”總線協(xié)議;且召集些許伙伴,成立PCI-SIG(PCI Special Interest Group)“PCI特別興趣小組”,負責該標準的制定和推廣工作,從此在電子和通信領(lǐng)域“威振四海”。
PCI屬于并行的共享總線,時鐘為33MHz,位寬為32bit,所以其最大數(shù)據(jù)傳輸速率僅為33MHz * 32bit = 1056Mb/s = 132MB/s,基本上滿足了當時處理器的發(fā)展需要。隨著對更高性能的要求,將總線的時鐘頻率提升到66MHz,意味著通信速率翻倍,達到264MB/s,可以為當時的聲卡、網(wǎng)卡等設(shè)備提供數(shù)據(jù)通信,但對日益發(fā)展的顯示技術(shù)或顯卡來說,越來越吃力。
PCI-X
1993年,將位寬擴展到64bit,這就是PCI-X(PCI eXtended),“extended”就是“擴展”的意思。對的,就是這么簡單粗暴。至于這里為何取“X”而不是首字母“E”,可能是因為“X”比較牛逼吧。“X”在數(shù)學中表示未知和無限;在社會界中還有“完美”“極致”等含義,比如“寶馬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),可根據(jù)后端設(shè)備的不同而調(diào)整。PCI-X 的產(chǎn)品應用主要是服務器。
PCI和PCI-X都屬于并行的共享總線,且是單端信號(Single-end Signal);類似于I2C總線,想要使用,先要申請,再由主機仲裁。因為是分時復用,共享總線會限制數(shù)據(jù)傳輸速率,且單端信號更容易受干擾,這就引出了后面速率更快的PCI-E總線協(xié)議規(guī)范。
PCI-E
PCI-E總線,也可簡寫成“PCIe”,其中的“E”是“Express”的簡寫,意思就是“特別快”。對的,又是這么簡單粗暴。你且看一大堆快遞品牌的Logo中也有“Express”這個詞,都標榜自己很快。
不同于PCI和PCI-X的并行共享總線屬性,PCI-E屬于串行獨立總線,且是差分信號(Differential Signal),抗干擾能力更強,也意味著傳輸速率可以更高。數(shù)據(jù)支持x1、x4、x8、x16和x32幾種位寬(也稱為lane的概念,每lane包含輸入和輸出兩對差分線,分別對應為1 lane、4 lane、8 lane、16 lane和32 lane)。
如下圖所示,Root Complex(RC)為PCI-E通信中的根設(shè)備(相當于總線控制器),其上可以掛多個端點設(shè)備Endpoint(EP),二者之間是點對點通信;且PCI-E總線支持用PCI-E Packet Switch IC來擴展EP設(shè)備的數(shù)量。
如前所述,PCI和PCI-X采用單端信號通信,PCI-E采用差分信號通信,二者信號是不可以直接相連的。但是,新技術(shù)往往需要兼容老技術(shù),以便各類產(chǎn)品可以平滑升級。此時,可以使用PCI-E to PCI / PCI-X Bridge IC橋接PCI-E設(shè)備和PCI / PCI-X設(shè)備。
PCI-E Card
PCI-E Card是規(guī)范“PCI Express Card Electromechanical Specification”的簡稱;通常,也將滿足該規(guī)范的模組產(chǎn)品稱為PCI-E Card,比如臺式機上的內(nèi)存條、聲卡、顯卡和網(wǎng)卡等模組產(chǎn)品。
PCI-E Card規(guī)范的電源輸入為+12V和+3.3V兩個,系統(tǒng)板Slot上能夠提供的功率高達75W (12V, 6.25A),其上協(xié)議類型只支持PCI-E協(xié)議。
PCI-E規(guī)范或PCI-E Card規(guī)范,主要用于臺式機上的內(nèi)存條、聲卡、顯卡和網(wǎng)卡等較大型的設(shè)備,可以認為其上只有PCI-E信號,主電源輸入為+12V。隨著移動通信的發(fā)展,移動終端需要的元器件和模組的尺寸也越來越小。PCI-E總線也與時俱進,推出了Mini PCI-E規(guī)范。
Mini PCI-E
Mini PCI-E是規(guī)范“PCI Express Mini Card Electromechanical Specification”的簡稱,針對移動通信終端的需求,在對Add-in Card尺寸進行小型化的基礎(chǔ)上,同時擴展加入了UIM Interface、W_DISABLE# 和 LED_WPAN# / LED_WLAN# / LED_WWAN# 指示信號;其電源輸入為+3.3V和+1.5V。
M.2 (NGFF)
如前所述,PCI、PCI-X和PCI-E,這些都屬于總線協(xié)議,是協(xié)議層的概念,規(guī)范了數(shù)據(jù)傳輸格式及速率等內(nèi)容。而M.2屬于物理層接口規(guī)范,是為了供應鏈上不同廠家的產(chǎn)品可以相互兼容;它的曾用名“NGFF(Next Generation Form Factor)”更能體現(xiàn)M.2的特質(zhì),但是,既然標準都用“PCI Express M.2 Specification”這樣的名字了,大家還是要與時俱進,所以通常也簡稱為“M.2規(guī)范”。
“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.”。
它主要規(guī)范了M.2支持的協(xié)議類型、M.2模組的接口形式、M.2模組的尺寸大小。
M.2規(guī)范支持的協(xié)議類型有PCI-E、HSIC、SSIC、USB、SDIO、UART、PCM/I2S、I2C、SATA、Display Port,以及WiFi、BT和NFC等,其中比較常用的是PCI-E、USB和UART。
M.2規(guī)范定義的接口形式有兩種,即連接器形式(Connectorized)和貼片形式(Soldered-down)。
M.2規(guī)范定義的連接器形式的模組尺寸有1630/2230/3030/3042/22110等多種,如Quectel EM12模組的物理尺寸類型名為“Type 3042-S3-B”,其中“3042”表示模組尺寸為30mm*42mm,“S3”表示模組為單面擺件(Single)且高度限制在1.5mm以內(nèi),“B”表示缺口編號;具體可參考“PCI Express M.2 Specification”中的“Figure 3. M.2 Naming Nomenclature”。貼片形式的M.2模組只有1216/2226/3026三種LGA封裝尺寸;可參考規(guī)范中的“2.3.5 Soldered-down Form Factors”。
針對SSD(Solid State Drive)應用,也規(guī)定了1620/2024/2228/2828四種BGA封裝尺寸,但由于各種原因,較少應用;可參考“2.3.6 Soldered-down Form Factors for BGA SSDs”。
綜上,可以認為M.2規(guī)范是PCI-E規(guī)范大集合中的子集,主要為PCI-E服務,但又不完全只服務于PCI-E,基于其他很多總線協(xié)議的模組也可以使用M.2規(guī)范的物理接口形式。
Add-in Card
M.2規(guī)范中對“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規(guī)范中可稱為“PCI-E Card Add-in Card”,在Mini PCIe規(guī)范中稱為“PCIe Mini Card Add-in Card”,在M.2規(guī)范中稱為“PCIe M.2 Card Add-in Card”。因此,在廣義上,基于PCI-E協(xié)議的模組類產(chǎn)品,都可稱之為“Add-in Card”。
比如早已遠播大名的鼎鼎(哦,不,人家不叫“鼎鼎”,而是叫“RM500Q”),從這方面說,也可以叫做Add-in Card,是一種基于PCIe總線協(xié)議、M.2物理接口的Add-in Card或Module。
總結(jié)
我們這次對“PCI、PCI-X、PCI-E、Mini PCI-E、M.2、Add-in Card”這些概念進行了簡介,為了更簡單地區(qū)分它們,將它們的基本特點總結(jié)如下:
PCI:單端信號,并行共享總線,時鐘33MHz或66MHz,最大支持32 lane;電源輸入為+12V。
PCI-X:單端信號,并行共享總線,時鐘33MHz、100MHz或133MHz,最大支持64 lane;電源輸入為+12V。
PCI-E:差分信號,串行獨立總線,規(guī)范3.0的時鐘頻率高達4GHz,最大支持32 lane;電源輸入為+12V;用于聲卡、網(wǎng)卡和顯卡等。
PCI-E Card:基于PCI-E總線協(xié)議和物理接口的模組規(guī)范。
Mini PCI-E:差分信號,串行獨立總線,在PCI-E的基礎(chǔ)上,為滿足移動通信終端的需求而將尺寸小型化,并擴展了UIM Interface、W_DISABLE# 和 LED_WPAN# / LED_WLAN# / LED_WWAN# 指示信號;其電源輸入為+3.3V和+1.5V,金手指共52個引腳;用于筆記本電腦等移動終端。
M.2(NGFF):從Mini PCI-E演化而來,物理接口規(guī)范,擴展應用范圍支持USB和UART等總線協(xié)議;電源輸入為+3.3V,金手指共75個引腳。
Add-in Card:廣義上,PCI-E Card、Mini PCI-E Card和PCI-E M.2 Card,都屬于Add-in Card的概念,都算是Add-in Card的子集。