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