GMSL2升級至GMSL3

摘要

本文詳細介紹將現有GMSL2™設計升級為GMSL3™設計時的考量因素。在具體範例中,使用了一對GMSL2感測器( MAX96717和MAX96716A)及一對腳位相容的GMSL3感測器(MAX96793和MAX96792A)。本文同時也討論了GMSL3的優勢,並解釋從GMSL2升級到GMSL3時的設計考量因素。

引言

GMSL™技術的主要優勢之一在於實現了同一代元件之間的跨代相容性。GMSL2向後相容GMSL1™,GMSL3則向下相容GMSL2;透過資料手冊,可驗證元件的相容性。這種彈性還代表由於相容元件保持相同的接腳和封裝,因此已有設計可以複用,進而可協助設計者節省時間。

GMSL3概述

GMSL3的主要不同之處是鏈路上的GMSL資料速率加倍,達到12Gbps。GMSL2通常足以因應大多數應用,但感測器和顯示器的頻寬仍在不斷提高。GMSL3目的在實現更高的資料速率,同時保留GMSL的所有優勢,包括自我調整均衡(AEQ)、ASIL-B功能安全性和穩固的錯誤監控診斷。

GMSL2使用非歸零(NRZ)調變,其奈奎斯特頻率為傳輸資料速率的一半。因此,對於6Gbps鏈路,該頻率為3GHz(或對於3Gbps鏈路,該頻率為1.5GHz)。在仍然使用NRZ調變的情況下,資料速率加倍表示對於12Gbps鏈路,奈奎斯特頻率為6GHz。然而,使用更高頻率會帶來一些問題,例如線纜、連接器和PCB的插入損耗增加,導致應用中線纜的總長度必須縮短。

為了避免在資料速率加倍的情況下使用更高頻率,GMSL3採用脈衝幅度調變4級(PAM4),以保持與GMSL2相同的奈奎斯特頻率。較低的通道工作頻率會為系統帶來許多好處:

  • GMSL2和GMSL3使用相同的時脈鏈路速率,支援原理圖和佈局複用,工作在FR-4 PCB上。
  • 線纜和連接器的插入損耗更低。
  • 由於頻寬加倍而鏈路速率保持相同,因此頻譜效率更高。

GMSL3同時支援6Gbps (NRZ)和12Gbps (PAM4)。

設計考量因素

這裡以CSI-2至GMSL3串列器MAX96793和GMSL3至CSI-2解串器MAX96792A為例進行說明。一般來說,變更幅度不大,但需要針對每個系統應用進行審核。

接腳相容性

GMSL2代和GMSL3代的GMSL元件腳位相容,以支援設計複用。串列器封裝為5mm x 5mm TQFN。圖1詳細展示了MAX96717和MAX96793的接腳排列:

Figure 1. MAX96717 and MAX96793 pinout comparison
圖1.MAX96717和MAX96793接腳排列比較

在這些元件上使用反向通道參考時脈(RoR)功能時,應將一個20nF±10%的電容連接在 VREF接腳(接腳7)和接地端之間。此連接對於使用RoR的GMSL3模式是必需的,而對於GMSL2模式則是可選的,以保持最優反向鏈路餘裕。

如果在GMSL3上不使用RoR,則不需要此電容。

解串器封裝為7mm x 7mm TQFN。圖2詳細展示了MAX96716A和MAX96792A的接腳配置:

Figure 2. MAX96716A and MAX96792A pinout comparison
圖2. MAX96716A與MAX96792A接腳配置比較

功耗

這些元件的功耗是基於表1的配置 列所示條件,在實體層介面滿負荷運行狀態下進行測定。column of Table 1.

表1.串列器功耗比較
元件 配置 IDD18 IDD (VDD = 1.2V) PTOTAL
MAX96717 6Gbps前向鏈路速率(GMSL2模式)
RGB888彩條圖案
4通道CSI-2 DPHY輸入
每通道1.3Gbps
46mA (25°C)
53mA (105°C)
98mA (25°C)
232mA (105°C)
~210mW (25°C)
~393mW (105°C)
MAX96793 12Gbps前向鏈路速率(GMSL3模式)
RGB888彩條圖案
4通道CSI-2 DPHY輸入
每通道2.5Gbps
46mA (25°C)
53mA (105°C)
170mA (25°C)
340mA (105°C)
~301mW (25°C)
~529mW (105°C)

