a片在线观看免费看视频_欧美婬片在线a_同性男男无遮挡无码视频_久久99狠狠色精品一区_《性妲己》电影在线观看_久久久99婷婷久久久久久_亚洲精品久久久久58_激情在线成人福利小电影_色婷婷久久综合五月激情网

0 賣盤信息
BOM詢價
您現在的位置: 首頁 > 技術方案 >工業控制 > 通過系統級測試避免CAN收發器數據傳輸問題

通過系統級測試避免CAN收發器數據傳輸問題

來源: digikey
2023-10-25
類別:工業控制
eye 48
文章創建人 拍明芯城

  作者:Steven Keeping

  控制器局域網 (CAN) 是一種經過驗證且強大的通信標準,用于工業自動化和汽車領域等。該技術存在兩個版本:CAN2.0 和更新版本 CAN-Flexible Data (FD)。傳統 CAN2.0 系統可以通過添加 CAN-FD 節點進行增強,這些節點提供更高的有效負載吞吐量來支持關鍵通信事件。

  這些技術總體上是兼容的,但隨著系統的復雜性和總線長度的增加,混合系統中CAN-FD的較高速度可能會導致同步問題,導致傳輸失敗。

  對于簡單系統來說,涉及連接兩個控制器/收發器對的單個短總線的 CAN 系統測試可能是令人滿意的。然而,此測試通常無法檢測到結合 CAN2.0 和 CAN-FD 組件的更復雜的多節點系統中可能出現的問題。使用生產系統的雙胞胎對所有潛在用例進行專門測試可以檢測現場可能發生的所有問題。

  本文簡要介紹了CAN2.0和CAN-FD并解釋了傳輸挑戰。然后描述了確保使用這些網絡的系統表現出最小現場故障的測試技術。它介紹了Analog Devices的示例組件,其中包含故障檢測和報告,并展示了使用此類組件如何加速已部署系統的測試階段和故障排除。還突出顯示了相關的評估板。

  什么是CAN2.0和CAN-FD?

  CAN 是具有內置故障處理功能的分布式通信標準。物理層 (PHY) 和數據鏈路層 (DLL) 在 ISO-118981 標準中指定。

  CAN 的特點包括:

  總線上允許多個主機

  消息固有的優先級

  按消息優先級進行總線仲裁

  多個級別的錯誤檢測和恢復

  使用單獨的時鐘源跨節點同步數據時序

  CAN 使用差分電壓數據傳輸方案,具有兩種總線電壓狀態:“隱性”(驅動器輸出為高阻抗)和“顯性”,閾值如表 1 所示。

  邏輯RS-485 電平CAN狀態CAN 電平

  1A-B≥+200mV隱性CANH – CANL ≤ 0.5V

  0A - B ≤ -200 毫伏主導的CANH – CANL ≥ 0.9V

  表 1:與 RS-485 相比的 CAN 隱性和顯性電壓電平。請注意,主導(較高)電壓對應于邏輯“0”。 (圖片來源:Analog Devices)

  節點傳輸邏輯“0”的顯性狀態(在此狀態下,一條總線(CANH)為高電平,另一條總線(CANL)為低電平)和邏輯“1”的隱性狀態。通過在標準幀或錯誤幀結束后檢測多個隱性位來區分空閑 CAN 總線與隱性位傳輸模式的 CAN 總線(圖 1)。

  

image.png


  圖1:CAN傳輸方案。空閑模式由多個隱性位標識。 (圖片來源:Analog Devices)

  CAN 收發器提供 DLL、CAN 控制器(通常嵌入到另一個設備(例如微控制器)內)和 CAN 總線的物理接線之間的差分 PHY 接口。圖 2 顯示了實現 CAN 應用程序所需的各種元素,以及它們與開放系統互連 (OSI) 層的關系以及每個項目實現的功能。

  

1.png


  圖 2:CAN 收發器構成 CAN 控制器和 CAN 總線之間的差分 PHY 接口。 (圖片來源:Analog Devices)

  CAN2.0 于 1991 年推出,標稱吞吐量為 500 kbits/s (Kbits/s)。由于這一數據速率有時不足以滿足關鍵通信事件的需要,因此 CAN-FD 于 2012 年推出。CAN-FD 在正常操作條件下提供高達 2 兆位每秒 (Mbits/s) 的標稱吞吐量,在正常操作條件下提供高達 5 Mbits/s 的標稱吞吐量用于診斷或編程。請注意,更高速的通信僅適用于消息有效負載;消息的其他元素,例如 11 位標識符、循環冗余校驗 (CRC) 和確認 (ACK),以 500 Kbits/s 的 CAN2.0 速率發送。

  CAN2.0 和 CAN-FD 之間的另一個區別在于標準數據幀有效負載,它從 CAN2.0 的 8 字節 (B) 增加到 CAN-FD 的 64 B。有效負載的增加通過提高開銷/數據比使 CAN-FD 通信更加高效。此外,以前由于 CAN2.0 的 8 B 有效負載限制而必須拆分的消息現在可以使用 CAN-FD 合并為一條消息。此外,由于數據速率更高且有效負載增加,因此可以通過 CAN-FD 消息加密來增強安全性。

  由于 CAN-FD 控制器同時支持 CAN2.0 和 CAN-FD 協議,因此在同一網絡中混合使用 CAN2.0 和 CAN-FD 節點是很常見的。混合節點很受歡迎,因為它允許傳統網絡在較長時間內遷移到更快的協議。混合系統的一個缺點是額外的成本和復雜性,因為收發器必須能夠支持 CAN2.0 節點上的 CAN-FD 過濾方法,以確保在 CAN-FD 通信期間不會創建錯誤幀。

  CAN的仲裁和錯誤機制

  任何連接的 CAN 節點都可以將數據傳輸到總線上。為了避免通信沖突,節點對總線的使用進行仲裁,以便消息根據其優先級依次傳輸。 CAN采用非破壞性、透明的仲裁;在仲裁期間成功的節點繼續傳輸其較高優先級的消息,而沒有任何其他節點干擾或破壞該信息。這種仲裁是可能的,因為顯性位的傳輸會覆蓋隱性總線狀態。

  標準數據幀包括消息標識符和幾個標志位。該信息被稱為“仲裁字段”。它規定了仲裁,從而規定了消息優先級。 ID 較低(開頭“0”較多)的消息具有較高優先級(圖 3)。

  

image.png


  圖 3:CAN 標準數據幀包括消息標識符以及 RTR 和 IDE 標志位。該仲裁字段規定仲裁和消息優先級。 (圖片來源:Analog Devices)

  即使有仲裁方案,事情也可能會出錯。為了解決問題,CAN 協議具有支持錯誤檢查和處理的機制。這些機制包括:

  傳輸位驗證

  CRC校驗

  固定格式位字段檢查

  強制消息ACK

  使用以下機制處理錯誤:

  錯誤幀

  錯誤計數器

  節點錯誤狀態

  任何 CAN 控制器都可以檢測錯誤并通過觸發錯誤幀和錯誤節點計數器做出反應。錯誤幀通過使用六個連續的顯性或隱性位來區分。這樣的序列與正常的傳輸規則不一致,使其可以被其他節點檢測到。發送錯誤幀的節點隨后發送隱性位,直到檢測到總線處于隱性狀態。進一步傳輸七個隱性位后,節點可以嘗試傳輸常規 CAN 幀(圖 4)。

  image.png

  圖 4:在此錯誤傳輸示例中(由于額外位 [1] 導致 CRC 位錯誤),最右側顯示了六個連續位錯誤幀。 (圖片來源:Analog Devices)

  除了錯誤幀傳輸之外,每個 CAN 節點還實現發送和接收錯誤計數器。錯誤使計數加一,而成功發送或接收消息則使計數器減一。根據錯誤計數器,節點可能處于“錯誤主動”、“錯誤被動”或“總線關閉”狀態。在錯誤活動狀態下,節點可以在總線上進行通信,并在檢測到錯誤時發送活動錯誤標志。當計數器超過127時,出現錯誤被動狀態;在這種狀態下,節點只能發送被動錯誤標志。一旦計數器低于 127,節點將再次變為錯誤活動狀態。如果計數器超過 256,節點將進入總線關閉狀態,并且無法在總線上通信。節點計數器在接收到 128 個 11 個連續隱性位的序列后可以重置為 0。

  綜合測試的重要性

  CAN 的仲裁和錯誤機制有助于在發生故障時保持系統在現場運行。然而,通過設計限制發送和接收故障的系統,可以實現更高效率的操作。在多種操作場景下測試所提議的系統是在部署之前識別和修復弱點的一種方法。

  一種常見的技術是通過使用函數發生器將典型的操作標準數據幀傳輸到收發器的 TxD 引腳并檢查是否發生任何錯誤來測試所選 CAN 收發器。雖然這是對單節點的合理測試,但它并不能很好地代表具有長總線的多節點系統在現場的執行情況。例如,復雜系統可能出現的問題包括高頻操作期間電路存根產生的反射和其他偽影。這些會在位之間引入相移。

  CAN 的仲裁機制僅在位同步時才起作用。如果比特到比特的相移超過單個比特傳輸時間的二分之一,則同步失敗,并且仲裁不可能。

  在以 500 Kbits/s 至 1 Mbit/s 運行的 CAN2.0 傳統系統中,單比特傳輸時間足夠長,導致相移很少成為問題。然而,由于 CAN-FD 的吞吐速度更高,比特傳輸時間縮短,并且相移很快就會變得顯著。

  為了緩解此類挑戰,需要從簡單地測試單個節點轉向通過復制完整的終端系統并在各種操作條件下進行測試來驗證設計。雖然這比基本測試更耗時、更昂貴,但它比處理現場故障和不滿的客戶要便宜得多。

  一個實際的例子

  要了解相移測試在實踐中的工作原理,請考慮使用入圍供應商提供的 CAN 收發器和 CAN 控制器設計的系統。該節點連接到 20 米 (m) 總線,該總線還支持許多其他節點,包括 CAN2.0 和 CAN-FD 組件。出于測試目的,節點的傳輸速度為 13.3 Mbits/s,相當于 75 納秒 (ns) 的位寬度。出于同步和仲裁目的,控制器以 TxD 位寬度的 80% 進行采樣,因此需要 0.8 x 75 = 60 ns 的最小 RxD 位寬度,包括上升時間、下降時間和環路延遲。測試組件產生 48 ns 的 TxD 位寬,導致系統故障。

  在替代 CAN 收發器(來自 Analog Devices 的MAX33012EASA+)上執行了相同的測試。在此測試中,TxD 位寬度在 75 ns 時測量,RxD 位寬度在 72 ns 時測量。 72 ns 位寬超出了 60 ns 的 80% 采樣時間要求,因此系統同步和仲裁運行令人滿意。 13.3 Mbits/s 的吞吐量比系統在目標應用中使用的吞吐量要快,這表明它足夠強大,可以在所有預期的操作條件下運行(圖 5)。

  

