新聞中心

        EEPW首頁 > 網絡與存儲 > 市場分析 > 并行接口的沒落與串行接口的崛起

        并行接口的沒落與串行接口的崛起

        作者: 時間:2024-12-11 來源:硬十 收藏

        雖然并行在許多領域曾經廣泛使用,但隨著信號完整性要求的提高和傳輸速率的提升,許多并行逐步被高速串行(如 PCIe、SATA、以太網等)取代。然而,仍在一些嵌入式系統和專用場景中保留了優勢,如 DDR 內存,仍然不可或缺。

        本文引用地址:http://www.104case.com/article/202412/465393.htm

        一、的沒落

        在計算機和電子設備的發展歷史中,曾一度占據主導地位。并行接口通過多條數據線同時傳輸多個比特位的數據,具備較高的帶寬性能。然而,隨著技術的發展,并行接口逐漸被串行接口所取代。這一轉變的主要原因在于并行接口固有的一些缺陷:

        1. 信號干擾:并行接口需要多條信號線,這些線之間的電磁干擾會限制信號完整性,特別是在高頻率下。

        2. 布線復雜度:并行接口的信號線數量多,PCB布線復雜,容易增加成本和設計難度。

        3. 同步難度:在高頻情況下,保持所有信號線同步(即數據到達的時間一致)變得極具挑戰性。

        常見的并行接口

        以下是一些經典的并行接口:

        • IDE (Integrated Drive Electronics):用于連接硬盤和主板,后來被串行接口SATA取代。


        • PCI (Peripheral Component Interconnect):并行的計算機總線標準,逐步被PCI Express(串行接口)替代。

        • Centronics:用于連接打印機,逐步被USB取代。

        • 并行端口(Parallel Port):主要用于外設連接,例如打印機和掃描儀,也已逐漸淘汰。


        串行接口相對并行接口的優勢

        串行接口通過一條或少量幾條數據線傳輸數據,相較于并行接口,具有以下優勢:

        1. 減少干擾:減少信號線數量降低了線間干擾,提高了信號完整性。

        2. 簡化布線:減少引腳和PCB布線復雜性,降低了制造成本。

        3. 更高的頻率:串行接口的點對點傳輸設計允許更高的傳輸速率。

        4. 同步簡化:在串行接口中,通常只需同步一條數據線和一條時鐘線(或者通過嵌入時鐘的方法實現同步)。

        5. 適應性強:串行接口可以支持更長的傳輸距離,同時減少衰減。


        二、串行接口的關鍵技術

        串行接口的實現在芯片原理上涉及多個核心技術,包括數據的串/并轉換、異步和同步通信的處理、時鐘管理及恢復等。以下將詳細探討這些關鍵點:

        1. 數據的串/并轉換

        (1) 并行到串行轉換 (Parallel-to-Serial Conversion)

        在串行接口中,數據通常由寬并行總線(如8位或16位)轉換為單比特流傳輸。關鍵步驟:

        • 移位寄存器 (Shift Register):

          • 并行數據寫入寄存器,時鐘信號控制每次移位一位,將數據按位輸出為串行流。

          • 例如:8位數據 10110011 在 8 個時鐘周期內輸出每一位。

        串行到并行的過程比較好理解,實現方法也比較多,下圖只是實例幫助理解,具體一般都是用Verilog或者VHDL語言描述。

        (2) 串行到并行轉換 (Serial-to-Parallel Conversion)

        接收端需將串行數據重組為并行數據:

        • 移位寄存器:

          • 數據通過串行輸入端逐位移入寄存器。

          • 當寄存器滿后(如8位),輸出并行數據給處理單元。

        (3) 雙緩沖機制:

        為提高吞吐量,通常采用雙緩沖機制,允許數據轉換和傳輸同時進行。


        2. 異步和同步通信

        串行接口的關鍵在于如何保持數據收發雙方同步

        (1) 異步通信 (Asynchronous Communication)

        • **定義:**數據傳輸中發送端和接收端的時鐘無直接關聯。

        • 幀結構:

          • 起始位 (Start Bit):標志傳輸開始。

          • 數據位 (Data Bits):實際傳輸的內容,通常為 8 位或其他配置值。

          • 校驗位 (Parity Bit):用于簡單錯誤檢測。

          • 停止位 (Stop Bit):標志幀結束,提供接收端時間校準。

        • 實現要點:

          • **波特率 (Baud Rate):**發送端和接收端必須配置一致。

          • **采樣定時器:**接收端通過內部采樣時鐘檢測起始位并鎖定數據位。

        (2) 同步通信 (Synchronous Communication)

        • **定義:**發送端和接收端共享同一個時鐘。

        • 時鐘傳輸:

          • **獨立時鐘線:**如 SPI 協議,通過 SCLK 提供同步時鐘信號。

          • **嵌入時鐘:**如 Manchester 編碼,時鐘嵌入數據流中,接收端需恢復時鐘。

        • 實現要點:

          • 主設備控制時鐘,數據按時鐘邊沿采樣。

          • 接收端無需校準波特率,減少時序偏移問題。


        3. 時鐘處理

        (1) 同步時鐘的生成與分配

        • 片上時鐘生成器 (Clock Generator):通過晶振和鎖相環 (PLL) 生成穩定時鐘信號。

        • 分頻器:根據協議要求,生成合適頻率的通信時鐘。

        (2) 異步時鐘的采樣與校準

        • 采樣率:通常為波特率的 16 倍或更高,確保高精度采樣。

        • 起始位檢測:利用采樣點檢測電平變化,以鎖定起始位位置。



        4. 時鐘恢復

        在某些協議中,接收端需從數據流中恢復時鐘信號。

        (1) 從異步數據流恢復時鐘

        • 邊沿檢測:通過檢測信號的上升沿或下降沿,重新生成采樣時鐘。

        • 數字鎖相環 (DPLL):用于動態調整時鐘頻率,以匹配發送端時鐘。



        (2) 嵌入時鐘的提取

        • 編碼機制:如 Manchester 編碼或 8b/10b 編碼,時鐘信號與數據流同時傳輸。

        • 相位對齊:通過解碼模塊將時鐘從數據中提取并對齊。



        三、常見的串行接口

        串行接口按照速率可分為低速和高速接口:

        低速串行接口

        1. UART (Universal Asynchronous Receiver Transmitter)

        • 一種異步接口,常用于短距離通信。

        • 應用:嵌入式設備、傳感器通信等。

        • I2C (Inter-Integrated Circuit)

          • 一種雙線的同步串行通信接口,適合主從架構。

          • 應用:芯片間通信(如MCU和EEPROM之間)。

        • SPI (Serial Peripheral Interface)

          • 高速的全雙工同步通信協議,適合主從設備。

          • 應用:外設通信,如顯示屏、傳感器。

          高速串行接口

          1. USB (Universal Serial Bus)

          • 從USB 1.0到USB 4的演變提供了逐步提升的帶寬和兼容性。

          • 應用:幾乎所有的外設連接。

        • SATA (Serial ATA)

          • 替代了并行ATA,用于硬盤連接。

          • 特點:點對點連接,傳輸速率高。

        • PCIe (Peripheral Component Interconnect Express)

          • 串行接口,用于計算機內部高速設備互連,如顯卡和固態硬盤。

          • 特點:支持多通道(x1、x4、x8等)并行。

        • Thunderbolt

          • 高速通用接口,支持數據、視頻和電源的復用。

          • 應用:高性能設備連接。

        • MIPI DSI/CSI

          • 針對移動設備的高速接口,用于顯示(DSI)和攝像頭(CSI)。




          四、串行接口的發展趨勢與技術挑戰

          高速接口的實現(如 PCI、PCIe、SATA、以太網和 SERDES)涉及更復雜的技術,因為數據傳輸速率更高,通常達到數 Gbps 或更高。以下是這些高速接口的關鍵原理和實現方法:


          1. 串行高速接口的核心特性

          • 高速數據傳輸:每秒傳輸數 Gbps 或更高,需要優化物理層和協議層設計。

          • 差分信號:高速接口通常使用差分信號(如 PCIe 的 TX+/TX-),增強抗干擾能力并減少電磁輻射 (EMI)。

          • 嵌入時鐘:時鐘和數據在同一信號中傳輸(如 PCIe 和 SATA),減少引腳數量,簡化連接。并且有一系列優化SI的手段。

          • 多通道:支持多通道并行傳輸(如 PCIe 的 x1、x4、x8 通道配置)。


          2. 高速接口的關鍵技術

          (1) 串并轉換(SerDes)

          • 串行器/解串器 (SerDes):
            高速接口中,SerDes 是數據串行化和解串行化的核心模塊。

            • 解串器從接收的串行數據流中提取時鐘。

            • 根據時鐘信號將串行數據重新轉換為并行數據。

            • 并行數據經并行總線輸入串行器。

            • 使用高速移位寄存器將數據按位輸出,同時嵌入時鐘信號。

            • 發送端:

            • 接收端:

            • SerDes 的速率匹配:通常采用片上鎖相環 (PLL) 精確控制數據傳輸速率。

          (2) 時鐘嵌入與恢復

          • 嵌入時鐘:

            • 在高速傳輸中,通過編碼技術(如 8b/10b 或 64b/66b 編碼)將時鐘信號嵌入數據流,簡化布線并提高可靠性。

          • 時鐘恢復:

            • 接收端通過鎖相環 (PLL) 或時鐘數據恢復 (CDR) 技術提取嵌入的時鐘信號。

            • 相位對齊:利用數據的過零點調整時鐘相位,確保數據采樣正確。

          (3) 差分信號傳輸

          • 雙端傳輸:高速接口采用差分對(如 PCIe 的 TX+/TX-),兩個信號電平相反,增強抗干擾能力。

          • 優點:

            • 抵消電磁干擾 (EMI)。

            • 提高信號完整性,尤其在高頻信號中減少串擾。


          3. 典型高速接口的實現

          (1) PCI 到 PCIe

          • PCI(并行總線):

            • 使用共享時鐘信號,所有設備按總線仲裁機制輪流訪問總線。

            • 存在時鐘偏差和信號完整性問題,限制了傳輸速率。

          • PCIe(點對點串行總線):

            • 物理層:SerDes 負責數據串行化和解串行化。

            • 數據鏈路層:處理數據包分組和錯誤校驗。

            • 事務層:支持高層協議(如內存讀寫請求)。

            • 點對點鏈路:每個設備有獨立的通信鏈路,消除總線仲裁延遲。

            • 多通道配置:x1、x4、x8 等通道配置,多個通道可并行傳輸,提高帶寬。

            • 分層架構:

          (2) SATA(串行ATA)

          • 架構:

            • 由并行 ATA 演變而來,采用全雙工串行通信。

            • 使用 8b/10b 編碼,嵌入時鐘,支持數據速率高達 6 Gbps(SATA 3.0)。

          • 工作原理:

            • 主機通過 SerDes 發送串行數據流,存儲設備解碼后處理。

            • 雙向鏈路實現讀寫操作,同時保持高信號完整性。

          (3) 以太網(Ethernet)

          • 低速到高速的演變:

            • 從最早的 10 Mbps 發展到 10 Gbps、25 Gbps,甚至 400 Gbps。

          • 關鍵技術:

            • 物理層:使用差分對傳輸,支持長距離傳輸。

            • 編碼:如 PAM4 編碼,通過每個符號攜帶更多比特,提高帶寬利用率。

            • 時鐘恢復:在接收端使用 CDR 技術精確提取時鐘。


          4. SerDes 在高速接口中的角色

          SerDes 是所有高速接口的核心,實現以下功能:

          1. 發送端:

          • 將并行數據以高頻率轉換為串行數據流。

          • 嵌入時鐘,減少額外的時鐘線。

        • 接收端:

          • 從串行數據中恢復時鐘信號。

          • 對串行數據解碼并重新組合成并行數據。

        • 時序管理:

          • 使用鎖相環 (PLL) 控制高速信號的相位和頻率。

          • 減少抖動 (Jitter),確保數據完整性。


          5. 信號完整性和高速設計

          高速接口面臨的主要挑戰是信號完整性,設計中需重點考慮:

          • 抖動 (Jitter):時鐘或數據信號的隨機偏移。需優化 PLL 和 SerDes 的設計以減少抖動。

          • 眼圖 (Eye Diagram):用于分析信號質量,良好的眼圖表示高信號完整性。

          • 阻抗匹配:差分對的阻抗需匹配 PCB 走線設計,避免信號反射。

          • 去均衡 (De-Emphasis):在發送端對高頻成分增加衰減,減少長距離傳輸中的信號失真。


          五、為什么并行接口線多,卻速率不如串行總線。

          • 無需獨立時鐘信號,噪聲干擾更少
            高速串口通過編碼技術(如8b/10b編碼)將時鐘信息嵌入數據流中,而不需要單獨傳輸時鐘信號。數據流本身經過加擾,避免了長串相同的比特(如連續超過5個0或1),確保時鐘恢復的穩定性,同時消除了周期性變化,避免頻譜集中。這種設計通過數據沿變使用PLL恢復時鐘,進而采集數據流。省去獨立時鐘的傳輸不僅顯著降低了功耗,還減少了由時鐘信號引入的噪聲干擾。

          • 差分傳輸增強抗干擾能力
            高速串口采用差分信號傳輸,當外界噪聲同時作用于兩條差分線時,接收端通過相減可以有效抵消干擾。差分設計對外界噪聲有很強的抵抗能力,確保數據傳輸的穩定性。

          • 無時鐘偏移問題
            由于高速串口不依賴同步時鐘,不存在時鐘與數據對齊的問題。只需保證差分信號線的長度匹配即可,這相對容易實現。差分信號的兩條線總是保持相反狀態且高度相關,即便發生延時變化,也可以通過簡單的延時補償實現對齊。而在并行總線中,由于多根獨立信號線的無相關性,不同信號線的跳變時間容易受布線、阻抗和噪聲的影響,從而產生時鐘偏移問題,導致數據傳輸錯誤。

          • 線少、干擾低
            并行傳輸通常需要32或64條信號線,線間的電磁干擾顯著,尤其在高頻下,可能導致數據篡改或誤碼。相比之下,串行傳輸僅需4條線(如Rx和Tx的兩對差分線)。差分信號在線路跳變時會產生相反的干擾,從而互相抵消,確保總噪聲趨于零,避免內部噪聲問題。

          六、DDR接口為什么還保留并行,沒有演進成串行總線?

          DDR接口保持并行傳輸而沒有被串行總線替代,主要是因為其特定的應用需求和技術特點,使并行傳輸在這一場景中更具優勢:

          1. 延遲要求苛刻,串行傳輸不具備優勢

          • 并行總線延遲更低:DDR存儲器的一個核心需求是低延遲。串行總線需要經過數據序列化和解序列化(SerDes)過程,這會引入額外的延遲,而DDR接口直接傳輸多條并行數據線,延遲更小,更適合需要實時響應的存儲訪問。

          • 內存帶寬與時延的平衡:DDR接口通過寬度(多條數據線并行傳輸)和頻率的結合來提供高帶寬,而串行接口在達到相同帶寬時會犧牲一些時延。

          2. 高帶寬需求與物理距離限制

          • 內存與控制器距離較短:DDR接口設計用于處理器和內存之間的短距離高帶寬通信。在這種場景下,并行總線可以通過多條線同時傳輸數據,高效地利用接口帶寬,而無需像串行總線那樣依賴高頻率來提升速率。

          • 更高的帶寬擴展性:并行總線通過增加數據位寬(如64位、128位)簡單直觀地擴展帶寬,而串行接口受限于單通道的速率提升,需要更復雜的設計。

          3. 成本與功耗的平衡

          • 節約SerDes資源:串行總線需要SerDes模塊來實現高速序列化和解序列化,這增加了成本、功耗和設計復雜性。而并行DDR接口無需額外的SerDes硬件,整體系統功耗更低。

          • 控制信號復用困難:DDR接口中控制信號(如行列選通、地址信號等)和數據是分離的,適合并行總線的傳輸方式。而串行總線需要更復雜的協議和邏輯來處理這些信號,可能帶來額外的開銷。

          4. 設計和兼容性考慮

          • 長期成熟的生態系統:DDR技術經過多年優化,已經形成了高度成熟的標準和廣泛的支持生態,包括芯片設計、PCB布線、信號完整性工具等。大規模切換到串行總線需要對整個生態進行重構,成本高昂且技術風險較大。

          • 布線難度可控:盡管并行總線存在時鐘偏移問題,但通過技術手段(如飛線對齊、信號校正等)可以有效解決。而串行總線的高速信號布線要求更高,可能反而在PCB設計中增加復雜度。

          5. 適用場景的差異

          串行總線(如PCIe、SATA)通常用于長距離、高速、點對點通信場景,而DDR接口的核心應用場景是短距離、低延遲的存儲訪問。這兩種場景需求截然不同,導致串行總線的優勢在DDR應用中并不顯著。

          雖然串行總線在許多領域表現優異,但DDR接口之所以繼續采用并行架構,是因為它能更好地滿足內存訪問對低延遲、高帶寬和成本控制的需求。同時,DDR技術已經發展得非常成熟,切換到串行總線需要巨大的技術和生態變革,因此并行傳輸依然是DDR接口的最優解。





        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 上思县| 班戈县| 宁明县| 辽源市| 金门县| 方城县| 潞城市| 扶绥县| 南通市| 美姑县| 金门县| 通城县| 宁夏| 荥阳市| 呼图壁县| 韶关市| 淅川县| 邻水| 黔东| 尼勒克县| 门源| 高陵县| 延边| 甘孜县| 平远县| 蓬莱市| 永丰县| 天门市| 临江市| 深水埗区| 名山县| 北安市| 汽车| 儋州市| 天祝| 东海县| 怀集县| 安康市| 金平| 崇文区| 宜春市|