這兩款元件使用相同的電源輸入電壓,以簡化電源拓撲要求。MAX96717和MAX96793 GMSL元件系列的VDD18軌使用相同的電源。 VDD核心軌的最大電流僅有輕微增加,幅度約為70mA (25°C)或110mA (105°C)。檢查電源,確保供電軌上有足夠的餘裕以適應電流增加。

如前所述,這些元件的特點是其配置目的在充分發揮實體層介面能力,即解串器同時支援雙GMSL輸入和雙MIPI-CSI2輸出。這些元件可以僅使用單一GMSL輸入和/或單一MIPI-CSI2輸出,以降低總功耗。

此外,攝影機解串器具有MIPI-CSI2供電軌VTERM,用於MIPI-CSI2 PHY。

表2.解串器功耗比較
元件 配置 IDD18 IDD (VDD = 1.2V) ITERM PTOTAL
MAX96716A 6Gbps前向鏈路速率
(GMSL2模式)
2x 4通道CSI-2 DPHY輸入
每通道1.3Gbps
196mA (25°C)
245mA (105°C)
197mA (25°C)
460mA (105°C)
27mA (25°C)
40mA (105°C)
~654mW (25°C)
~1095mW (105°C)
MAX96792A 12Gbps前向鏈路速率
(GMSL3模式)
2x 12Gbps輸入
2x 4通道CSI-2 DPHY輸入
每通道2.5Gbps
210mA (25°C)
250mA (105°C)
365mA (25°C)
850mA (105°C)
31mA (25°C)
40mA (105°C)
~898mW (25°C)
~1596mW (105°C)

這兩款元件使用相同的電源輸入電壓,以簡化電源拓撲要求。MAX96716A和MAX96792A GMSL元件系列的 VDD18軌使用大致相同的電源。 VDD核心軌的最大電流有所增加,幅度增加約為160mA (25°C)或390mA (105°C)。檢查電源,確保供電軌上有足夠的餘裕以適應電流增加。

此外,兩款元件的靜態電流消耗和最大電源雜訊容差相同,以使這兩個系列遵循一致的系統要求。

配置接腳設定

這些元件的配置接腳差異很小。請務必根據元件資料手冊來確認配置接腳值,因為這將決定元件每次啟動時的配置狀態。

圖3和圖4展示了配置接腳的詳細資訊,這裡以MAX96717和MAX96793為例進行說明。所有配置接腳的設定都取決於具體元件,詳細資訊請參考各自的資料手冊。

配置0接腳(CFG0)用於配置UART和I2C之間的通道介面,選擇使用RoR還是晶振,以及元件位址。

配置1接腳(CFG1)用於配置線纜類型(STP還是同軸線纜)、GMSL資料速率,以及選擇隧道模式還是像素模式。CFG1在設定GMSL資料速率方面有細微差異。這些元件的像素模式資料速率相同。隧道工作模式支援GMSL3的6Gbps和12Gbps,以及GMSL2的3Gbps和6Gbps。

Figure 3. MAX96717 (left) and MAX96793 (right) configuration pin comparison
圖3.MAX96717(左)和MAX96793(右)配置接腳比較
Figure 4. MAX96716A (left) and MAX96792A (right) configuration pin comparison
圖4. MAX96716A(左)與MAX96792A(右)配置接腳比較

PAM4調變方案

PAM4是GMSL針對嚴苛的汽車環境所採用的一種成熟調變方案。NRZ使用兩個電壓位準表示1位元符號,而PAM4使用四個電壓位準表示2位元符號,使得GMSL3能夠以與GMSL2相同的串列傳輸速率運行,同時將所傳輸資料的位元速率加倍。

然而,資料速率加倍並非沒有代價:PAM4的眼圖開度較小,約為NRZ眼圖開度的1/3。

Figure 5. Modulation comparison of NRZ (left) and PAM4 (right)
圖5. NRZ(左)與PAM4(右)的調變比較

圖5中,“A”被定義為NRZ眼圖開度,這表示如果NRZ以A的SNR每個週期傳輸1位(1/T),則PAM4以A/3的SNR每個週期傳輸2位(2/T)。

前向糾錯

為了克服PAM4固有的雜訊敏感性,GMSL3具備前向糾錯(FEC)功能,可為鏈路增加資料冗餘和糾錯能力。FEC可以顯著降低SNR要求,並有助於降低鏈路的誤碼率(BER),使得GMSL鏈路在整個生命週期內只有一次位元錯誤。

GMSL FEC採用Reed-Solomon編碼,這種編碼廣泛用於CD、QR codes,甚至航海家太空船[1]。此外,FEC資訊可透過暫存器即時監控,或在GMSL GUI中方便地進行查看。

