SUNCAN CAN FD 實作展示:實際效能評估 Linux
SUNCAN CAN FD in Action: Practical Evaluation and Performance
Linux
Introduction
雖然業界普遍定義 CAN FD 的數據速率可達 8 Mbps,但實際吞吐量往往較低。這是由於硬體與軟體設計中引入的延遲,以及仲裁階段仍需以 CAN 2.0 規範的較低速率運作。結果,真實環境下的效能很少能達到理論最大值。
本文將透過在 Linux 平台上測試 SUNCAN 的實際吞吐量,進行效能評估。我們會在下一篇文章中再探討 Windows 平台的表現。
In Action - Linux
Linux 核心提供了用於 CAN 的 Socket API,而目前市面上幾乎所有知名的 CAN 產品都支援 SocketCAN,這已成為 Linux 上 CAN 應用的主流方式。當然,SUNCAN 也不例外。在本文中,我們將透過 SocketCAN 來實際測試 SUNCAN 的效能表現。
Platform
can-utils
can-utils 是一組用於操作 SocketCAN 的命令列工具,SocketCAN 是 Linux 核心內建的 CAN 子系統。其中有兩個指令特別適合用來驗證 CAN FD 的效能:cangen 與 cansequence。
cangen 可以持續不間斷地傳送 64 位元組的資料幀,幀與幀之間沒有間隙。這樣能夠測試實際的最⼤傳輸與接收位元速率。
cansequence 則是依序傳送只有單一位元組有效載荷的資料幀,並執行資料完整性檢查。這對於評估匯流排穩定性以及判斷最⼤接收幀率非常有用。
此外,還需要一個監控工具來追蹤匯流排的負載情況。canbusload 指令可以完成這項任務。
cangen Options
cansequence optionsPractical results<span class="EOP SCXW14757305 BCX0" data-ccp-props="{}" style="box-sizing: border-box; -webkit-user-drag: none; -webkit-tap-highlight-color: transparent; margin: 0px; padding: 0px; user-select: text; color: rgb(0, 0, 0); font-size: 14pt; white-space-collapse: preserve; line-height: 23.7417px; font-family: " times="" new="" roman",="" "times="" roman_embeddedfont",="" roman_msfontservice",="" serif;"="">
SUNCAN Configuration
Wiring
(此處可插入接線圖或文字描述)
Practical Results
測試數據突顯了兩個重點:
‧ SUNCAN 在 SocketCAN 上可達到最高 5.3 Mbps 的吞吐量。
‧ 最大接收速率可達到每秒 16,875 幀。
SUNCAN CAN FD 實作展示:實際效能評估 Linux
SUNCAN CAN FD in Action: Practical Evaluation and Performance
Linux
Introduction
雖然業界普遍定義 CAN FD 的數據速率可達 8 Mbps,但實際吞吐量往往較低。這是由於硬體與軟體設計中引入的延遲,以及仲裁階段仍需以 CAN 2.0 規範的較低速率運作。結果,真實環境下的效能很少能達到理論最大值。
本文將透過在 Linux 平台上測試 SUNCAN 的實際吞吐量,進行效能評估。我們會在下一篇文章中再探討 Windows 平台的表現。
In Action - Linux
Linux 核心提供了用於 CAN 的 Socket API,而目前市面上幾乎所有知名的 CAN 產品都支援 SocketCAN,這已成為 Linux 上 CAN 應用的主流方式。當然,SUNCAN 也不例外。在本文中,我們將透過 SocketCAN 來實際測試 SUNCAN 的效能表現。
Platform
can-utils
can-utils 是一組用於操作 SocketCAN 的命令列工具,SocketCAN 是 Linux 核心內建的 CAN 子系統。其中有兩個指令特別適合用來驗證 CAN FD 的效能:cangen 與 cansequence。
cangen 可以持續不間斷地傳送 64 位元組的資料幀,幀與幀之間沒有間隙。這樣能夠測試實際的最⼤傳輸與接收位元速率。
cansequence 則是依序傳送只有單一位元組有效載荷的資料幀,並執行資料完整性檢查。這對於評估匯流排穩定性以及判斷最⼤接收幀率非常有用。
此外,還需要一個監控工具來追蹤匯流排的負載情況。canbusload 指令可以完成這項任務。
cangen Options
cansequence optionsPractical results<span class="EOP SCXW14757305 BCX0" data-ccp-props="{}" style="box-sizing: border-box; -webkit-user-drag: none; -webkit-tap-highlight-color: transparent; margin: 0px; padding: 0px; user-select: text; color: rgb(0, 0, 0); font-size: 14pt; white-space-collapse: preserve; line-height: 23.7417px; font-family: " times="" new="" roman",="" "times="" roman_embeddedfont",="" roman_msfontservice",="" serif;"="">
SUNCAN Configuration
Wiring
(此處可插入接線圖或文字描述)
Practical Results
測試數據突顯了兩個重點:
‧ SUNCAN 在 SocketCAN 上可達到最高 5.3 Mbps 的吞吐量。
‧ 最大接收速率可達到每秒 16,875 幀。
SUNCAN CAN FD 實作展示:實際效能評估 Linux
SUNCAN CAN FD in Action: Practical Evaluation and Performance
Linux
Introduction
雖然業界普遍定義 CAN FD 的數據速率可達 8 Mbps,但實際吞吐量往往較低。這是由於硬體與軟體設計中引入的延遲,以及仲裁階段仍需以 CAN 2.0 規範的較低速率運作。結果,真實環境下的效能很少能達到理論最大值。
本文將透過在 Linux 平台上測試 SUNCAN 的實際吞吐量,進行效能評估。我們會在下一篇文章中再探討 Windows 平台的表現。
In Action - Linux
Linux 核心提供了用於 CAN 的 Socket API,而目前市面上幾乎所有知名的 CAN 產品都支援 SocketCAN,這已成為 Linux 上 CAN 應用的主流方式。當然,SUNCAN 也不例外。在本文中,我們將透過 SocketCAN 來實際測試 SUNCAN 的效能表現。
Platform
can-utils
can-utils 是一組用於操作 SocketCAN 的命令列工具,SocketCAN 是 Linux 核心內建的 CAN 子系統。其中有兩個指令特別適合用來驗證 CAN FD 的效能:cangen 與 cansequence。
cangen 可以持續不間斷地傳送 64 位元組的資料幀,幀與幀之間沒有間隙。這樣能夠測試實際的最⼤傳輸與接收位元速率。
cansequence 則是依序傳送只有單一位元組有效載荷的資料幀,並執行資料完整性檢查。這對於評估匯流排穩定性以及判斷最⼤接收幀率非常有用。
此外,還需要一個監控工具來追蹤匯流排的負載情況。canbusload 指令可以完成這項任務。
cangen Options
cansequence optionsPractical results<span class="EOP SCXW14757305 BCX0" data-ccp-props="{}" style="box-sizing: border-box; -webkit-user-drag: none; -webkit-tap-highlight-color: transparent; margin: 0px; padding: 0px; user-select: text; color: rgb(0, 0, 0); font-size: 14pt; white-space-collapse: preserve; line-height: 23.7417px; font-family: " times="" new="" roman",="" "times="" roman_embeddedfont",="" roman_msfontservice",="" serif;"="">
SUNCAN Configuration
Wiring
(此處可插入接線圖或文字描述)
Practical Results
測試數據突顯了兩個重點:
‧ SUNCAN 在 SocketCAN 上可達到最高 5.3 Mbps 的吞吐量。
‧ 最大接收速率可達到每秒 16,875 幀。
SUNCAN CAN FD 實作展示:實際效能評估 Linux
SUNCAN CAN FD in Action: Practical Evaluation and Performance
Linux
Introduction
雖然業界普遍定義 CAN FD 的數據速率可達 8 Mbps,但實際吞吐量往往較低。這是由於硬體與軟體設計中引入的延遲,以及仲裁階段仍需以 CAN 2.0 規範的較低速率運作。結果,真實環境下的效能很少能達到理論最大值。
本文將透過在 Linux 平台上測試 SUNCAN 的實際吞吐量,進行效能評估。我們會在下一篇文章中再探討 Windows 平台的表現。
In Action - Linux
Linux 核心提供了用於 CAN 的 Socket API,而目前市面上幾乎所有知名的 CAN 產品都支援 SocketCAN,這已成為 Linux 上 CAN 應用的主流方式。當然,SUNCAN 也不例外。在本文中,我們將透過 SocketCAN 來實際測試 SUNCAN 的效能表現。
Platform
can-utils
can-utils 是一組用於操作 SocketCAN 的命令列工具,SocketCAN 是 Linux 核心內建的 CAN 子系統。其中有兩個指令特別適合用來驗證 CAN FD 的效能:cangen 與 cansequence。
cangen 可以持續不間斷地傳送 64 位元組的資料幀,幀與幀之間沒有間隙。這樣能夠測試實際的最⼤傳輸與接收位元速率。
cansequence 則是依序傳送只有單一位元組有效載荷的資料幀,並執行資料完整性檢查。這對於評估匯流排穩定性以及判斷最⼤接收幀率非常有用。
此外,還需要一個監控工具來追蹤匯流排的負載情況。canbusload 指令可以完成這項任務。
cangen Options
cansequence optionsPractical results<span class="EOP SCXW14757305 BCX0" data-ccp-props="{}" style="box-sizing: border-box; -webkit-user-drag: none; -webkit-tap-highlight-color: transparent; margin: 0px; padding: 0px; user-select: text; color: rgb(0, 0, 0); font-size: 14pt; white-space-collapse: preserve; line-height: 23.7417px; font-family: " times="" new="" roman",="" "times="" roman_embeddedfont",="" roman_msfontservice",="" serif;"="">
SUNCAN Configuration
Wiring
(此處可插入接線圖或文字描述)
Practical Results
測試數據突顯了兩個重點:
‧ SUNCAN 在 SocketCAN 上可達到最高 5.3 Mbps 的吞吐量。
‧ 最大接收速率可達到每秒 16,875 幀。