新聞中心

EEPW首頁(yè) > 手機(jī)與無(wú)線通信 > 設(shè)計(jì)應(yīng)用 > 信號(hào)速率與線纜長(zhǎng)度的關(guān)系:CAN總線計(jì)時(shí)權(quán)衡因素

信號(hào)速率與線纜長(zhǎng)度的關(guān)系:CAN總線計(jì)時(shí)權(quán)衡因素

作者: 時(shí)間:2017-06-12 來源:網(wǎng)絡(luò) 收藏

有一個(gè)關(guān)于得克薩斯州民間英雄 Pecos Bill 的故事:那時(shí),有人打賭他不能從從得克薩斯州的加爾維斯敦游過墨西哥灣到達(dá)弗羅里達(dá)州的基韋斯特。他訓(xùn)練了一個(gè)月,當(dāng)這一天到來時(shí)他便一頭扎進(jìn)了墨西哥灣。Bill 不分晝夜地游了一個(gè)星期,期間戰(zhàn)鯊魚斗颶風(fēng)。最終,他離自己的目標(biāo)越來越近。然而,當(dāng)他在海浪中看到遠(yuǎn)處的基韋斯特時(shí),他意識(shí)到他已經(jīng)太累,無(wú)法再繼續(xù)向前游了,因此他轉(zhuǎn)身游回了得克薩斯!

致力于 通信的設(shè)計(jì)人員就像 Pecos Bill 一樣面對(duì)他們所遇到的種種挑戰(zhàn),往返信號(hào)傳輸成為一個(gè)重要的考慮因素。

當(dāng)一個(gè)以上節(jié)點(diǎn)要在共用上發(fā)送信號(hào)時(shí),控制器局域網(wǎng) () 協(xié)議的一個(gè)關(guān)鍵特性就是如何處理爭(zhēng)用問題。 使用逐位仲裁 (bit-wise arbitration) 來選擇哪一個(gè)節(jié)點(diǎn)應(yīng)該繼續(xù)信號(hào)傳輸。由于這些節(jié)點(diǎn)對(duì)每一個(gè)比特位進(jìn)行監(jiān)聽,并且必須服從于更高優(yōu)先級(jí)的消息,因此它們的響應(yīng)時(shí)間必須快到能夠在破壞下一個(gè)比特以前終止傳輸。如下面三種情況所述,這就對(duì)容許組件延遲和長(zhǎng)度以及可用信號(hào)速率構(gòu)成了一些限制。

情況 1:無(wú)爭(zhēng)用正常 CAN 運(yùn)行

通常每次只有一個(gè)節(jié)點(diǎn)要通過共用 CAN 總線通信。沒有一般性損耗的情況下,我們來討論一種二節(jié)點(diǎn)網(wǎng)絡(luò),然后再將這種討論延伸至更多節(jié)點(diǎn)。圖 1 描述了其工作原理。首先,兩個(gè)節(jié)點(diǎn)都處于非占用狀態(tài),因此總線上沒有差動(dòng)信號(hào),如(1a)所示。如果節(jié)點(diǎn) A 開始通信,則其使用一個(gè)占用位啟動(dòng)一個(gè) CAN 消息。向 CAN 收發(fā)器發(fā)送的傳輸數(shù)據(jù) (TXD) 輸入是一個(gè)邏輯 0,其命令差動(dòng)驅(qū)動(dòng)器在總線線路上生成一個(gè)差動(dòng)信號(hào),如(1b)所示。節(jié)點(diǎn) A 的接收機(jī)感應(yīng)到該差動(dòng)信號(hào),并在已接收數(shù)據(jù)引腳 (RXD) 上輸出一個(gè)邏輯 0。差動(dòng)電壓根據(jù) (1c) 和(1d) 所示雙絞線對(duì)的傳輸線路屬性進(jìn)行傳輸。最終,差動(dòng)信號(hào)到達(dá)節(jié)點(diǎn) B,節(jié)點(diǎn) B 的接收機(jī)也在 RXD 上輸出一個(gè)邏輯 0,如 (1e) 所示。這時(shí),節(jié)點(diǎn) B 注意到節(jié)點(diǎn) A 已經(jīng)開始一個(gè) CAN 消息,這樣節(jié)點(diǎn) B 便不會(huì)在節(jié)點(diǎn) A 完成以前發(fā)起消息。