Figure 6. GMSL link BER status window from the GMSL GUI
圖6.GMSL GUI中的GMSL鏈路BER狀態視窗

FEC是GMSL3的強制要求,因此在確認案例是否具有足夠的頻寬時,需要考慮FEC對頻寬的影響。為了增加BER的穩固性,在GMSL鏈路上使用FEC會產生6.67% (128/120)的額外開銷。GMSL GUI中的GMSL頻寬計算器在計算中包括了此一開銷。此開銷使得GMSL3鏈路的實際可用頻寬大約為9.7Gbps。

Figure 7. FEC impact on useable bandwidth of GMSL3
圖7.FEC對GMSL3可用頻寬的影響

錯誤報告

在GMSL3鏈路上使用FEC時,需要根據系統監控要求,調整錯誤監控策略。FEC可以檢測並糾正鏈路上發生的錯誤,元件會報告糾正情況,這稱為「FEC可糾正位」。「FEC不可糾正位」是不被允許的,因為它代表GMSL3元件無法修復鏈路上發生的錯誤。

因此,需要根據錯誤的定義,調整錯誤監控策略。對於GMSL2模式,解碼和空閒錯誤用於報告鏈路上發生的錯誤。對於GMSL3模式,FEC不可糾正錯誤用於報告鏈路上的錯誤;FEC糾正的位也會被報告。

預設情況下,FEC錯誤標誌用於檢查可糾正和不可糾正的位,並報告給ERRB接腳。可糾正位元的FEC閾值必須根據系統要求進行調整。有關錯誤監控變更的詳細資訊,請參閱軟體差異部分。

通道規格

GMSL2和GMSL3之間的一個顯著區別是GMSL通道規格。請勿認為符合規範的GMSL2系統與GMSL3通道規範相容,因為後者的預算限制更嚴格。請參考analog.com上提供的最新GMSL2通道規範和GMSL3通道規範。

複用設計時,務必重新評估PCB佈局和佈線需求。

GMSL3 (12Gbps)和GMSL2 (6Gbps)均以3GHz鏈路基頻運行。

GMSL3的插入損耗要求額外規定了長通道(高損耗)和短通道(低損耗)兩種情況。短通道的插入損耗(IL)更嚴格,但回波損耗(RL)較寬鬆。

GMSL3的回波損耗要求也額外規定了長通道(高損耗)和短通道(低損耗)兩種情況。短通道的RL較寬鬆,但IL更嚴格。

S-參數資料在與GMSL3 IL和RL限值進行比較之前,必須進行濾波。在全部範圍內對S-參數應用100MHz濾波器。從最低擷取頻率到50MHz,應用未濾波的資料。超過50MHz時,使用經濾波的資料與限值進行比較。

暫存器設定差異

在軟體方面,這些元件之間有兩大差異:GMSL3工作模式和錯誤監控。

對於GMSL3模式,表3和表4中詳細列出的以下所有更改都透過CFG接腳處理。這些接腳用於正確配置元件的發送和接收速度,以及PAM4調變。表3和表4列出了當軟體對CFG接腳進行程式化或覆寫操作時需使用的暫存器,但此類操作通常不建議採用。

備註:如果使用CFG接腳配置GMSL模式,則表3和表4中顯示的以下更改不是必須的。

程式設計步驟需要按照特定順序進行。先從遠端元件開始,然後再處理本地元件。「遠端」和「本地」指的是I2C控制器的位置。對本地元件進行程式設計時,會阻止其與遠端元件的通訊。在此範例中,MAX96793是遠端元件,而MAX96792A(連接到I2C控制器)是本地元件。

