從思考PHY進而引出一系列EE基礎知識:Transceiver、SerDes與Bridge Chip。如同一條洲際公路,沿途風景美不勝收。
為何從PHY思考?常常產品開發過程會被提到時有時無,直觀理解又沒有像Controller那樣直覺,因此打開了這扇門來探索,其實也本該這麼做了。
舉SATA SSD為例: Controller → PHY → Connector. 而SATA Controller通常也會包了SATA的PHY. 而PHY就是從數位資料轉到實體資料的一個閘口,想像就是0101的資料被轉成實際物理傳輸的資料,這邊是SATA因此就是讓數位可以轉成類比在實體SATA Port上傳輸。這邊SATA只是一個例子,無論是PCIe或是USB還有LAN通通都有PHY的存在。
- PHY: 虛實介面的閘口. 有IO就有PHY.
接著好玩了,開始延伸出許多常聽到但又沒有好好理解的單位:SecDes。SerDes 這個詞本身,已經完整描述了其核心功能:Serializer (串列器) + Deserializer (解串器)。而GMSL SerDes 就是為了實現GMSL通訊協定而設計的、高度特化和整合的PHY晶片或IP。
為何SerDes很重要?因為這是突破傳輸距離的一項重要的技術。
- 為了讓「數位」世界的「平行」數據,能夠克服「類比」物理世界的傳輸障礙(尤其是長距離、高頻寬下),最有效的方法就是透過SerDes將其轉換為「序列」訊號來傳送。
而有了一收一送就直觀的連結到Rx與Tx,而這就是Transceiver。收發動作(Rx/Tx)以及推動能力(頻寬)去決定IO的數量與能力。
那Transceiver要怎麼具體理解?就拿這幾個來看好了:
Camera Up to 16 cameras, max 12 MP sensor resolution, 4x 4-lane CSI2
PCIe 2x PCIe Gen 4: 1x 2-lane + 1x 4-lane (Root Complex & Endpoint)
USB 2x USB 3.1 Gen 2, 1x USB 2.0
Networking 2x 2.5 GbE w/ TSN (SGMII)
Other I/O 21x QUP_SEs (supports UART/I2C/SPI), 149x GPIOs
一張規格表背後代表著Transceiver能力,提供的Lane,可設計的空間,變化的組合,還有IO能力,供給SoC可做IO的資源池。
到這,先簡易的整合一下思路:
PHY (完整系統) = { Digital Controller (協定邏輯)+ SerDes (物理引擎) }
- SerDes 本身就是 Transceiver 的一種高度特化的實現。
而PCIe, USB, SATA都是介面於協議的定義,除了資料格式外也定義電源, 傳輸速度, 流量還有可能類似ECC能力還有其他規格。而到底層晶片就是由一套完整的PHY提供這樣的IO能力。
此時在設計需求與彈性上,更可以透過Bridge Chip吃剩餘的LANE來創造更多的IO組合。我打一個簡單的比方:MACBOOK留Type C去外接一個dock可以擴充出:HDMI、USB以及更多Type C。除了協定的轉換外,就是PHY與PHY之間的對接,或是COMBE PHY,並在足夠的推動力的輸出情況下達到轉換後的IO規格。
回到最一開始的問題:到底PHY是甚麼?就是基於Transceiver實作出來的一個閘口,這是我理解的概念,打通虛與實的通道口。那不同的IO與介面有自己的規範與定義,在晶片的設計與EE的架構上就會有所不同,但本質是一致的,比方說談IO規格、Transceiver能力、PCIe Lane數等等。那在設計上依照晶片(SoC)所提供的規格可以有怎麼樣的排列組合,通通就都基於這些基本原則來看待。
寫這一篇是給自己看的。要學習一件事情就要嘗試能夠寫下來,我相信未來會有更新的版本,但階段性來看也把破碎的知識點都先給串來起來。