圖 1 A 到 B 的正常信號(hào)傳輸

需要注意的是,節(jié)點(diǎn) B 并非馬上就知道節(jié)點(diǎn) A 已經(jīng)開始一條消息,因?yàn)閺?A 到 B 的信號(hào)具有一定的延遲。這種情況下的總延遲為通過 A 處收發(fā)器(以及相關(guān)的隔離和緩沖電路)的延遲加上通過的傳輸延遲,再加上 B 處收發(fā)器、隔離和緩沖電路的延遲的總和。乍一看,似乎這種單向延遲就是確保節(jié)點(diǎn) B 不同節(jié)點(diǎn) A 發(fā)送消息相沖突所需的關(guān)鍵計(jì)時(shí)限制。正如我們?cè)谇闆r 2 中所看到的一樣,這并非故事的全部。

情況 2:延遲爭(zhēng)用,后發(fā)消息具有更高的優(yōu)先級(jí)

我們的下一種情況(圖 2)假設(shè),節(jié)點(diǎn) A 再次發(fā)起一條消息,但是節(jié)點(diǎn) B 在稍后發(fā)起的一條消息具有更高的優(yōu)先級(jí)。如前所述,這種情況以兩個(gè)節(jié)點(diǎn)均處在非占用模式作為開始,如 (2a 所示,隨后節(jié)點(diǎn) A 變?yōu)檎加茫ㄈ纾?b)所示)發(fā)起一條消息。該占用差動(dòng)電壓再次沿傳輸。在信號(hào)到達(dá) B 處的收發(fā)器以前,該節(jié)點(diǎn)剛好利用如(2c)所示占用位發(fā)起一條消息。這時(shí),兩個(gè)節(jié)點(diǎn)都正傳輸一個(gè)占用位,并且兩個(gè)節(jié)點(diǎn)都正接收一個(gè)占用位(如(2d)所示),然后兩個(gè)節(jié)點(diǎn)都沒意識(shí)到另一個(gè)節(jié)點(diǎn)也已啟用。由于在我們的假設(shè)情況中,節(jié)點(diǎn) A 具有比節(jié)點(diǎn) B 更低的優(yōu)先級(jí),因此有時(shí)節(jié)點(diǎn) A 會(huì)通過將其 TXD 設(shè)置為 0(如(2e)所示)來發(fā)出一個(gè)非占用位。但是,由于節(jié)點(diǎn) B 的作用,RXD 會(huì)感應(yīng)到總線仍然處在占用狀態(tài)下。



圖 2 延遲爭(zhēng)用—B 具有高優(yōu)先級(jí)

通過研究某個(gè)具有實(shí)際延遲值的假設(shè)案例,我們可以更加具體地介紹這些計(jì)時(shí)要求。在我們的二節(jié)點(diǎn)例子中,設(shè)定總單向延遲為 200ns,信號(hào)傳輸速率為 1Mbps,也就是 ISO 11898-2 標(biāo)準(zhǔn)規(guī)定的最大值。這樣,位時(shí)間便為 1000ns。除節(jié)點(diǎn) B 的第二位會(huì)是同節(jié)點(diǎn) A 的消息優(yōu)先級(jí)匹配的 0(非占用)以外,其同情況 2 所述一樣。(情況 2 中,節(jié)點(diǎn) B 具有一個(gè)占用第二位,表明更高的消息優(yōu)先級(jí)。)

圖 3 中,節(jié)點(diǎn) A 在時(shí)間 t=0 時(shí)開始一條消息,從而在總線(b)上傳輸一個(gè)占用位。如圖 2 所示,其可能出現(xiàn)的情況是,節(jié)點(diǎn) B 剛好在節(jié)點(diǎn) A 的信號(hào)被接收到以前(c)開始發(fā)送,也即時(shí)間t=199ns。當(dāng)時(shí)間 t=1000ns 的第二位開始之初,在節(jié)點(diǎn) A 轉(zhuǎn)到非占用狀態(tài)以前兩個(gè)節(jié)點(diǎn)都沒意識(shí)到對(duì)方的有效性。然后,節(jié)點(diǎn) B 在時(shí)間 t=1199ns 的第二位開始之初,轉(zhuǎn)到非占用狀態(tài)。另一個(gè)單向延遲以后,該非占用信號(hào)到達(dá)節(jié)點(diǎn)A,時(shí)間 t=1399ns。只有在這時(shí),節(jié)點(diǎn) A 才讀取 RXD 信號(hào),并且可以確定其代表網(wǎng)絡(luò)的真實(shí)狀態(tài)。



圖 3 延遲爭(zhēng)用—節(jié)點(diǎn) A 和 B 具有相同的優(yōu)先級(jí)

注意,只通過等到兩倍單向延遲(或者相當(dāng)于總雙向傳輸時(shí)間)節(jié)點(diǎn)A才能判別這種情況,其中節(jié)點(diǎn) A 和 B 的消息具有相同的優(yōu)先級(jí)(情況 3),以及節(jié)點(diǎn) B 的消息擁有更高的優(yōu)先級(jí)。由于 CAN 協(xié)議固有的逐位仲裁機(jī)制,這種雙向延遲必須較好地位于一個(gè)位時(shí)間預(yù)算范圍內(nèi),也即 1000ns。否則,在第二個(gè)位仲裁完成以前,節(jié)點(diǎn) A 就可能開始傳送其第三個(gè)位。

信號(hào)傳輸速率及線纜長(zhǎng)度限制

我們知道雙向延遲至關(guān)重要,CAN 定義可編程傳輸延遲 (PROP_SEG) 為每個(gè)位的組成部分,以保證每個(gè)節(jié)點(diǎn)在對(duì)總線數(shù)據(jù)采樣以前都確實(shí)等待足夠長(zhǎng)的時(shí)間。PROP_SEG 的計(jì)算涉及雙向延遲和本地系統(tǒng)時(shí)鐘頻率相關(guān)知識(shí),其超出了本文的討論范圍。實(shí)際上,PROP_SEG 將采樣點(diǎn)規(guī)定在約總位時(shí)間的 5/6 或者更低以照顧其他段,這樣雙向延遲便被規(guī)定為位時(shí)間的一小段。

CAN 標(biāo)準(zhǔn)規(guī)定,線纜為 5ns 每米傳輸延遲,1Mbps 信號(hào)速率時(shí)最大線纜長(zhǎng)度為 40 米。位時(shí)間為 1000ns 時(shí),最遲采樣點(diǎn)(由PROP_SEG設(shè)定)約為 850ns。線纜本身具有 200ns 的單向延遲(即 400ns 雙向延遲),從而使收發(fā)器和相關(guān)電路的總延遲只剩約 450ns。

CAN 收發(fā)器的制造商通常規(guī)定“環(huán)路延遲”,其包括驅(qū)動(dòng)器和接收機(jī)延遲。由于雙向計(jì)算中涉及兩個(gè)收發(fā)器,因此每個(gè)收發(fā)器都應(yīng)有 225ns 或者更低的環(huán)路延遲,以支持 1Mbps 信號(hào)速率下 40 米的總線長(zhǎng)度。如果收發(fā)器電路包括更多的組件,例如:隔離、電壓電平轉(zhuǎn)換或保護(hù)組件,則這些組件產(chǎn)生的延遲必須也包括在總延遲預(yù)算中。甚至,高速光耦合器一般具有 40ns 或更長(zhǎng)的單向延遲,而全部雙向信號(hào)都必須通過四個(gè)光耦合器。這就極大地縮短了使用光隔離 CAN 系統(tǒng)的容許線纜長(zhǎng)度(即增加了位時(shí)間)。1Mbps 條件下,即使快速光耦合器的延遲也會(huì)縮短容許線纜長(zhǎng)度,計(jì)算方法如方程式 1:



下面顯示了信號(hào)速率和線纜長(zhǎng)度之間的權(quán)衡因素,以及收發(fā)器延遲帶來的影響。收發(fā)器帶來的延遲(包括相關(guān)隔離、電平轉(zhuǎn)換和保護(hù))對(duì)于 500 kbps 及以上的信號(hào)速率特別明顯。



圖 4 收發(fā)器延遲影響信號(hào)速率和線纜長(zhǎng)度的權(quán)衡(點(diǎn)擊圖片放大)

在單個(gè)封裝(ISO1050)中的高速 CAN 收發(fā)器集成 SiO2 隔離現(xiàn)已上市。利用低于 210ns 的極限總環(huán)路延遲(包括驅(qū)動(dòng)器、接收機(jī)和兩個(gè)隔離信道?。?,您可以減少雙向環(huán)路延遲,并簡(jiǎn)化您隔離式 CAN 解決方案的系統(tǒng)計(jì)時(shí)和設(shè)計(jì)。您還可以執(zhí)行一個(gè)電平轉(zhuǎn)換功能,將一個(gè) 3.3V 控制器的電壓轉(zhuǎn)換至 5V CAN 收發(fā)器,無(wú)需更多的延遲。

當(dāng)然,在進(jìn)行信號(hào)速率和線纜長(zhǎng)度相關(guān)性能優(yōu)化設(shè)計(jì)時(shí)還存在其他一些問題。網(wǎng)絡(luò)的傳輸線路效應(yīng)表明,負(fù)載、節(jié)點(diǎn)到節(jié)點(diǎn)間隔和短截線長(zhǎng)度對(duì)系統(tǒng)的信號(hào)保真度和抗干擾性都很重要。本文結(jié)尾列舉了較好的參考文獻(xiàn)。

實(shí)驗(yàn)室數(shù)據(jù)例子

為了說明這些概念,可建立一個(gè)帶有兩個(gè)隔離 CAN 節(jié)點(diǎn)和 50 米線纜的實(shí)驗(yàn)室裝置。我們預(yù)計(jì)單向線纜延遲為 250ns,隔離收發(fā)器環(huán)路延遲約為 150ns,即 ISO1050 標(biāo)準(zhǔn)的典型值。因此,節(jié)點(diǎn) A 的采樣點(diǎn)應(yīng)約為比特開始以后的 800ns,如圖 5 所示。



圖 5 50 米線纜的 1 Mbps CAN 信號(hào)速率(點(diǎn)擊圖片放大)

就 1Mbps 信號(hào)速率而言,在該比特結(jié)束以前,采樣點(diǎn)留有足夠的裕量,其表明使用快速收發(fā)器,40 米以上的線纜長(zhǎng)度是可行的。

總結(jié)

廣大設(shè)計(jì)人員正在各種應(yīng)用中使用 CAN 通信,他們需要了解計(jì)時(shí)限制和線纜長(zhǎng)度權(quán)衡方法。信號(hào)鏈中每個(gè)組件都會(huì)影響總計(jì)時(shí)預(yù)算,同時(shí)必須考慮雙向延遲以確??煽康耐ㄐ?。使用如 ISO1050 等快速收發(fā)器可保證 CAN 信號(hào)按時(shí)完成雙向傳輸,只有比 Pecos Bill 更快才能游過墨西哥灣。

本文引用地址:http://butianyuan.cn/article/201706/353287.htm

發(fā)布者:小宇



關(guān)鍵詞: 線纜 CAN 總線

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