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