自1987年出現(xiàn)第一個(gè)控制器局域網(wǎng)(CAN)以來(lái),曾經(jīng)的汽車(chē)網(wǎng)絡(luò)接口現(xiàn)已擴(kuò)展到工業(yè)應(yīng)用領(lǐng)域。隨著占用面積的擴(kuò)大,對(duì)總線長(zhǎng)度更長(zhǎng),總線節(jié)點(diǎn)更多,數(shù)據(jù)吞吐量更高,電壓隔離度更高的收發(fā)器的需求越來(lái)越大。
目前有20多家半導(dǎo)體公司提供器件,設(shè)計(jì)人員有很多決策要做在選擇最佳設(shè)備之前,需要充分了解規(guī)范的細(xì)微差別及其最新迭代。為此,我們將深入研究規(guī)范和主題,例如不對(duì)稱(chēng),然后讓您快速了解一些有趣的CAN設(shè)備以及如何充分利用它們。
為什么選擇CAN?
控制器局域網(wǎng)(CAN總線)最早是在20世紀(jì)80年代初由Robert Bosch GmbH開(kāi)發(fā)的。第一批CAN控制器芯片于1987年在市場(chǎng)上推出,第一輛實(shí)現(xiàn)CAN總線的車(chē)輛于1988年上市。在此后的近30年里,CAN總線的使用在全世界的車(chē)輛中無(wú)處不在,包括公共汽車(chē),火車(chē),飛機(jī)和輪船在內(nèi)的各種運(yùn)輸方式。
它還廣泛應(yīng)用于工廠自動(dòng)化,農(nóng)業(yè)和重型設(shè)備,醫(yī)療設(shè)備,電梯和電梯控制等許多工業(yè)環(huán)境中。它非常適合作為低成本,低協(xié)議開(kāi)銷(xiāo),具有錯(cuò)誤檢測(cè)和重傳功能的確定性網(wǎng)絡(luò)的許多嵌入式控制應(yīng)用。
超過(guò)20家半導(dǎo)體公司提供支持CAN總線的設(shè)備,并且有許多工具供應(yīng)商以及可用的商業(yè)和開(kāi)源軟件版本 - 從驅(qū)動(dòng)程序到中間件和更高級(jí)別的協(xié)議棧。
讓我們來(lái)看看CAN總線的一些特性,這些特性使它在許多方面都很有用設(shè)置。
CAN架構(gòu)
CAN是一種多主串行總線,可連接兩個(gè)或多個(gè)電子模塊或節(jié)點(diǎn)??偩€互連(通常)是具有差分信令的雙線雙絞線。 CAN物理層收發(fā)器將CAN協(xié)議邏輯1和0轉(zhuǎn)換為總線上的顯性和隱性位,如圖1所示。
圖1 :CAN總線信令。兩個(gè)CAN引腳(CAN_H和CAN_L)形成差分對(duì)。通過(guò)收發(fā)器開(kāi)漏驅(qū)動(dòng)器將總線驅(qū)動(dòng)到顯性狀態(tài)(邏輯0)。在隱性狀態(tài)下,線路不被驅(qū)動(dòng),因此回落到它們的標(biāo)稱(chēng)電壓。 (來(lái)源:Digi-Key Electronics)
CAN收發(fā)器驅(qū)動(dòng)器是一種開(kāi)漏配置,允許多個(gè)驅(qū)動(dòng)器一次性作用于總線而不會(huì)發(fā)生沖突。總線的自然(未驅(qū)動(dòng))狀態(tài)是隱性狀態(tài)(邏輯1)。當(dāng)節(jié)點(diǎn)驅(qū)動(dòng)總線時(shí),隱性狀態(tài)將被覆蓋為顯性狀態(tài),這表示邏輯0。
CAN消息傳遞是通過(guò)一組稱(chēng)為幀的比特來(lái)完成的。有四種幀類(lèi)型,但主要類(lèi)型是數(shù)據(jù)幀,如圖2所示。
圖2: CAN數(shù)據(jù)幀的格式。新幀以前一幀的IFS(幀間間隔)之后的SOF(幀開(kāi)始)開(kāi)始。 (來(lái)源:Digi-Key Electronics)
所有節(jié)點(diǎn)都可以嘗試同時(shí)傳輸,但一次只允許一條消息在總線上傳輸。這可以通過(guò)仲裁字段實(shí)現(xiàn)。
在幀起始同步位之后,所有發(fā)送節(jié)點(diǎn)在仲裁階段發(fā)送它們的消息標(biāo)識(shí)符。標(biāo)識(shí)符代表消息的優(yōu)先級(jí) - 數(shù)字越小,優(yōu)先級(jí)越高(記住,顯性位勝過(guò)隱性)。最低標(biāo)識(shí)符贏得仲裁。失敗者停止傳輸并將其消息排隊(duì)以在下一幀中再次嘗試。
獲勝者繼續(xù)發(fā)送控制字段(表示要遵循的數(shù)據(jù)字節(jié)數(shù)),數(shù)據(jù)和循環(huán)冗余校驗(yàn)(CRC)位。在確認(rèn)(ACK)字段期間,接收到?jīng)]有錯(cuò)誤消息的所有接收節(jié)點(diǎn)都發(fā)送0位。
這種直接幀內(nèi)響應(yīng)是CAN的強(qiáng)大功能之一:發(fā)送節(jié)點(diǎn)立即知道如果他們有一個(gè)無(wú)差錯(cuò)的傳輸。然而,這對(duì)比特率施加了限制,因?yàn)榭偩€總長(zhǎng)度的雙向傳播時(shí)間不得長(zhǎng)于確認(rèn)主導(dǎo)脈沖。
現(xiàn)在稱(chēng)為經(jīng)典CAN網(wǎng)絡(luò)的另一個(gè)限制是每條消息的數(shù)據(jù)位數(shù)限制為最多8位。當(dāng)CAN首次引入時(shí),這對(duì)于車(chē)輛節(jié)點(diǎn)是足夠的,但是今天的車(chē)輛內(nèi)部和外部系統(tǒng)通常處理更大的數(shù)據(jù)尺寸。 8字節(jié)限制也會(huì)影響總線效率。為了發(fā)送64位數(shù)據(jù),46個(gè)或更多協(xié)議位用于仲裁,控制,CRC等。
CAN FD救援
CAN靈活數(shù)據(jù),或CAN FD,在2012年推出,以幫助解決古典CAN的一些局限性。 CAN FD允許以?xún)煞N不同的比特率傳輸CAN數(shù)據(jù)幀:仲裁,控制和確認(rèn)的速率較慢,字段以及數(shù)據(jù)字段的速率更快。
由于確認(rèn)包含在數(shù)據(jù)字段比特率較慢的速率可以更高,因?yàn)樗皇芸偩€上的雙向支持延遲的影響,只有發(fā)送器和接收器延遲和總線特性限制了數(shù)據(jù)速率。該方法還允許與現(xiàn)有CAN控制器向后兼容。此外,CAN FD數(shù)據(jù)幀支持多達(dá)64字節(jié)的數(shù)據(jù)以及額外的CRC位,即使數(shù)據(jù)字段較長(zhǎng),也可保持漢明距離為6。
CAN收發(fā)器規(guī)范在ISO 11898-2中有詳細(xì)說(shuō)明。該文檔的最新版本為收發(fā)器的發(fā)送器和接收器部分添加了prop延遲規(guī)范,并將總環(huán)路延遲(TXD至RXD)定義為小于255 ns。由于CAN驅(qū)動(dòng)器不是推挽式,因此發(fā)送器和接收器延遲對(duì)于顯性到隱性和隱性到顯性轉(zhuǎn)換是不對(duì)稱(chēng)的。
ISO 11898-2現(xiàn)在規(guī)定了最大不對(duì)稱(chēng)性延遲,以及收發(fā)器內(nèi)部循環(huán)時(shí)間。這很重要,因?yàn)椴粚?duì)稱(chēng)會(huì)導(dǎo)致隱性位縮短,這成為數(shù)據(jù)速率的限制因素。為了正確設(shè)計(jì)網(wǎng)絡(luò),需要知道不對(duì)稱(chēng)限制。
ISO 11898-2發(fā)送器延遲不對(duì)稱(chēng)規(guī)范定義為驅(qū)動(dòng)60Ω,100 pF總線負(fù)載時(shí)產(chǎn)生的隱性位寬,如表1所示。
數(shù)據(jù)相位比特率位標(biāo)稱(chēng)寬度總線隱性Min Buss隱性最大值2 Mbit/s 500 ns 370 ns 570 ns 5 Mbit/s 200 ns 110 ns 225 ns
表1:發(fā)送器驅(qū)動(dòng)60Ω100pF總線負(fù)載時(shí)指定延遲。 (來(lái)源:ISO 11898-2)
接收機(jī)延遲不對(duì)稱(chēng)性,表示為與標(biāo)稱(chēng)位時(shí)間的偏差,如表2所示。
數(shù)據(jù)相位比特率最小偏離正常最大偏差從正常2 Mbit/s -65 ns 40 ns 5 Mbit/s -45 ns 15 ns
表2:接收器延遲不對(duì)稱(chēng)性表示為與標(biāo)稱(chēng)位時(shí)間的偏差。 (來(lái)自ISO 11898-2的數(shù)字)
將最小和最大偏差添加到標(biāo)稱(chēng)值會(huì)給出最壞情況的最小和最大隱性位寬(不包括其他網(wǎng)絡(luò)因素,如振鈴),如表所示3。
數(shù)據(jù)相位比特率位標(biāo)稱(chēng)寬度總線隱性最小總線隱性最大最小偏離正常最大偏離正常2 Mbit/s 500 ns 435 ns 530 ns -65 ns 30 ns 5 Mbit/s 200 ns 155 ns 210 ns -45 ns 10 ns
表3:最壞情況的最小和最大隱性位寬度是通過(guò)添加最小和最大偏差得出的。 (來(lái)自ISO 11898-2的數(shù)字)
請(qǐng)注意,為5 Mbit/s數(shù)據(jù)速率指定的不對(duì)稱(chēng)性比2 Mbit/s更嚴(yán)格。高數(shù)據(jù)速率收發(fā)器可用于低數(shù)據(jù)速率網(wǎng)絡(luò)以利用這一點(diǎn)。
單個(gè)CAN收發(fā)器中的環(huán)路延遲不對(duì)稱(chēng)通常小于上面顯示的最壞情況計(jì)算并且在CAN FD收發(fā)器中規(guī)定了它們支持的數(shù)據(jù)比特率。
支持更高數(shù)據(jù)速率的CAN FD收發(fā)器現(xiàn)在已經(jīng)上市。 Microchip Technology的MCP2542FD就是一個(gè)例子,見(jiàn)圖3.
圖3:Microchip的MCP2542FD CANFD收發(fā)器支持高達(dá)8 Mbits/s的傳輸,具有改進(jìn)的支路延遲和環(huán)路延遲不對(duì)稱(chēng)性。 (來(lái)源:Microchip Technology)
其收發(fā)器環(huán)路延遲(TXD輸入轉(zhuǎn)換到RXD輸出)為120 ns,而ISO 11989-2規(guī)范為255 ns。環(huán)路延遲不對(duì)稱(chēng)性(取自數(shù)據(jù)手冊(cè))也有所改進(jìn),如表4所示。
數(shù)據(jù)相位比特率位標(biāo)稱(chēng)寬度總線隱性最小總線隱性最大值2 Mbit/s 500 ns 450 ms 550 ms 5 Mbit/s 200 ns 160 ms 220 ms 8 Mbit/s 200 ns 85 ns 140 ns
表4:MCP2542FD收發(fā)器數(shù)據(jù)表中的環(huán)路延遲不對(duì)稱(chēng)性。 (來(lái)源:Microchip Technology)
目前沒(méi)有針對(duì)8 Mbit/s收發(fā)器的ISO 11989-2規(guī)范,但通過(guò)預(yù)測(cè)需求,MCP2564FD可在較低的比特率下提供更高的性能。它還具有非常低(4μA)的待機(jī)電流和喚醒總線活動(dòng)。根據(jù)ISO 11898-2規(guī)范,還有一個(gè)支持CAN總線喚醒模式(WUP)的版本。
工業(yè)用途的含義
CAN FD規(guī)范的主要驅(qū)動(dòng)程序是為了在汽車(chē)裝配線末端以更快的速度支持更大的數(shù)據(jù)有效載荷。使用Classic CAN,可能需要幾個(gè)小時(shí)才能以500 kbit/s的速度運(yùn)行。通過(guò)使用CAN FD提供的32字節(jié)數(shù)據(jù)有效載荷,僅通過(guò)擴(kuò)展有效載荷并將數(shù)據(jù)速率提高到2 Mbit/s就可以實(shí)現(xiàn)4倍的改進(jìn)。使用64字節(jié)有效載荷和5 Mbit/s,可以提高10倍以上的帶寬。
由于相當(dāng)于8個(gè)經(jīng)典CAN數(shù)據(jù)幀可以與一個(gè)CAN FD幀一起發(fā)送,因此協(xié)議開(kāi)銷(xiāo)是顯著減少。這種總線效率的提高在工業(yè)環(huán)境中非常有用,特別是如果由于長(zhǎng)總線而導(dǎo)致數(shù)據(jù)速率較低。利用較少的開(kāi)銷(xiāo)比特,可以以較慢的數(shù)據(jù)速率傳輸更多數(shù)據(jù),并且仍然保持延遲要求。
CAN FD更大數(shù)據(jù)量的另一個(gè)優(yōu)勢(shì)是改善了對(duì)數(shù)據(jù)一致性的支持。這方面的一個(gè)例子是在多軸運(yùn)動(dòng)控制器中,其中必須具有控制器位置的時(shí)間同步視圖。這些數(shù)據(jù)集大于可在一個(gè)經(jīng)典CAN幀上傳輸?shù)臄?shù)據(jù)集,但適合CAN FD幀。將這些數(shù)據(jù)組合成一個(gè)消息傳輸?shù)目偩€效率再次提高是另一個(gè)好處。
ISO 11898標(biāo)準(zhǔn)規(guī)定最大電纜長(zhǎng)度為40米,最大存根長(zhǎng)度為0.3米,最大節(jié)點(diǎn)為30個(gè)節(jié)點(diǎn)。 1 Mbit/s仲裁階段比特率。這適用于汽車(chē)應(yīng)用,但這些限制并不適合許多工業(yè)用例。幸運(yùn)的是,可以通過(guò)仔細(xì)的網(wǎng)絡(luò)設(shè)計(jì)來(lái)調(diào)整總線速度,總線長(zhǎng)度,線纜大小和節(jié)點(diǎn)數(shù)量。
CAN in Automation(CiA)等行業(yè)組織發(fā)布了擴(kuò)展網(wǎng)絡(luò)配置的規(guī)范和建議。例如,CiA 102 CAN工業(yè)應(yīng)用物理層文檔推薦以下標(biāo)準(zhǔn)比特率,如表5所示。
比特率標(biāo)稱(chēng)比特時(shí)間1 Mbit/s1μs800kbit/s1.25μs500kbit/s 2μs250kbit/s4μs125kbit/s8μs50kbit/s20μs20kbit/s50μs10kbit/s100μs
表5:工業(yè)應(yīng)用的推薦仲裁相位比特率??偩€上的所有節(jié)點(diǎn)必須以相同的數(shù)據(jù)速率運(yùn)行。 (來(lái)源:CAN in Automation)
此外,CiA 303為少于64個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)提供標(biāo)準(zhǔn)DC參數(shù)的建議,如表6所示.CiA還為更大的節(jié)點(diǎn)網(wǎng)絡(luò)提供建議。
總線長(zhǎng)度[m]總線電纜 1 終端電阻[Ω]比特率[kbit/s]長(zhǎng)度相關(guān)電阻[mΩ/m]橫截面[mm2] 0到40 70 0.25到0.34 124 1000 40 m 40到300 < 60 0.34至0.6 150至300 100 500 m 600至1000 <26 0.75至0.8 150至300> 50 at 1 km
表圖6:針對(duì)64個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)的標(biāo)準(zhǔn)DC參數(shù)的CiA 303建議。 (來(lái)源:CAN in Automation)
推薦電纜交流參數(shù):120Ω阻抗和5 ns/m特定線路延遲
表2:建議總線電纜參數(shù),終端電阻和擴(kuò)展總線長(zhǎng)度的最大比特率。
CAN FD收發(fā)器(如MCP2564FD)是更長(zhǎng)總線長(zhǎng)度的理想選擇,因?yàn)樗鼈兏纳屏藗鞑パ舆t和環(huán)路延遲對(duì)稱(chēng)性,可提供額外的總線余量
另一款具有工業(yè)優(yōu)勢(shì)的CAN FD收發(fā)器是德州儀器的TCAN337G單收發(fā)器(圖4)。
圖4:德州儀器(TI)的TCAN337G功能框圖。其增強(qiáng)的驅(qū)動(dòng)器和接收器規(guī)格使其適用于具有大量節(jié)點(diǎn)的CAN網(wǎng)絡(luò)。 (德州儀器公司提供)
TCAN337G符合ISO 11989-2規(guī)范的2 Mbit/s和5 Mbit/s數(shù)據(jù)速率,但具有改進(jìn)的驅(qū)動(dòng)程序規(guī)范,可以滿(mǎn)足最小差分總線具有50Ω負(fù)載而非標(biāo)稱(chēng)60Ω負(fù)載的電壓。最小差分輸入電阻為30kΩ,是大多數(shù)收發(fā)器的三倍。這些改進(jìn)的最終結(jié)果是,如果所有收發(fā)器都是TCAN337G器件,則可以在網(wǎng)絡(luò)上放置多達(dá)120個(gè)節(jié)點(diǎn),耦合電阻為330Ω(長(zhǎng)達(dá)1000米)。
TCAN337G還具有故障引腳,可報(bào)告TXD和RXD主導(dǎo)超時(shí)故障,熱關(guān)斷和低壓鎖定條件,使其對(duì)高可靠性系統(tǒng)非常有用。該器件還可以在低功耗狀態(tài)下進(jìn)入休眠狀態(tài),并支持ISO 11898 CAN總線喚醒模式(WUP)。
電動(dòng)或混合動(dòng)力汽車(chē)中的高壓系統(tǒng),發(fā)電或能量存儲(chǔ)系統(tǒng)需要電隔離網(wǎng)絡(luò)以防止電擊危險(xiǎn)。這通常通過(guò)光學(xué)隔離器完成。但是,通過(guò)這些隔離器的延遲時(shí)間會(huì)增加收發(fā)器的環(huán)路延遲,使其不適合CAN FD應(yīng)用。恩智浦的TJA1052i采用新型電容隔離技術(shù)解決了這一問(wèn)題,該技術(shù)可提供高達(dá)5 kV(RMS)的隔離,見(jiàn)圖5.
圖5:對(duì)于高壓系統(tǒng),恩智浦的TJA1052i CAN FD收發(fā)器采用電容電流隔離,可實(shí)現(xiàn)5 kV短路隔離延遲時(shí)間以支持CAN FD數(shù)據(jù)速率。 (由NXP Semiconductors提供)
隔離位于RXD和TXD引腳與電路的其余部分之間。在屏障的輸入信號(hào)側(cè)(例如TXD引腳),如果輸入信號(hào)為1(或隱性),則啟用RF振蕩器。然后,該信號(hào)在屏障上電容耦合,由RF解調(diào)器接收。解調(diào)信號(hào)的存在表示隱性狀態(tài);沒(méi)有射頻能量是主導(dǎo)狀態(tài)。除了RF振蕩器和解調(diào)器位于屏障的相對(duì)側(cè)之外,該方案對(duì)于RXD以相同的方式工作。這種隔離方法增加了非常小的延遲,使TJA1052i能夠支持2 Mbits/s和5 Mbits/s的CAN FD速率。
電流隔離收發(fā)器還可以改善嘈雜環(huán)境中的CAN信號(hào)完整性。高逆變器開(kāi)關(guān)電流會(huì)引起大的接地噪聲,這些噪聲可能會(huì)耦合到信號(hào)線上并破壞數(shù)據(jù)傳輸。隔離這些信號(hào)消除了消息損壞的根源,可以顯著提高噪聲系統(tǒng)的吞吐量。
結(jié)論
自首批產(chǎn)品出現(xiàn)以來(lái),CAN總線不斷發(fā)展以滿(mǎn)足新的要求。通過(guò)CAN FD,組件制造商不斷創(chuàng)新,以便為具有更高性能要求的特定應(yīng)用優(yōu)化網(wǎng)絡(luò)。有超過(guò)20個(gè)供應(yīng)商家族可供選擇并得到廣泛而強(qiáng)大的工具鏈的支持,CAN定位于現(xiàn)在和將來(lái)支持工業(yè)網(wǎng)絡(luò)需求。
-
控制器
+關(guān)注
關(guān)注
112文章
16111瀏覽量
177083 -
CAN總線
+關(guān)注
關(guān)注
145文章
1911瀏覽量
130572 -
局域網(wǎng)
+關(guān)注
關(guān)注
5文章
739瀏覽量
46224
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論