image.png


  圖 5:在 20 m 總線上以 13.3 Mbits/s(75 ns TxD 位寬)運行 MAX33012EASA+ CAN 收發器的測試結果。 RxD 位寬為 72 ns,足以確保控制器的 80% 采樣時間(60 ns)得到滿足并實現同步。 (圖片來源:Analog Devices)

  內置故障排除

  通過使用包含故障檢測和報告的組件,可以使測試周期變得更容易且更便宜。 MAX33012EASA+ CAN 收發器等組件不僅可以快速突出原型和預生產 CAN 電路的問題,而且對于快速故障排除對于實時控制系統部署非常重要的應用也非常有用。

  MAX33012EASA+是一款+5V CAN收發器,可解決過流、過壓和傳輸故障等常見故障。它具有高達 ±65 V 的故障保護,使其適合需要過壓保護的應用。 ±25 伏的共模電壓范圍可在嘈雜的環境(例如重型機械環境)中進行通信。 CANH 和 CANL 輸出具有短路電流限制,并通過將驅動器輸出置于高阻抗狀態的熱關斷電路來防止功耗過高。

  MAX33012EASA+ 的工作速率高達 5 Mbits/s,并可選擇將壓擺率降低至 8 伏/微秒 (μs),以最大程度地減少電磁干擾 (EMI),并允許使用非屏蔽雙絞線或并行電纜(圖 6)。

  

image.png


  圖 6:所示為多模系統中的 MAX33012EASA+ 應用電路。在此示例中,微控制器包括嵌入式 CAN 控制器。 (圖片來源:Analog Devices)

  CAN 收發器的故障檢測在加電時通過 TxD 傳遞 100 個從低到高的轉換(通常是一兩個標準數據幀,具體取決于使用的協議)來啟用。啟用故障檢測后,如果檢測到故障,則需要 TxD 上另外 16 個低到高轉換來傳輸故障代碼。最后,還需要 10 個脈沖才能清除故障。

  當故障檢測使能后連續 10 個周期 RxD 上的信號與 TxD 不匹配時,將觸發傳輸故障檢測。例如,當兩個終端電阻器均缺失,或者 CANH 與地之間或 CANL 與 VDD 之間存在短路時,就會發生這種情況,從而導致差分信號不符合規格。

  Analog Devices 提供評估板 CANbus 接口 Arduino 平臺評估板 MAX33012E,可用于演示 MAX33012E 的功能。雖然該設備具有 Arduino 擴展板外形尺寸,但它可以用作獨立的評估板。

  結論

  為了確保多模式 CAN2.0 和 CAN-FD 混合系統可靠的現場運行,徹底測試整個設計非常重要。然而,在檢測故障時,簡單的單節點測試是不夠的,這些故障隨后可能因同步問題而導致現場故障,從而破壞技術的仲裁機制。通過選擇具有內置故障檢測和報告功能的 CAN 收發器,可以簡化混合多節點 CAN 系統的初始測試和后續現場故障排除。



責任編輯:David

【免責聲明】

1、本文內容、數據、圖表等來源于網絡引用或其他公開資料,版權歸屬原作者、原發表出處。若版權所有方對本文的引用持有異議,請聯系拍明芯城(marketing@iczoom.com),本方將及時處理。

2、本文的引用僅供讀者交流學習使用,不涉及商業目的。

3、本文內容僅代表作者觀點,拍明芯城不對內容的準確性、可靠性或完整性提供明示或暗示的保證。讀者閱讀本文后做出的決定或行為,是基于自主意愿和獨立判斷做出的,請讀者明確相關結果。

4、如需轉載本方擁有版權的文章,請聯系拍明芯城(marketing@iczoom.com)注明“轉載原因”。未經允許私自轉載拍明芯城將保留追究其法律責任的權利。

拍明芯城擁有對此聲明的最終解釋權。

標簽: CAN收發器

相關資訊

拍明芯城微信圖標

各大手機應用商城搜索“拍明芯城”

下載客戶端,隨時隨地買賣元器件!

拍明芯城公眾號
拍明芯城抖音
拍明芯城b站
拍明芯城頭條
拍明芯城微博
拍明芯城視頻號
拍明
廣告
恒捷廣告
廣告
深亞廣告
廣告
原廠直供
廣告