串列協定解碼基礎:示波器於並列與串列傳輸的分析應用
- Sonya Chan

- 8月31日
- 讀畢需時 5 分鐘
深入解析串列協定
數位資料傳輸:並列與串列傳輸的比較
數位系統的運作核心為位元(bits),這些位元必須在兩個元件或裝置之間進行傳輸,雖然傳輸位元的方式有很多種,但大致可分為兩大主要類型:並列傳輸與串列傳輸。
並列傳輸
並列傳輸能夠在傳送器和接收器之間同時移動多個位元,通常每個位元都需要一條獨立的導線,這種傳輸方式非常適用於短距離和點對點的連接應用,其時序相對單純,也較容易進行分析。
然而,儘管並列傳輸曾經非常普及,現今已逐漸被串列傳輸所取代。
串列傳輸
串列傳輸正如其名,一次只傳送一個位元,所有的位元都經由同一條導線傳送,這種方式特別適合長距離傳輸、需要更高傳輸量的應用,以及具備多個節點的系統架構,不過,這些優勢也帶來了更高的複雜度,使得分析工作更具挑戰性,雖然資料位元確實是透過單一導線傳送,但大多數的串列協定仍會使用多條導線。
除了用於傳輸資料位元的導線外,許多協定還會額外增加一條時脈訊號線,並針對多節點的應用情境,加入某些類型的控制或定址功能。


串列協定範例
串列協定被廣泛應用於各式各樣的場景,其中,用於通用型應用的三大主流串列協定為 UART(Universal Asynchronous Receiver/Transmitter,通用非同步收發傳輸器)、I²C(Inter-IC,積體電路匯流排) 與 SPI(Serial Peripheral Interface,串列周邊介面)。
另一種特殊的串列協定類別專為汽車產業而設計,例如 CAN(Controller Area Network,控制器區域網路)、LIN(Local Interconnect Network,區域互聯網路) 和 FlexRay,這些協定是為了應對車輛的嚴苛要求而開發,例如在充滿雜訊的環境中,同時確保高低速混合運作下的可靠性。
通用型應用
UART (Universal Asynchronous Receiver/Transmitter)
經典的串列協定。
易於實現。
數十年來廣泛應用於個人電腦的串列埠(Serial Port)與 COM 埠。
I²C (Inter-IC)
主要用於積體電路(IC)之間的通訊,也適用於其他更多情境。
SPI (Serial Peripheral Interface)
傳輸速度高於 I²C。
使用較多線材,整體架構通常也更複雜。
汽車應用
CAN (Controller Area Network)
高速傳輸。
常用於感測器之間的通訊。
LIN (Local Interconnect Network)
低速傳輸。
用於車用配件,如車窗、後視鏡的控制。
FlexRay
具備備援機制的更高傳輸速度協定。
串列協定的特性
儘管不同協定的實作細節各異,但所有串列協定都具備四個基本特性,這些特性對於串列資料的分析與解碼至關重要:
電位準位 (Levels):定義如何利用電壓來表示 0 或 1。
時序 (Timing):定義位元的傳送頻率,即位元時間(bit time)。
訊框 (Framing):規範位元如何被組織成群組,以及每個位元或位元群組所代表的意義。
協定 (Protocol):規範在何種情況下,應該交換哪些訊息。
電位準位
在進行任何數位解碼之前,我們必須能夠區分 0 和 1,換言之,如何從電壓準位來判斷位元值,一個簡單的方式是定義「低」電壓等於 0,「高」電壓等於 1,事實上,部分串列協定就是如此運作。
而在如汽車等充滿挑戰的環境中所使用的串列協定,通常會採用差動電壓,因為差動訊號對雜訊有較佳的免疫力,差動訊號的 0 或 1 是依據兩個電壓之間的差異來定義,而非相對於接地電位的電壓值。
注意:對於這類量測,使用差動探棒將非常有幫助。
時序
僅僅定義 0 和 1 的電壓準位,並不足以判斷所接收到的位元,了解位元產生的速度也同樣重要,也就是所謂的位元時間或位元率(bit rate)。
為了正確解碼串列資料,接收器或儀器所使用的位元率,必須與傳送器保持一致。
訊框
串列協定通常會將位元組織成所謂的「訊框」(frames),訊框中的每個獨立位元或位元群組都具有明確定義的意義,為了正確解碼訊框,必須對其結構有一定的了解。
舉例來說,在解碼 UART 串列協定時,了解傳輸線的閒置狀態為高電壓準位非常重要,一個由高電位轉變為低電位的訊號,即為表示訊框開始的「起始位元」(start bit),此外,還必須知道需要讀取多少個資料位元,以及訊框結尾由一個高電壓準位的「停止位元」(stop bit)來結束,隨後線路會回復到閒置狀態,透過掌握訊框結構,使用者不僅能從串列位元流中提取出有效資料,還能獲取關於傳輸的其他資訊。

協定
最後一個需要考量的層面可稱為「協定」,協定的通用定義為一套用於編碼與交換資訊的規則,這些規則可以規範資料傳送的方式與時機,以及端點之間所交換訊息的類型與意義。
一個簡單的協定可能是只要有資料就立即傳送,完全不考慮接收端是否已準備好接收,而一個更精密的協定,則可能包含在傳送資料前,先請求許可的機制,更進階的協定甚至會要求傳送端在收到資料已正確接收的明確確認後,才繼續傳送更多資料,或重新傳送遺失及錯誤的資料。
串列協定的解碼
過去,串列協定通常是使用專用的協定分析儀進行解碼,如今,最普遍的方法是使用配備一個或多個通道的現代數位儲存示波器,在選擇目標串列協定後,必須設定其電位準位、時序與訊框結構,以符合待分析的串列訊號,示波器會利用這些資訊產生分析結果,其形式包括原始電壓準位、偵測到的位元,以及訊框內容,並可以二進位、十六進位或 ASCII 格式顯示,示波器上的串列解碼功能,通常還包含其他附加功能,例如針對訊框內特定符號的觸發、為使用者自訂的模式指派易於閱讀的標籤,以及資料匯出等。
總結
串列協定用於在元件之間或獨立裝置之間,循序地(一次一個)傳輸位元。
幾乎所有數位裝置都使用串列通訊。
串列協定可分為:
通用標準,如 UART、I²C 和 SPI。
特定應用協定,如 CAN、LIN 和 FlexRay(主要用於汽車領域)。
所有串列協定都具備某些共同特性,例如:
電壓如何對應到位元。
時序或位元率。
位元如何被組織成訊息單元或訊框。
交換的訊框類型,以及每種訊框的傳送規則。
現代數位示波器已成為分析與解碼串列資料的首選工具。
如果您對於串列協定或其解碼有任何疑問,我們將隨時為您提供協助。
相關產品
R&S®MXO 5 系列示波器 (4/8 CH, 350 MHz ~ 2 GHz)

R&S MXO 5 系列示波器提供 4 或 8 個通道,頻寬高達 2 GHz;具備 12 位元 ADC、18 位元垂直解析度、500 Mpoints 深度記憶體與每秒超過 450 萬次波形擷取,實現精準量測。

