【導讀】具有靈活數據速率的控制器局域網(CAN FD)支持更高帶寬通信,從而滿足工業自動化、HVAC、農業和醫療健康領域的多節點網絡應用需求。圖1所示的電路通過與現有串行外設接口(SPI)總線連接,能夠在Arduino Uno型平臺上實現高達8 Mbps的CAN FD總線連接數據速率。
評估和設計支持
電路評估板
CN-0401電路評估板(EVAL-ADM3055E-ARDZ)
超低功耗Arduino尺寸開發板(EVAL-ADICUP3029)
設計和集成文件
原理圖、布局文件、物料清單與軟件
電路功能與優勢
具有靈活數據速率的控制器局域網(CAN FD)支持更高帶寬通信,從而滿足工業自動化、HVAC、農業和醫療健康領域的多節點網絡應用需求。圖1所示的電路通過與現有串行外設接口(SPI)總線連接,能夠在Arduino Uno型平臺上實現高達8 Mbps的CAN FD總線連接數據速率。
CAN FD收發器具有集成信號和電源增強隔離功能。集成隔離式DC-DC轉換器從邏輯端獲取電源,為總線端隔離通道和收發器供電,因此CAN FD總線不需要外部電源。
隔離型收發器具有出色的EMC穩健性。±25 V的擴展共模范圍超過ISO11898-2:2016的要求,且對接收CAN幀時產生的局部接地電位差具有較高耐受能力。集成ESD保護功能在CANH和CANL總線引腳上提供IEC 61000-4-2 ESD保護。差分總線引腳可承受24 V系統的接線錯誤和短路,并在CANH和CANL引腳上提供±40 V故障保護。
CAN總線可連接兩個或數百個節點。根據應用要求,可使用不同類型的電纜進行連接。電纜可以是Cat5e電纜等較低成本的非屏蔽雙絞線,也可以是PROFIBUS電纜等更高質量的屏蔽電纜。對于任何類型的電纜,理想的CAN總線以菊花鏈模式連接各節點,并在兩端提供端接。可通過螺絲端子或CAN CiA 303-1插頭9引腳sub-D端口與總線進行連接。
為實現總線末端端接,電路中使用集成輔助隔離數字通道對總線端接進行運行時配置。可切換端接電路在CAN總線線路之間連接120Ω帶共模濾波電容的分離式端接。可切換端接允許在改變CAN總線時,對端接位置進行軟件配置。使用可切換端接,只需修改軟件,每個板即可用于信號路徑上的任何節點。
此外,可通過軟件在運行時對電路進行配置,從而進入較低功耗待機模式。在該狀態下,只有從遠程節點接收到ISO11898-2:2016定義的遠程喚醒序列后,隔離式CAN FD收發器才會做出響應。
圖1.EVAL-ADM3055E-ARDZ的簡化原理圖
電路描述
CAN FD協議
CAN是一種強大的通信網絡,無需在單個微控制器之間進行點對點布線。
每個節點都連接在一根雙絞線上,而不是連接必須相互共享信息的每個點(或CAN術語中的節點)。這種配置降低了布線成本和復雜性。與很多其他協議不同,CAN是多主機協議,節點的物理位置并不能決定哪個節點在CAN總線上優先。在SPI、I2C或RS-485中,由一個節點負責控制和服務網絡,而在CAN總線上則不存在這種主從關系。相反,由消息ID或消息編程重要性決定了控制總線的節點的優先級。單個節點可發送消息或各種優先級。AN-1123應用筆記《控制器局域網(CAN)實施指南》提供了有關這方面的更多詳細信息。
兼容CAN FD的控制器向后兼容傳統CAN,并可接納傳統CAN框架。在同一網絡上,可以讓一組節點與傳統CAN通信,而其他節點與CAN FD通信。不過,在添加CAN FD節點時,必須考慮現有CAN控制器的陳舊年份。原有的傳統CAN控制器可能會將CAN FD幀的仲裁階段識別為錯誤,并產生一個覆蓋CAN FD幀的錯誤幀。這樣的控制器會導致CAN FD通信無法進行。這些控制器需要更換,或限制未來節點使用傳統CAN。該電路中的控制器MCP2518FD可在傳統CAN或CAN FD模式下運行。在傳統CAN模式下工作時,它可以接納CAN FD幀。
快速環路延遲和高速數據速率
CAN的一個顯著特點是每個CAN幀開始時都有仲裁階段。節點之間相互仲裁,通過各自傳輸一串顯性和隱性位元,來確定消息傳輸優先級。每個位元在整個網絡中傳輸都需要一定的時間,每個參與仲裁的節點都必須有足夠的時間做出響應。這意味著在仲裁階段,最大數據傳輸速率受限于網絡上任意兩個CAN控制器之間最長的總信號傳輸時間。
如圖2所示,信號路徑從節點A CAN控制器開始傳輸時開始。信號首先通過節點A發送器,然后在電纜上傳輸,再通過最遠節點的接收器,最后到達最遠的CAN控制器。在仲裁階段,接收節點可能也在發送信號,因此還必須考慮從節點B到節點A的信號傳輸延遲。這種傳輸延遲的最壞情況決定仲裁階段的絕對最大數據傳輸速率。
圖2.CAN總線的總傳輸延遲
總線線路的傳輸延遲隨電纜長度和結構而增加。電纜長度通常由節點所在的物理位置決定,因此這部分信號傳輸延遲基本上是固定的。通過收發器接收和發送電路的傳輸延遲稱為環路延遲。ADM3055E的最大環路延遲僅為150 ns,處于行業先進水平,這使得網絡設計人員可以減少用于收發器的比特時間。這些節省的時間可轉化為更高的仲裁數據速率、更長的總線電纜或更長的總線信號建立時間,從而在任何仲裁數據速率下提高通信穩健性。有關總傳輸延遲和優化CAN網絡的更多詳情,請參閱《模擬對話》文章《配置控制器局域網絡(CAN)位時序,優化系統性能》。
相比之下,CAN FD幀數據階段的最大數據速率并不是由傳輸延遲決定的,而是由網絡信號質量決定的。阻抗失配和電纜分支造成的反射是限制多節點網絡數據傳輸速率的因素之一。隨著CAN FD多節點網絡投入使用,大多數通常都會保守地選擇2 Mbps的數據傳輸速率。ADM3055E信號和電源隔離收發器的數據傳輸速率可高達12 Mbps,支持點對點連接的快速數據傳輸,并使多節點網絡適應未來更快的數據傳輸速率要求。
待機模式和遠程喚醒
CAN FD控制器和隔離型CAN FD收發器可通過SPI總線由開發平臺發出的命令,設置為待機模式。CAN FD控制器會將自身和隔離型CAN FD收發器設置為待機模式。在待機模式下,收發器的發送功能會禁用,其輸出將設置為高阻抗狀態。
收發器只能由本地CAN FD控制器退出待機模式,但收發器會響應其他節點發出的遠程喚醒呼叫。ISO11898-2:2016和ADM3055E數據手冊中定義了遠程喚醒模式。該模式可以在無數據幀的仲裁字段中發送,也可以在數據字段中發送。它必須滿足收發器的時序要求。當接收到遠程喚醒模式時,ADM3055E收發器的RXD引腳會切換,以響應CAN FD總線上的低速數據。
RXD引腳上的狀態變化用于觸發CAN FD控制器的中斷。當ADM3055E接收到遠程喚醒模式時,它不會退出待機模式。然后,由開發設置決定是否響應或切換收發器的待機引腳,以停止接收低速數據并返回待機模式,直到再次接收到遠程喚醒模式。在待機模式下,收發器的隔離輔助通道會鎖定在最后一個狀態,其集成的isoPower?隔離直流-直流轉換器繼續工作,為總線側電路供電。
隔離
惡劣的環境、長時間的物理分隔,以及節點之間不同的電源都會導致局部接地電位不同,并且是經常如此。不同的局部接地電位會導致電流流經地線,從而引起共模偏移和噪聲。隔離物理總線線路可斷開接地環路,并消除這些問題。ADM3055E可斷開接地環路,并已通過CAN FD節點和CAN總線線路之間5 kV rms信號和電源隔離的系統級安全認證。
可切換端接
為獲得良好的信號完整性,應在CAN總線兩端實施端接。可切換端接允許軟件配置端接的位置。軟件控制對于由于增加或刪除節點而導致對CAN總線進行即時網絡重新配置時,非常有用。
為盡可能提高網絡可靠性,端接電路不得限制共模范圍。端接電路還必須不受信號共模范圍的影響,或者更具體地說,端接電路必須在設置為“關”時保持關閉,設置為“開”時保持開啟。為了滿足所需的電路特性,EVAL-ADM3055E-ARDZ評估板上的端接電路使用非常緊湊的光隔離SPST固態繼電器(SSR),隨傳輸節點浮動。
通過ADM3055E的輔助隔離通道控制繼電器,意味著繼電器不會橋接隔離間隙。由于繼電器不會橋接隔離間隙,因此無需提供安全隔離功能,并可選擇盡可能小的封裝,以節省印刷電路板(PCB)面積。
120Ω端接電阻可通過單個電阻實現。不過,將單個電阻分成兩個串聯的60 Ω電阻可為暴露在CAN總線上的兩個繼電器引腳提供低成本的靜電放電(ESD)保護。利用第二個SSR實現可切換端接電路,還可增加一個濾波電容。增加的這個電容與分路端接電阻一起提供低通濾波器,以減少CAN總線上的共模噪聲。
圖3.可切換120 Ω端接電阻,使用通過輔助通道進行控制的PhotoMOS繼電器
靜音模式和斜率控制模式
CN-0401電路還支持通過軟件可配置試錯,并配合收發器的靜音模式來發現總線波特率。靜音模式會禁用收發器的發送通道,允許CAN控制器在嘗試與總線數據速率同步時產生錯誤幀,但不會因這些錯誤幀而中斷總線通信。
通過CN-0401電路可以訪問ADM3055E斜坡控制模式。對于低速信令,斜率控制可降低CANH和CANL從隱性到顯性變遷的擺率。降低擺率可有效減少快速邊沿引起的振鈴和電磁干擾(EMI)。請勿將斜率控制模式用于高速信令。
CAN FD控制器
EVAL-ADM3055E-ARDZ使用MCP2518FD外部CAN FD控制器。該控制器和ADM3055E收發器兼容傳統CAN、CAN 2.0B和CAN FD。加入CAN或CAN 2.0B需要更改軟件。
獨立式CAN控制器和ADM3055E為系統設計人員提供了一個便利的選項,只需連接到通用的SPI端口,即可在現有設計中添加一個或多個隔離CAN端口。MCP2518FD支持的最大CAN FD數據速率為8 Mbps。參見MCP2518FD數據手冊獲取更多信息。
常見變化
EVAL-ADM3055E-ARDZ使用ADM3055E收發器。這種增強型信號和電源隔離收發器的額定過電壓為1分鐘5kv rms。封裝的最小爬電距離為8.3毫米,符合強化安全標準。對于需要較低隔離能力和優先考慮電路板布局空間的應用,可以使用ADM3057E。對于具有總線側電源的應用,ADM3056E是一種增強型信號隔離解決方案。
電路評估與測試
本節概述了使用EVAL-ADICUP3029對EVAL-ADM3055E-ARDZ進行簡單評估的程序。有關硬件和軟件設置的更多信息,請訪問EVAL-ADM3055E-ARDZ用戶指南(CN0401 (EVAL-ADM3055E-ARDZ) 擴展板概述)。
設備要求
● 帶USB端口和Windows? 7(32位)或更高版本的PC
● 串行終端(例如PuTTY或Tera Term)
● 兩個EVAL-ADM3055E-ARDZ電路評估板
● 兩個EVAL-ADICUP3029開發板
● CrossCore? Embedded Studio或預構建的.hex文件
開始使用
1.在CrossCore Embedded Studio中打開CN0401項目。
2.檢查所有用戶定義設置是否正確,詳見EVAL-ADM3055E-ARDZ用戶指南。
3.構建項目并將項目上傳到ADICUP3029板(也可將預構建的hex文件復制(拖放)到ADICUP3029板的大容量存儲設備中)。
功能框圖
圖4所示為測試設置的功能框圖。PCB系留節點軟件設置一個命令行界面(CLI),該界面通過PC中運行的串行終端發出指令。通過串行終端,用戶可以命令其他節點并發送遠程喚醒消息。
圖4.EVAL-ADM3055E-ARDZ功能測試框圖
測試設置
如圖5所示,使用Arduino兼容接頭將EVAL-ADM3055E-ARDZ安裝在EVAL-ADICUP3029上,即可設置CAN節點。
圖5.使用EVAL-ADM3055E-ARDZ和EVAL-ADICUP3029設置CAN節點
通信和遠程喚醒測試
在兩個不同的CAN節點上構建并加載示例軟件后,兩塊板(連接后)通過CAN FD連接相互通信。圖6所示為雙節點CAN連接。
圖6.雙節點CAN連接測試設置
默認仲裁和數據傳輸速度分別為500 kbps和2 Mbps。電路板通過USB電纜連接到PC,每個節點都有自己的在串行終端上運行的CLI。這種配置在設備之間建立雙向CAN FD通信,并且該對設備成為CAN總線上的兩個獨立節點。
起初,所有設備都處于休眠模式,但可以通過CLI命令喚醒,并在CAN總線上發送ASCII消息。消息傳輸的超時時間為5秒,并且會重復發送,直到另一個節點確認為止。此消息(尤其是較慢的仲裁階段)會喚醒另一個節點,后者會確認消息并在該節點的串行終端接口上顯示該消息。然后,兩個節點重新進入休眠狀態。
當連接到PC時,可以命令每個CAN節點執行通信環回測試。CAN控制器將置于外部環回模式,其中發送線路在內部連接到接收線路。CAN發送自定義消息,并檢查是否收到相同的消息。如果接收到環回消息,則在CLI上以ASCII字符形式顯示消息,ADICUP3029上的LED會閃爍。圖7所示為串行終端接收到的消息截圖。
圖7.串行終端中顯示的消息截圖
了解更多
CN-0401設計支持包
Watterson,Conal。AN-1123應用筆記《控制器局域網(CAN)實施指南》。ADI公司2012年。
Watterson,Conal。配置控制器局域網絡(CAN)位時序,優化系統性能。《模擬對話》第48卷。ADI公司2014年。
CAN in Automation (CiA)網站上提供的其他資源。
數據手冊和評估板
ADM3055E數據手冊。
CN0401 (EVAL-ADM3055E-ARDZ)擴展板概述
ADICUP3029開發板(EVAL-ADICUP3029)用戶指南
關于ADI公司
Analog Devices, Inc. (NASDAQ: ADI)是全球領先的半導體公司,致力于在現實世界與數字世界之間架起橋梁,以實現智能邊緣領域的突破性創新。ADI提供結合模擬、數字和軟件技術的解決方案,推動數字化工廠、汽車和數字醫療等領域的持續發展,應對氣候變化挑戰,并建立人與世界萬物的可靠互聯。ADI公司2022財年收入超過120億美元,全球員工2.4萬余人。攜手全球12.5萬家客戶,ADI助力創新者不斷超越一切可能。更多信息,請訪問www.analog.com/cn。
免責聲明:本文為轉載文章,轉載此文目的在于傳遞更多信息,版權歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權問題,請聯系小編進行處理。
推薦閱讀: