并行接口的沒落與串行接口的崛起
雖然并行接口在許多領(lǐng)域曾經(jīng)廣泛使用,但隨著信號(hào)完整性要求的提高和傳輸速率的提升,許多并行接口逐步被高速串行接口(如 PCIe、SATA、以太網(wǎng)等)取代。然而,并行接口仍在一些嵌入式系統(tǒng)和專用場(chǎng)景中保留了優(yōu)勢(shì),如 DDR 內(nèi)存,仍然不可或缺。
本文引用地址:http://www.biyoush.com/article/202412/465393.htm一、并行接口的沒落
在計(jì)算機(jī)和電子設(shè)備的發(fā)展歷史中,并行接口曾一度占據(jù)主導(dǎo)地位。并行接口通過多條數(shù)據(jù)線同時(shí)傳輸多個(gè)比特位的數(shù)據(jù),具備較高的帶寬性能。然而,隨著技術(shù)的發(fā)展,并行接口逐漸被串行接口所取代。這一轉(zhuǎn)變的主要原因在于并行接口固有的一些缺陷:
信號(hào)干擾:并行接口需要多條信號(hào)線,這些線之間的電磁干擾會(huì)限制信號(hào)完整性,特別是在高頻率下。
布線復(fù)雜度:并行接口的信號(hào)線數(shù)量多,PCB布線復(fù)雜,容易增加成本和設(shè)計(jì)難度。
同步難度:在高頻情況下,保持所有信號(hào)線同步(即數(shù)據(jù)到達(dá)的時(shí)間一致)變得極具挑戰(zhàn)性。
常見的并行接口
以下是一些經(jīng)典的并行接口:
IDE (Integrated Drive Electronics):用于連接硬盤和主板,后來被串行接口SATA取代。
PCI (Peripheral Component Interconnect):并行的計(jì)算機(jī)總線標(biāo)準(zhǔn),逐步被PCI Express(串行接口)替代。
Centronics:用于連接打印機(jī),逐步被USB取代。
并行端口(Parallel Port):主要用于外設(shè)連接,例如打印機(jī)和掃描儀,也已逐漸淘汰。
串行接口相對(duì)并行接口的優(yōu)勢(shì)
串行接口通過一條或少量幾條數(shù)據(jù)線傳輸數(shù)據(jù),相較于并行接口,具有以下優(yōu)勢(shì):
減少干擾:減少信號(hào)線數(shù)量降低了線間干擾,提高了信號(hào)完整性。
簡(jiǎn)化布線:減少引腳和PCB布線復(fù)雜性,降低了制造成本。
更高的頻率:串行接口的點(diǎn)對(duì)點(diǎn)傳輸設(shè)計(jì)允許更高的傳輸速率。
同步簡(jiǎn)化:在串行接口中,通常只需同步一條數(shù)據(jù)線和一條時(shí)鐘線(或者通過嵌入時(shí)鐘的方法實(shí)現(xiàn)同步)。
適應(yīng)性強(qiáng):串行接口可以支持更長(zhǎng)的傳輸距離,同時(shí)減少衰減。
二、串行接口的關(guān)鍵技術(shù)
串行接口的實(shí)現(xiàn)在芯片原理上涉及多個(gè)核心技術(shù),包括數(shù)據(jù)的串/并轉(zhuǎn)換、異步和同步通信的處理、時(shí)鐘管理及恢復(fù)等。以下將詳細(xì)探討這些關(guān)鍵點(diǎn):
1. 數(shù)據(jù)的串/并轉(zhuǎn)換
(1) 并行到串行轉(zhuǎn)換 (Parallel-to-Serial Conversion)
在串行接口中,數(shù)據(jù)通常由寬并行總線(如8位或16位)轉(zhuǎn)換為單比特流傳輸。關(guān)鍵步驟:
移位寄存器 (Shift Register):
并行數(shù)據(jù)寫入寄存器,時(shí)鐘信號(hào)控制每次移位一位,將數(shù)據(jù)按位輸出為串行流。
例如:8位數(shù)據(jù)
10110011
在 8 個(gè)時(shí)鐘周期內(nèi)輸出每一位。
串行到并行的過程比較好理解,實(shí)現(xiàn)方法也比較多,下圖只是實(shí)例幫助理解,具體一般都是用Verilog或者VHDL語言描述。
(2) 串行到并行轉(zhuǎn)換 (Serial-to-Parallel Conversion)
接收端需將串行數(shù)據(jù)重組為并行數(shù)據(jù):
移位寄存器:
數(shù)據(jù)通過串行輸入端逐位移入寄存器。
當(dāng)寄存器滿后(如8位),輸出并行數(shù)據(jù)給處理單元。
(3) 雙緩沖機(jī)制:
為提高吞吐量,通常采用雙緩沖機(jī)制,允許數(shù)據(jù)轉(zhuǎn)換和傳輸同時(shí)進(jìn)行。
2. 異步和同步通信
串行接口的關(guān)鍵在于如何保持?jǐn)?shù)據(jù)收發(fā)雙方同步
(1) 異步通信 (Asynchronous Communication)
**定義:**數(shù)據(jù)傳輸中發(fā)送端和接收端的時(shí)鐘無直接關(guān)聯(lián)。
幀結(jié)構(gòu):
起始位 (Start Bit):標(biāo)志傳輸開始。
數(shù)據(jù)位 (Data Bits):實(shí)際傳輸?shù)膬?nèi)容,通常為 8 位或其他配置值。
校驗(yàn)位 (Parity Bit):用于簡(jiǎn)單錯(cuò)誤檢測(cè)。
停止位 (Stop Bit):標(biāo)志幀結(jié)束,提供接收端時(shí)間校準(zhǔn)。
實(shí)現(xiàn)要點(diǎn):
**波特率 (Baud Rate):**發(fā)送端和接收端必須配置一致。
**采樣定時(shí)器:**接收端通過內(nèi)部采樣時(shí)鐘檢測(cè)起始位并鎖定數(shù)據(jù)位。
(2) 同步通信 (Synchronous Communication)
**定義:**發(fā)送端和接收端共享同一個(gè)時(shí)鐘。
時(shí)鐘傳輸:
**獨(dú)立時(shí)鐘線:**如 SPI 協(xié)議,通過
SCLK
提供同步時(shí)鐘信號(hào)。**嵌入時(shí)鐘:**如 Manchester 編碼,時(shí)鐘嵌入數(shù)據(jù)流中,接收端需恢復(fù)時(shí)鐘。
實(shí)現(xiàn)要點(diǎn):
主設(shè)備控制時(shí)鐘,數(shù)據(jù)按時(shí)鐘邊沿采樣。
接收端無需校準(zhǔn)波特率,減少時(shí)序偏移問題。
3. 時(shí)鐘處理
(1) 同步時(shí)鐘的生成與分配
片上時(shí)鐘生成器 (Clock Generator):通過晶振和鎖相環(huán) (PLL) 生成穩(wěn)定時(shí)鐘信號(hào)。
分頻器:根據(jù)協(xié)議要求,生成合適頻率的通信時(shí)鐘。
(2) 異步時(shí)鐘的采樣與校準(zhǔn)
采樣率:通常為波特率的 16 倍或更高,確保高精度采樣。
起始位檢測(cè):利用采樣點(diǎn)檢測(cè)電平變化,以鎖定起始位位置。
4. 時(shí)鐘恢復(fù)
在某些協(xié)議中,接收端需從數(shù)據(jù)流中恢復(fù)時(shí)鐘信號(hào)。
(1) 從異步數(shù)據(jù)流恢復(fù)時(shí)鐘
邊沿檢測(cè):通過檢測(cè)信號(hào)的上升沿或下降沿,重新生成采樣時(shí)鐘。
數(shù)字鎖相環(huán) (DPLL):用于動(dòng)態(tài)調(diào)整時(shí)鐘頻率,以匹配發(fā)送端時(shí)鐘。
(2) 嵌入時(shí)鐘的提取
編碼機(jī)制:如 Manchester 編碼或 8b/10b 編碼,時(shí)鐘信號(hào)與數(shù)據(jù)流同時(shí)傳輸。
相位對(duì)齊:通過解碼模塊將時(shí)鐘從數(shù)據(jù)中提取并對(duì)齊。
三、常見的串行接口
串行接口按照速率可分為低速和高速接口:
低速串行接口
UART (Universal Asynchronous Receiver Transmitter):
一種異步接口,常用于短距離通信。
應(yīng)用:嵌入式設(shè)備、傳感器通信等。
I2C (Inter-Integrated Circuit):
一種雙線的同步串行通信接口,適合主從架構(gòu)。
應(yīng)用:芯片間通信(如MCU和EEPROM之間)。
SPI (Serial Peripheral Interface):
高速的全雙工同步通信協(xié)議,適合主從設(shè)備。
應(yīng)用:外設(shè)通信,如顯示屏、傳感器。
USB (Universal Serial Bus):
從USB 1.0到USB 4的演變提供了逐步提升的帶寬和兼容性。
應(yīng)用:幾乎所有的外設(shè)連接。
SATA (Serial ATA):
替代了并行ATA,用于硬盤連接。
特點(diǎn):點(diǎn)對(duì)點(diǎn)連接,傳輸速率高。
PCIe (Peripheral Component Interconnect Express):
串行接口,用于計(jì)算機(jī)內(nèi)部高速設(shè)備互連,如顯卡和固態(tài)硬盤。
特點(diǎn):支持多通道(x1、x4、x8等)并行。
Thunderbolt:
高速通用接口,支持?jǐn)?shù)據(jù)、視頻和電源的復(fù)用。
應(yīng)用:高性能設(shè)備連接。
MIPI DSI/CSI:
針對(duì)移動(dòng)設(shè)備的高速接口,用于顯示(DSI)和攝像頭(CSI)。
高速數(shù)據(jù)傳輸:每秒傳輸數(shù) Gbps 或更高,需要優(yōu)化物理層和協(xié)議層設(shè)計(jì)。
差分信號(hào):高速接口通常使用差分信號(hào)(如 PCIe 的 TX+/TX-),增強(qiáng)抗干擾能力并減少電磁輻射 (EMI)。
嵌入時(shí)鐘:時(shí)鐘和數(shù)據(jù)在同一信號(hào)中傳輸(如 PCIe 和 SATA),減少引腳數(shù)量,簡(jiǎn)化連接。并且有一系列優(yōu)化SI的手段。
多通道:支持多通道并行傳輸(如 PCIe 的 x1、x4、x8 通道配置)。
串行器/解串器 (SerDes):
高速接口中,SerDes 是數(shù)據(jù)串行化和解串行化的核心模塊。解串器從接收的串行數(shù)據(jù)流中提取時(shí)鐘。
根據(jù)時(shí)鐘信號(hào)將串行數(shù)據(jù)重新轉(zhuǎn)換為并行數(shù)據(jù)。
并行數(shù)據(jù)經(jīng)并行總線輸入串行器。
使用高速移位寄存器將數(shù)據(jù)按位輸出,同時(shí)嵌入時(shí)鐘信號(hào)。
發(fā)送端:
接收端:
SerDes 的速率匹配:通常采用片上鎖相環(huán) (PLL) 精確控制數(shù)據(jù)傳輸速率。
嵌入時(shí)鐘:
在高速傳輸中,通過編碼技術(shù)(如 8b/10b 或 64b/66b 編碼)將時(shí)鐘信號(hào)嵌入數(shù)據(jù)流,簡(jiǎn)化布線并提高可靠性。
時(shí)鐘恢復(fù):
接收端通過鎖相環(huán) (PLL) 或時(shí)鐘數(shù)據(jù)恢復(fù) (CDR) 技術(shù)提取嵌入的時(shí)鐘信號(hào)。
相位對(duì)齊:利用數(shù)據(jù)的過零點(diǎn)調(diào)整時(shí)鐘相位,確保數(shù)據(jù)采樣正確。
雙端傳輸:高速接口采用差分對(duì)(如 PCIe 的 TX+/TX-),兩個(gè)信號(hào)電平相反,增強(qiáng)抗干擾能力。
優(yōu)點(diǎn):
抵消電磁干擾 (EMI)。
提高信號(hào)完整性,尤其在高頻信號(hào)中減少串?dāng)_。
PCI(并行總線):
使用共享時(shí)鐘信號(hào),所有設(shè)備按總線仲裁機(jī)制輪流訪問總線。
存在時(shí)鐘偏差和信號(hào)完整性問題,限制了傳輸速率。
PCIe(點(diǎn)對(duì)點(diǎn)串行總線):
物理層:SerDes 負(fù)責(zé)數(shù)據(jù)串行化和解串行化。
數(shù)據(jù)鏈路層:處理數(shù)據(jù)包分組和錯(cuò)誤校驗(yàn)。
事務(wù)層:支持高層協(xié)議(如內(nèi)存讀寫請(qǐng)求)。
點(diǎn)對(duì)點(diǎn)鏈路:每個(gè)設(shè)備有獨(dú)立的通信鏈路,消除總線仲裁延遲。
多通道配置:x1、x4、x8 等通道配置,多個(gè)通道可并行傳輸,提高帶寬。
分層架構(gòu):
架構(gòu):
由并行 ATA 演變而來,采用全雙工串行通信。
使用 8b/10b 編碼,嵌入時(shí)鐘,支持?jǐn)?shù)據(jù)速率高達(dá) 6 Gbps(SATA 3.0)。
工作原理:
主機(jī)通過 SerDes 發(fā)送串行數(shù)據(jù)流,存儲(chǔ)設(shè)備解碼后處理。
雙向鏈路實(shí)現(xiàn)讀寫操作,同時(shí)保持高信號(hào)完整性。
低速到高速的演變:
從最早的 10 Mbps 發(fā)展到 10 Gbps、25 Gbps,甚至 400 Gbps。
關(guān)鍵技術(shù):
物理層:使用差分對(duì)傳輸,支持長(zhǎng)距離傳輸。
編碼:如 PAM4 編碼,通過每個(gè)符號(hào)攜帶更多比特,提高帶寬利用率。
時(shí)鐘恢復(fù):在接收端使用 CDR 技術(shù)精確提取時(shí)鐘。
發(fā)送端:
將并行數(shù)據(jù)以高頻率轉(zhuǎn)換為串行數(shù)據(jù)流。
嵌入時(shí)鐘,減少額外的時(shí)鐘線。
接收端:
從串行數(shù)據(jù)中恢復(fù)時(shí)鐘信號(hào)。
對(duì)串行數(shù)據(jù)解碼并重新組合成并行數(shù)據(jù)。
時(shí)序管理:
使用鎖相環(huán) (PLL) 控制高速信號(hào)的相位和頻率。
減少抖動(dòng) (Jitter),確保數(shù)據(jù)完整性。
抖動(dòng) (Jitter):時(shí)鐘或數(shù)據(jù)信號(hào)的隨機(jī)偏移。需優(yōu)化 PLL 和 SerDes 的設(shè)計(jì)以減少抖動(dòng)。
眼圖 (Eye Diagram):用于分析信號(hào)質(zhì)量,良好的眼圖表示高信號(hào)完整性。
阻抗匹配:差分對(duì)的阻抗需匹配 PCB 走線設(shè)計(jì),避免信號(hào)反射。
去均衡 (De-Emphasis):在發(fā)送端對(duì)高頻成分增加衰減,減少長(zhǎng)距離傳輸中的信號(hào)失真。
無需獨(dú)立時(shí)鐘信號(hào),噪聲干擾更少
高速串口通過編碼技術(shù)(如8b/10b編碼)將時(shí)鐘信息嵌入數(shù)據(jù)流中,而不需要單獨(dú)傳輸時(shí)鐘信號(hào)。數(shù)據(jù)流本身經(jīng)過加擾,避免了長(zhǎng)串相同的比特(如連續(xù)超過5個(gè)0或1),確保時(shí)鐘恢復(fù)的穩(wěn)定性,同時(shí)消除了周期性變化,避免頻譜集中。這種設(shè)計(jì)通過數(shù)據(jù)沿變使用PLL恢復(fù)時(shí)鐘,進(jìn)而采集數(shù)據(jù)流。省去獨(dú)立時(shí)鐘的傳輸不僅顯著降低了功耗,還減少了由時(shí)鐘信號(hào)引入的噪聲干擾。差分傳輸增強(qiáng)抗干擾能力
高速串口采用差分信號(hào)傳輸,當(dāng)外界噪聲同時(shí)作用于兩條差分線時(shí),接收端通過相減可以有效抵消干擾。差分設(shè)計(jì)對(duì)外界噪聲有很強(qiáng)的抵抗能力,確保數(shù)據(jù)傳輸?shù)姆€(wěn)定性。無時(shí)鐘偏移問題
由于高速串口不依賴同步時(shí)鐘,不存在時(shí)鐘與數(shù)據(jù)對(duì)齊的問題。只需保證差分信號(hào)線的長(zhǎng)度匹配即可,這相對(duì)容易實(shí)現(xiàn)。差分信號(hào)的兩條線總是保持相反狀態(tài)且高度相關(guān),即便發(fā)生延時(shí)變化,也可以通過簡(jiǎn)單的延時(shí)補(bǔ)償實(shí)現(xiàn)對(duì)齊。而在并行總線中,由于多根獨(dú)立信號(hào)線的無相關(guān)性,不同信號(hào)線的跳變時(shí)間容易受布線、阻抗和噪聲的影響,從而產(chǎn)生時(shí)鐘偏移問題,導(dǎo)致數(shù)據(jù)傳輸錯(cuò)誤。線少、干擾低
并行傳輸通常需要32或64條信號(hào)線,線間的電磁干擾顯著,尤其在高頻下,可能導(dǎo)致數(shù)據(jù)篡改或誤碼。相比之下,串行傳輸僅需4條線(如Rx和Tx的兩對(duì)差分線)。差分信號(hào)在線路跳變時(shí)會(huì)產(chǎn)生相反的干擾,從而互相抵消,確??傇肼曏呌诹悖苊鈨?nèi)部噪聲問題。并行總線延遲更低:DDR存儲(chǔ)器的一個(gè)核心需求是低延遲。串行總線需要經(jīng)過數(shù)據(jù)序列化和解序列化(SerDes)過程,這會(huì)引入額外的延遲,而DDR接口直接傳輸多條并行數(shù)據(jù)線,延遲更小,更適合需要實(shí)時(shí)響應(yīng)的存儲(chǔ)訪問。
內(nèi)存帶寬與時(shí)延的平衡:DDR接口通過寬度(多條數(shù)據(jù)線并行傳輸)和頻率的結(jié)合來提供高帶寬,而串行接口在達(dá)到相同帶寬時(shí)會(huì)犧牲一些時(shí)延。
內(nèi)存與控制器距離較短:DDR接口設(shè)計(jì)用于處理器和內(nèi)存之間的短距離高帶寬通信。在這種場(chǎng)景下,并行總線可以通過多條線同時(shí)傳輸數(shù)據(jù),高效地利用接口帶寬,而無需像串行總線那樣依賴高頻率來提升速率。
更高的帶寬擴(kuò)展性:并行總線通過增加數(shù)據(jù)位寬(如64位、128位)簡(jiǎn)單直觀地?cái)U(kuò)展帶寬,而串行接口受限于單通道的速率提升,需要更復(fù)雜的設(shè)計(jì)。
節(jié)約SerDes資源:串行總線需要SerDes模塊來實(shí)現(xiàn)高速序列化和解序列化,這增加了成本、功耗和設(shè)計(jì)復(fù)雜性。而并行DDR接口無需額外的SerDes硬件,整體系統(tǒng)功耗更低。
控制信號(hào)復(fù)用困難:DDR接口中控制信號(hào)(如行列選通、地址信號(hào)等)和數(shù)據(jù)是分離的,適合并行總線的傳輸方式。而串行總線需要更復(fù)雜的協(xié)議和邏輯來處理這些信號(hào),可能帶來額外的開銷。
長(zhǎng)期成熟的生態(tài)系統(tǒng):DDR技術(shù)經(jīng)過多年優(yōu)化,已經(jīng)形成了高度成熟的標(biāo)準(zhǔn)和廣泛的支持生態(tài),包括芯片設(shè)計(jì)、PCB布線、信號(hào)完整性工具等。大規(guī)模切換到串行總線需要對(duì)整個(gè)生態(tài)進(jìn)行重構(gòu),成本高昂且技術(shù)風(fēng)險(xiǎn)較大。
布線難度可控:盡管并行總線存在時(shí)鐘偏移問題,但通過技術(shù)手段(如飛線對(duì)齊、信號(hào)校正等)可以有效解決。而串行總線的高速信號(hào)布線要求更高,可能反而在PCB設(shè)計(jì)中增加復(fù)雜度。
高速串行接口
四、串行接口的發(fā)展趨勢(shì)與技術(shù)挑戰(zhàn)
高速接口的實(shí)現(xiàn)(如 PCI、PCIe、SATA、以太網(wǎng)和 SERDES)涉及更復(fù)雜的技術(shù),因?yàn)閿?shù)據(jù)傳輸速率更高,通常達(dá)到數(shù) Gbps 或更高。以下是這些高速接口的關(guān)鍵原理和實(shí)現(xiàn)方法:
1. 串行高速接口的核心特性
2. 高速接口的關(guān)鍵技術(shù)
(1) 串并轉(zhuǎn)換(SerDes)
(2) 時(shí)鐘嵌入與恢復(fù)
(3) 差分信號(hào)傳輸
3. 典型高速接口的實(shí)現(xiàn)
(1) PCI 到 PCIe
(2) SATA(串行ATA)
(3) 以太網(wǎng)(Ethernet)
4. SerDes 在高速接口中的角色
SerDes 是所有高速接口的核心,實(shí)現(xiàn)以下功能:
5. 信號(hào)完整性和高速設(shè)計(jì)
高速接口面臨的主要挑戰(zhàn)是信號(hào)完整性,設(shè)計(jì)中需重點(diǎn)考慮:
五、為什么并行接口線多,卻速率不如串行總線。
六、DDR接口為什么還保留并行,沒有演進(jìn)成串行總線?
DDR接口保持并行傳輸而沒有被串行總線替代,主要是因?yàn)槠涮囟ǖ膽?yīng)用需求和技術(shù)特點(diǎn),使并行傳輸在這一場(chǎng)景中更具優(yōu)勢(shì):
1. 延遲要求苛刻,串行傳輸不具備優(yōu)勢(shì)
2. 高帶寬需求與物理距離限制
3. 成本與功耗的平衡
4. 設(shè)計(jì)和兼容性考慮
5. 適用場(chǎng)景的差異
串行總線(如PCIe、SATA)通常用于長(zhǎng)距離、高速、點(diǎn)對(duì)點(diǎn)通信場(chǎng)景,而DDR接口的核心應(yīng)用場(chǎng)景是短距離、低延遲的存儲(chǔ)訪問。這兩種場(chǎng)景需求截然不同,導(dǎo)致串行總線的優(yōu)勢(shì)在DDR應(yīng)用中并不顯著。
雖然串行總線在許多領(lǐng)域表現(xiàn)優(yōu)異,但DDR接口之所以繼續(xù)采用并行架構(gòu),是因?yàn)樗芨玫貪M足內(nèi)存訪問對(duì)低延遲、高帶寬和成本控制的需求。同時(shí),DDR技術(shù)已經(jīng)發(fā)展得非常成熟,切換到串行總線需要巨大的技術(shù)和生態(tài)變革,因此并行傳輸依然是DDR接口的最優(yōu)解。
評(píng)論