表3.從6Gbps GMSL2變為12Gbps GMSL3的程式設計步驟
步驟 位置 元件 說明 暫存器 值
1 遠端 MAX96793 將Tx速率更改為12Gbps 0x0001 REG1[3:2] = 0b11
2 遠端 MAX96793 致能FEC 0x0028 TX0[1] = 0b1
3 遠端 MAX96793 禁用GMSL2模式並致能GMSL3模式 0x0006 REG6[7] = 0b0
4 本地 MAX96792A 使GMSL鏈路保持RESET(重定)狀態 0x0010 CTRL0[6] = 0b1
5 本地 MAX96792A 將Rx速率更改為12Gbps 0x0001 REG1[1:0] = 0b11
6 本地 MAX96792A 致能FEC 0x0028 TX0[1] = 0b1
7 本地 MAX96792A GMSL3 mode 禁用GMSL2模式並致能GMSL3模式 0x0004 REG4[7:6] = 0b11*
8 本地 MAX96792A 使GMSL鏈路離開RESET(重定)狀態 0x0010 CTRL0[6] = 0b0
*這會將兩個鏈路都設定為GMSL3。每個鏈路可以單獨配置。
表4.從12Gbps GMSL3變為6Gbps GMSL2的程式設計步驟
步驟 位置 元件 說明 暫存器 值
1 遠端 MAX96793 將Tx速率更改為6Gbps 0x0001 REG1[3:2] = 0b10
2 遠端 MAX96793 禁用FEC 0x0028 TX0[1] = 0b0
3 遠端 MAX96793 致能GMSL2模式並禁用GMSL3模式 0x0006 REG6[7] = 0b0
4 本地 MAX96792A 使GMSL鏈路保持RESET(重定)狀態 0x0010 CTRL0[6] = 0b1
5 本地 MAX96792A 將Rx速率更改為6Gbps 0x0001 REG1[1:0] = 0b10
6 本地 MAX96792A 禁用FEC 0x0028 TX0[1] = 0b0
7 本地 MAX96792A 致能GMSL2模式並禁用GMSL3模式 0x0004 REG4[7:6] = 0b00*
8 本地 MAX96792A 使GMSL鏈路離開RESET(重定)狀態 0x0010 CTRL0[6] = 0b0
*這會將兩個鏈路都設定為GMSL3。每個鏈路可以單獨配置。

如 錯誤報告部分所述,錯誤監控策略需要根據FEC報告進行更改。

表5.未致能FEC情況下的GMSL2錯誤報告
MAX96793 MAX96792A
位名稱 暫存器 值 暫存器 值
DEC_ERR_OEN_A 0x001A INTR2[0] = 0b1 0x001A INTR2[0] = 0b1
DEC_ERR_OEN_B — — 0x001A INTR2[1] = 0b1
IDLE_ERR_OEN 0x001A INTR2[2] = 0b1 0x001A INTR2[2] = 0b1
IDLE_ERR_OEN_B — — 0x5010 INTR10[6] = 0b1
FEC_RX_ERR_OEN — — 0x001C INTR4[5] = 0b0*
FEC_RX_ERR_OEN_B — — 0x5010 INTR10[5] = 0b0*
**每個鏈路可以單獨配置。
表6.致能FEC情況下的GMSL3錯誤報告
MAX96793 MAX96792A
位元名稱 暫存器 值 暫存器 值
DEC_ERR_OEN_A 0x001A INTR2[0] = 0b0 0x001A INTR2[0] = 0b0
DEC_ERR_OEN_B — — 0x001A INTR2[1] = 0b0
IDLE_ERR_OEN 0x001A INTR2[2] = 0b0 0x001A INTR2[2] = 0b0
IDLE_ERR_OEN_B — — 0x5010 INTR10[6] = 0b0
FEC_RX_ERR_OEN — — 0x001C INTR4[5] = 0b1*
FEC_RX_ERR_OEN_B — — 0x5010 INTR10[5] = 0b1*
*每個鏈路可以單獨配置。

致能FEC後,FEC統計資訊可以根據應用要求單獨配置。MAX96792A擁有許多暫存器,暫存器塊位址從0x2000開始,支援讀取統計資訊及設定兩個鏈路的錯誤閾值。

例如,應用可能允許在觸發報警之前存在一定數量的可糾正位元錯誤,則可以將CORRECTED_THRESHOLD_0/1/2/3設定為允許的糾正位數量。不可糾正位元錯誤更令人擔憂,顯示系統存在更大的問題。

憑藉豐富的統計資訊,使用者可全面瞭解GMSL鏈路的健康狀態。

結論

GMSL2和GMSL3元件系列能夠隨著設計同步擴展,文中所述細節說明了升級系統時需要考慮的變更。一般來說,GMSL2和GMSL3元件盡可能保持一致,以減輕升級時的設計負擔。本文詳細介紹兩款特定元件的升級,設計時務必查閱其他相關GMSL2和GMSL3元件的檔案。然而,無論是何種GMSL元件,GMSL頻寬的計算和GMSL通道的規格均遵循統一標準。

參考資料

[1]Canterbury,“QR codes - Coding - Error control - Computer Science Field Guide”, Csfieldguide.org.nz, ,2024年。https://www.csfieldguide.org.nz/en/chapters/coding-error-control/qr-codes.